ZGlmZiAtLWdpdCBhL0luYy9MZWdhY3kvc3RtMzJfaGFsX2xlZ2FjeS5oIGIvSW5jL0xlZ2FjeS9zdG0zMl9oYWxfbGVnYWN5LmgKaW5kZXggNDhhZmY1NS4uOTM0ZjFmOSAxMDA2NDQKLS0tIGEvSW5jL0xlZ2FjeS9zdG0zMl9oYWxfbGVnYWN5LmgKKysrIGIvSW5jL0xlZ2FjeS9zdG0zMl9oYWxfbGVnYWN5LmgKQEAgLTM3LDE0ICszNywxNiBAQAogI2RlZmluZSBBRVNfQ0xFQVJGTEFHX0NDRiAgICAgICAgICAgICAgIENSWVBfQ0xFQVJGTEFHX0NDRgogI2RlZmluZSBBRVNfQ0xFQVJGTEFHX1JERVJSICAgICAgICAgICAgIENSWVBfQ0xFQVJGTEFHX1JERVJSCiAjZGVmaW5lIEFFU19DTEVBUkZMQUdfV1JFUlIgICAgICAgICAgICAgQ1JZUF9DTEVBUkZMQUdfV1JFUlIKLSNpZiBkZWZpbmVkKFNUTTMyVTUpCisjaWYgZGVmaW5lZChTVE0zMlU1KSB8fCBkZWZpbmVkKFNUTTMySDcpIHx8IGRlZmluZWQoU1RNMzJNUDEpCiAjZGVmaW5lIENSWVBfREFUQVRZUEVfMzJCICAgICAgICAgICAgICAgQ1JZUF9OT19TV0FQCiAjZGVmaW5lIENSWVBfREFUQVRZUEVfMTZCICAgICAgICAgICAgICAgQ1JZUF9IQUxGV09SRF9TV0FQCiAjZGVmaW5lIENSWVBfREFUQVRZUEVfOEIgICAgICAgICAgICAgICAgQ1JZUF9CWVRFX1NXQVAKICNkZWZpbmUgQ1JZUF9EQVRBVFlQRV8xQiAgICAgICAgICAgICAgICBDUllQX0JJVF9TV0FQCisjaWYgZGVmaW5lZChTVE0zMlU1KQogI2RlZmluZSBDUllQX0NDRl9DTEVBUiAgICAgICAgICAgICAgICAgIENSWVBfQ0xFQVJfQ0NGCiAjZGVmaW5lIENSWVBfRVJSX0NMRUFSICAgICAgICAgICAgICAgICAgQ1JZUF9DTEVBUl9SV0VJRgogI2VuZGlmIC8qIFNUTTMyVTUgKi8KKyNlbmRpZiAvKiBTVE0zMlU1IHx8IFNUTTMySDcgfHwgU1RNMzJNUDEgKi8KIC8qKgogICAqIEB9CiAgICovCkBAIC0xMDQsNiArMTA2LDEzIEBACiAjaWYgZGVmaW5lZChTVE0zMkg3KQogI2RlZmluZSBBRENfQ0hBTk5FTF9WQkFUX0RJVjQgICAgICAgICAgIEFEQ19DSEFOTkVMX1ZCQVQKICNlbmRpZiAvKiBTVE0zMkg3ICovCisKKyNpZiBkZWZpbmVkKFNUTTMyVTUpCisjZGVmaW5lIEFEQ19TQU1QTEVUSU1FXzVDWUNMRSAgICAgICAgICAgQURDX1NBTVBMRVRJTUVfNUNZQ0xFUworI2RlZmluZSBBRENfU0FNUExFVElNRV8zOTFDWUNMRVNfNSAgICAgIEFEQ19TQU1QTEVUSU1FXzM5MUNZQ0xFUworI2RlZmluZSBBREM0X1NBTVBMRVRJTUVfMTYwQ1lDTEVTXzUgICAgIEFEQzRfU0FNUExFVElNRV84MTRDWUNMRVNfNQorI2VuZGlmIC8qIFNUTTMyVTUgKi8KKwogLyoqCiAgICogQH0KICAgKi8KQEAgLTIyNSw4ICsyMzQsMTEgQEAKIC8qKiBAZGVmZ3JvdXAgQ1JDX0FsaWFzZXMgQ1JDIEFQSSBhbGlhc2VzCiAgICogQHsKICAgKi8KKyNpZiBkZWZpbmVkKFNUTTMyQzApCisjZWxzZQogI2RlZmluZSBIQUxfQ1JDX0lucHV0X0RhdGFfUmV2ZXJzZSAgIEhBTF9DUkNFeF9JbnB1dF9EYXRhX1JldmVyc2UgICAgLyohPCBBbGlhc2VkIHRvIEhBTF9DUkNFeF9JbnB1dF9EYXRhX1JldmVyc2UgZm9yIGludGVyIFNUTTMyIHNlcmllcyBjb21wYXRpYmlsaXR5ICAqLwogI2RlZmluZSBIQUxfQ1JDX091dHB1dF9EYXRhX1JldmVyc2UgIEhBTF9DUkNFeF9PdXRwdXRfRGF0YV9SZXZlcnNlICAgLyohPCBBbGlhc2VkIHRvIEhBTF9DUkNFeF9PdXRwdXRfRGF0YV9SZXZlcnNlIGZvciBpbnRlciBTVE0zMiBzZXJpZXMgY29tcGF0aWJpbGl0eSAqLworI2VuZGlmCiAvKioKICAgKiBAfQogICAqLwpAQCAtNDEwLDYgKzQyMiwxMCBAQAogI2RlZmluZSBEQUNfVFJJR0dFUl9MUDJfT1VUICAgICAgICAgICAgICAgICAgICAgICAgREFDX1RSSUdHRVJfTFBUSU0yX09VVAogCiAjZW5kaWYgLyogU1RNMzJINyAqLworCisjaWYgZGVmaW5lZChTVE0zMlU1KQorI2RlZmluZSBHUERNQTFfUkVRVUVTVF9EQ01JICAgICAgICAgICAgICAgICAgICAgICAgR1BETUExX1JFUVVFU1RfRENNSV9QU1NJCisjZW5kaWYgLyogU1RNMzJVNSAqLwogLyoqCiAgICogQH0KICAgKi8KQEAgLTQ4OSw3ICs1MDUsNyBAQAogI2RlZmluZSBPQl9SRFBfTEVWRUwwICAgICAgICAgICAgICAgICBPQl9SRFBfTEVWRUxfMAogI2RlZmluZSBPQl9SRFBfTEVWRUwxICAgICAgICAgICAgICAgICBPQl9SRFBfTEVWRUxfMQogI2RlZmluZSBPQl9SRFBfTEVWRUwyICAgICAgICAgICAgICAgICBPQl9SRFBfTEVWRUxfMgotI2lmIGRlZmluZWQoU1RNMzJHMCkKKyNpZiBkZWZpbmVkKFNUTTMyRzApIHx8IGRlZmluZWQoU1RNMzJDMCkKICNkZWZpbmUgT0JfQk9PVF9MT0NLX0RJU0FCTEUgICAgICAgICAgT0JfQk9PVF9FTlRSWV9GT1JDRURfTk9ORQogI2RlZmluZSBPQl9CT09UX0xPQ0tfRU5BQkxFICAgICAgICAgICBPQl9CT09UX0VOVFJZX0ZPUkNFRF9GTEFTSAogI2Vsc2UKQEAgLTY1Nyw2ICs2NzMsMTAgQEAKICNpZiBkZWZpbmVkKFNUTTMyVTUpCiAjZGVmaW5lIEdQSU9fQUYwX1JUQ181MEh6ICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQUYwX1JUQ181MEhaCiAjZW5kaWYgLyogU1RNMzJVNSAqLworI2lmIGRlZmluZWQoU1RNMzJVNSkKKyNkZWZpbmUgR1BJT19BRjBfUzJEU1RPUCAgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19BRjBfU1JEU1RPUAorI2RlZmluZSBHUElPX0FGMTFfTFBHUElPICAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0FGMTFfTFBHUElPMQorI2VuZGlmIC8qIFNUTTMyVTUgKi8KIC8qKgogICAqIEB9CiAgICovCkBAIC0xMDY5LDggKzEwODksOCBAQAogI2RlZmluZSBSVENfVEFNUEVSMV8yXzNfSU5URVJSVVBUICAgICAgIFJUQ19BTExfVEFNUEVSX0lOVEVSUlVQVAogCiAjZGVmaW5lIFJUQ19USU1FU1RBTVBQSU5fUEMxMyAgUlRDX1RJTUVTVEFNUFBJTl9ERUZBVUxUCi0jZGVmaW5lIFJUQ19USU1FU1RBTVBQSU5fUEEwIFJUQ19USU1FU1RBTVBQSU5fUE9TMQotI2RlZmluZSBSVENfVElNRVNUQU1QUElOX1BJOCBSVENfVElNRVNUQU1QUElOX1BPUzEKKyNkZWZpbmUgUlRDX1RJTUVTVEFNUFBJTl9QQTAgICBSVENfVElNRVNUQU1QUElOX1BPUzEKKyNkZWZpbmUgUlRDX1RJTUVTVEFNUFBJTl9QSTggICBSVENfVElNRVNUQU1QUElOX1BPUzEKICNkZWZpbmUgUlRDX1RJTUVTVEFNUFBJTl9QQzEgICBSVENfVElNRVNUQU1QUElOX1BPUzIKIAogI2RlZmluZSBSVENfT1VUUFVUX1JFTUFQX1BDMTMgIFJUQ19PVVRQVVRfUkVNQVBfTk9ORQpAQCAtMTA4MSwxNSArMTEwMSwyMiBAQAogI2RlZmluZSBSVENfVEFNUEVSUElOX1BBMCAgUlRDX1RBTVBFUlBJTl9QT1MxCiAjZGVmaW5lIFJUQ19UQU1QRVJQSU5fUEk4ICBSVENfVEFNUEVSUElOX1BPUzEKIAorI2lmIGRlZmluZWQoU1RNMzJGNykKKyNkZWZpbmUgUlRDX1RBTVBDUl9UQU1QWEUgICAgICAgICAgUlRDX1RBTVBFUl9FTkFCTEVfQklUU19NQVNLCisjZGVmaW5lIFJUQ19UQU1QQ1JfVEFNUFhJRSAgICAgICAgIFJUQ19UQU1QRVJfSVRfRU5BQkxFX0JJVFNfTUFTSworI2VuZGlmIC8qIFNUTTMyRjcgKi8KKwogI2lmIGRlZmluZWQoU1RNMzJINykKICNkZWZpbmUgUlRDX1RBTVBDUl9UQU1QWEUgICAgICAgICAgUlRDX1RBTVBFUl9YCiAjZGVmaW5lIFJUQ19UQU1QQ1JfVEFNUFhJRSAgICAgICAgIFJUQ19UQU1QRVJfWF9JTlRFUlJVUFQKKyNlbmRpZiAvKiBTVE0zMkg3ICovCiAKKyNpZiBkZWZpbmVkKFNUTTMyRjcpIHx8IGRlZmluZWQoU1RNMzJINykKICNkZWZpbmUgUlRDX1RBTVBFUjFfSU5URVJSVVBUICAgICAgUlRDX0lUX1RBTVAxCiAjZGVmaW5lIFJUQ19UQU1QRVIyX0lOVEVSUlVQVCAgICAgIFJUQ19JVF9UQU1QMgogI2RlZmluZSBSVENfVEFNUEVSM19JTlRFUlJVUFQgICAgICBSVENfSVRfVEFNUDMKLSNkZWZpbmUgUlRDX0FMTF9UQU1QRVJfSU5URVJSVVBUICAgUlRDX0lUX1RBTVBBTEwKLSNlbmRpZiAvKiBTVE0zMkg3ICovCisjZGVmaW5lIFJUQ19BTExfVEFNUEVSX0lOVEVSUlVQVCAgIFJUQ19JVF9UQU1QCisjZW5kaWYgLyogU1RNMzJGNyB8fCBTVE0zMkg3ICovCiAKIC8qKgogICAqIEB9CkBAIC0xNjkwLDYgKzE3MTcsNzkgQEAKIAogI2RlZmluZSBQV1JfTU9ERV9FVlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX1BWRF9NT0RFX05PUk1BTAogCisjaWYgZGVmaW5lZCAoU1RNMzJVNSkKKyNkZWZpbmUgUFdSX1NSQU0xX1BBR0UxX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgIFBXUl9TUkFNMV9QQUdFMV9TVE9QCisjZGVmaW5lIFBXUl9TUkFNMV9QQUdFMl9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICBQV1JfU1JBTTFfUEFHRTJfU1RPUAorI2RlZmluZSBQV1JfU1JBTTFfUEFHRTNfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICAgUFdSX1NSQU0xX1BBR0UzX1NUT1AKKyNkZWZpbmUgUFdSX1NSQU0xX1BBR0U0X1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgIFBXUl9TUkFNMV9QQUdFNF9TVE9QCisjZGVmaW5lIFBXUl9TUkFNMV9QQUdFNV9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICBQV1JfU1JBTTFfUEFHRTVfU1RPUAorI2RlZmluZSBQV1JfU1JBTTFfUEFHRTZfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICAgUFdSX1NSQU0xX1BBR0U2X1NUT1AKKyNkZWZpbmUgUFdSX1NSQU0xX1BBR0U3X1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgIFBXUl9TUkFNMV9QQUdFN19TVE9QCisjZGVmaW5lIFBXUl9TUkFNMV9QQUdFOF9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICBQV1JfU1JBTTFfUEFHRThfU1RPUAorI2RlZmluZSBQV1JfU1JBTTFfUEFHRTlfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICAgUFdSX1NSQU0xX1BBR0U5X1NUT1AKKyNkZWZpbmUgUFdSX1NSQU0xX1BBR0UxMF9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgIFBXUl9TUkFNMV9QQUdFMTBfU1RPUAorI2RlZmluZSBQV1JfU1JBTTFfUEFHRTExX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgUFdSX1NSQU0xX1BBR0UxMV9TVE9QCisjZGVmaW5lIFBXUl9TUkFNMV9QQUdFMTJfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICBQV1JfU1JBTTFfUEFHRTEyX1NUT1AKKyNkZWZpbmUgUFdSX1NSQU0xX0ZVTExfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICAgIFBXUl9TUkFNMV9GVUxMX1NUT1AKKworI2RlZmluZSBQV1JfU1JBTTJfUEFHRTFfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICAgUFdSX1NSQU0yX1BBR0UxX1NUT1AKKyNkZWZpbmUgUFdSX1NSQU0yX1BBR0UyX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgIFBXUl9TUkFNMl9QQUdFMl9TVE9QCisjZGVmaW5lIFBXUl9TUkFNMl9GVUxMX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgICBQV1JfU1JBTTJfRlVMTF9TVE9QCisKKyNkZWZpbmUgUFdSX1NSQU0zX1BBR0UxX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgIFBXUl9TUkFNM19QQUdFMV9TVE9QCisjZGVmaW5lIFBXUl9TUkFNM19QQUdFMl9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICBQV1JfU1JBTTNfUEFHRTJfU1RPUAorI2RlZmluZSBQV1JfU1JBTTNfUEFHRTNfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICAgUFdSX1NSQU0zX1BBR0UzX1NUT1AKKyNkZWZpbmUgUFdSX1NSQU0zX1BBR0U0X1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgIFBXUl9TUkFNM19QQUdFNF9TVE9QCisjZGVmaW5lIFBXUl9TUkFNM19QQUdFNV9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICBQV1JfU1JBTTNfUEFHRTVfU1RPUAorI2RlZmluZSBQV1JfU1JBTTNfUEFHRTZfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICAgUFdSX1NSQU0zX1BBR0U2X1NUT1AKKyNkZWZpbmUgUFdSX1NSQU0zX1BBR0U3X1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgIFBXUl9TUkFNM19QQUdFN19TVE9QCisjZGVmaW5lIFBXUl9TUkFNM19QQUdFOF9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICBQV1JfU1JBTTNfUEFHRThfU1RPUAorI2RlZmluZSBQV1JfU1JBTTNfUEFHRTlfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICAgUFdSX1NSQU0zX1BBR0U5X1NUT1AKKyNkZWZpbmUgUFdSX1NSQU0zX1BBR0UxMF9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgIFBXUl9TUkFNM19QQUdFMTBfU1RPUAorI2RlZmluZSBQV1JfU1JBTTNfUEFHRTExX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgUFdSX1NSQU0zX1BBR0UxMV9TVE9QCisjZGVmaW5lIFBXUl9TUkFNM19QQUdFMTJfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICBQV1JfU1JBTTNfUEFHRTEyX1NUT1AKKyNkZWZpbmUgUFdSX1NSQU0zX1BBR0UxM19TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgIFBXUl9TUkFNM19QQUdFMTNfU1RPUAorI2RlZmluZSBQV1JfU1JBTTNfRlVMTF9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICAgUFdSX1NSQU0zX0ZVTExfU1RPUAorCisjZGVmaW5lIFBXUl9TUkFNNF9GVUxMX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgICBQV1JfU1JBTTRfRlVMTF9TVE9QCisKKyNkZWZpbmUgUFdSX1NSQU01X1BBR0UxX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgIFBXUl9TUkFNNV9QQUdFMV9TVE9QCisjZGVmaW5lIFBXUl9TUkFNNV9QQUdFMl9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICBQV1JfU1JBTTVfUEFHRTJfU1RPUAorI2RlZmluZSBQV1JfU1JBTTVfUEFHRTNfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICAgUFdSX1NSQU01X1BBR0UzX1NUT1AKKyNkZWZpbmUgUFdSX1NSQU01X1BBR0U0X1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgIFBXUl9TUkFNNV9QQUdFNF9TVE9QCisjZGVmaW5lIFBXUl9TUkFNNV9QQUdFNV9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICBQV1JfU1JBTTVfUEFHRTVfU1RPUAorI2RlZmluZSBQV1JfU1JBTTVfUEFHRTZfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICAgUFdSX1NSQU01X1BBR0U2X1NUT1AKKyNkZWZpbmUgUFdSX1NSQU01X1BBR0U3X1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgIFBXUl9TUkFNNV9QQUdFN19TVE9QCisjZGVmaW5lIFBXUl9TUkFNNV9QQUdFOF9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICBQV1JfU1JBTTVfUEFHRThfU1RPUAorI2RlZmluZSBQV1JfU1JBTTVfUEFHRTlfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICAgUFdSX1NSQU01X1BBR0U5X1NUT1AKKyNkZWZpbmUgUFdSX1NSQU01X1BBR0UxMF9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgIFBXUl9TUkFNNV9QQUdFMTBfU1RPUAorI2RlZmluZSBQV1JfU1JBTTVfUEFHRTExX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgUFdSX1NSQU01X1BBR0UxMV9TVE9QCisjZGVmaW5lIFBXUl9TUkFNNV9QQUdFMTJfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICBQV1JfU1JBTTVfUEFHRTEyX1NUT1AKKyNkZWZpbmUgUFdSX1NSQU01X1BBR0UxM19TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgIFBXUl9TUkFNNV9QQUdFMTNfU1RPUAorI2RlZmluZSBQV1JfU1JBTTVfRlVMTF9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICAgUFdSX1NSQU01X0ZVTExfU1RPUAorCisjZGVmaW5lIFBXUl9JQ0FDSEVfRlVMTF9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICBQV1JfSUNBQ0hFX0ZVTExfU1RPUAorI2RlZmluZSBQV1JfRENBQ0hFMV9GVUxMX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgUFdSX0RDQUNIRTFfRlVMTF9TVE9QCisjZGVmaW5lIFBXUl9EQ0FDSEUyX0ZVTExfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICBQV1JfRENBQ0hFMl9GVUxMX1NUT1AKKyNkZWZpbmUgUFdSX0RNQTJEUkFNX0ZVTExfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgIFBXUl9ETUEyRFJBTV9GVUxMX1NUT1AKKyNkZWZpbmUgUFdSX1BFUklQSFJBTV9GVUxMX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgIFBXUl9QRVJJUEhSQU1fRlVMTF9TVE9QCisjZGVmaW5lIFBXUl9QS0EzMlJBTV9GVUxMX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICBQV1JfUEtBMzJSQU1fRlVMTF9TVE9QCisjZGVmaW5lIFBXUl9HUkFQSElDUFJBTV9GVUxMX1NUT1BfUkVURU5USU9OICAgICAgICAgICBQV1JfR1JBUEhJQ1BSQU1fRlVMTF9TVE9QCisjZGVmaW5lIFBXUl9EU0lSQU1fRlVMTF9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICBQV1JfRFNJUkFNX0ZVTExfU1RPUAorCisjZGVmaW5lIFBXUl9TUkFNMl9QQUdFMV9TVEFOREJZX1JFVEVOVElPTiAgICAgICAgICAgICBQV1JfU1JBTTJfUEFHRTFfU1RBTkRCWQorI2RlZmluZSBQV1JfU1JBTTJfUEFHRTJfU1RBTkRCWV9SRVRFTlRJT04gICAgICAgICAgICAgUFdSX1NSQU0yX1BBR0UyX1NUQU5EQlkKKyNkZWZpbmUgUFdSX1NSQU0yX0ZVTExfU1RBTkRCWV9SRVRFTlRJT04gICAgICAgICAgICAgIFBXUl9TUkFNMl9GVUxMX1NUQU5EQlkKKworI2RlZmluZSBQV1JfU1JBTTFfRlVMTF9SVU5fUkVURU5USU9OICAgICAgICAgICAgICAgICAgUFdSX1NSQU0xX0ZVTExfUlVOCisjZGVmaW5lIFBXUl9TUkFNMl9GVUxMX1JVTl9SRVRFTlRJT04gICAgICAgICAgICAgICAgICBQV1JfU1JBTTJfRlVMTF9SVU4KKyNkZWZpbmUgUFdSX1NSQU0zX0ZVTExfUlVOX1JFVEVOVElPTiAgICAgICAgICAgICAgICAgIFBXUl9TUkFNM19GVUxMX1JVTgorI2RlZmluZSBQV1JfU1JBTTRfRlVMTF9SVU5fUkVURU5USU9OICAgICAgICAgICAgICAgICAgUFdSX1NSQU00X0ZVTExfUlVOCisjZGVmaW5lIFBXUl9TUkFNNV9GVUxMX1JVTl9SRVRFTlRJT04gICAgICAgICAgICAgICAgICBQV1JfU1JBTTVfRlVMTF9SVU4KKworI2RlZmluZSBQV1JfQUxMX1JBTV9SVU5fUkVURU5USU9OX01BU0sgICAgICAgICAgICAgICAgUFdSX0FMTF9SQU1fUlVOX01BU0sKKyNlbmRpZgorCiAvKioKICAgKiBAfQogICovCkBAIC0zMzIzLDcgKzM0MjMsNyBAQAogI2RlZmluZSBSQ0NfTUNPU09VUkNFX1BMTENMS19OT0RJViAgUkNDX01DTzFTT1VSQ0VfUExMQ0xLCiAjZGVmaW5lIFJDQ19NQ09TT1VSQ0VfUExMQ0xLX0RJVjIgICBSQ0NfTUNPMVNPVVJDRV9QTExDTEtfRElWMgogCi0jaWYgZGVmaW5lZChTVE0zMkw0KSB8fCBkZWZpbmVkKFNUTTMyV0IpIHx8IGRlZmluZWQoU1RNMzJHMCkgfHwgZGVmaW5lZChTVE0zMkc0KSB8fCBkZWZpbmVkKFNUTTMyTDUpIHx8IGRlZmluZWQoU1RNMzJXTCkKKyNpZiBkZWZpbmVkKFNUTTMyTDQpIHx8IGRlZmluZWQoU1RNMzJXQikgfHwgZGVmaW5lZChTVE0zMkcwKSB8fCBkZWZpbmVkKFNUTTMyRzQpIHx8IGRlZmluZWQoU1RNMzJMNSkgfHwgZGVmaW5lZChTVE0zMldMKSB8fCBkZWZpbmVkKFNUTTMyQzApCiAjZGVmaW5lIFJDQ19SVENDTEtTT1VSQ0VfTk9fQ0xLICAgICBSQ0NfUlRDQ0xLU09VUkNFX05PTkUKICNlbHNlCiAjZGVmaW5lIFJDQ19SVENDTEtTT1VSQ0VfTk9ORSAgICAgICBSQ0NfUlRDQ0xLU09VUkNFX05PX0NMSwpAQCAtMzQzNiw4ICszNTM2LDggQEAKICNkZWZpbmUgUkNDX0RGU0RNMkNMS1NPVVJDRV9BUEIyICAgICAgICAgICAgUkNDX0RGU0RNMkNMS1NPVVJDRV9QQ0xLMgogI2RlZmluZSBSQ0NfRk1QSTJDMUNMS1NPVVJDRV9BUEIgICAgICAgICAgICBSQ0NfRk1QSTJDMUNMS1NPVVJDRV9QQ0xLMQogI2lmIGRlZmluZWQoU1RNMzJVNSkKLSNkZWZpbmUgTVNJS1BMTE1vZGVTRUwgIFJDQ19NU0lLUExMX01PREVfU0VMCi0jZGVmaW5lIE1TSVNQTExNb2RlU0VMICBSQ0NfTVNJU1BMTF9NT0RFX1NFTAorI2RlZmluZSBNU0lLUExMTW9kZVNFTCAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19NU0lLUExMX01PREVfU0VMCisjZGVmaW5lIE1TSVNQTExNb2RlU0VMICAgICAgICAgICAgICAgICAgICAgICAgUkNDX01TSVNQTExfTU9ERV9TRUwKICNkZWZpbmUgX19IQUxfUkNDX0FIQjIxX0NMS19ESVNBQkxFICAgICAgICAgICBfX0hBTF9SQ0NfQUhCMl8xX0NMS19ESVNBQkxFCiAjZGVmaW5lIF9fSEFMX1JDQ19BSEIyMl9DTEtfRElTQUJMRSAgICAgICAgICAgX19IQUxfUkNDX0FIQjJfMl9DTEtfRElTQUJMRQogI2RlZmluZSBfX0hBTF9SQ0NfQUhCMV9DTEtfRGlzYWJsZV9DbGVhciAgICAgIF9fSEFMX1JDQ19BSEIxX0NMS19FTkFCTEUKQEAgLTM0NTMsMTMgKzM1NTMsMjAgQEAKICNkZWZpbmUgUkNDX0NMSzQ4Q0xLU09VUkNFX1BMTDIgICAgICAgICAgICAgICBSQ0NfSUNMS19DTEtTT1VSQ0VfUExMMgogI2RlZmluZSBSQ0NfQ0xLNDhDTEtTT1VSQ0VfUExMMSAgICAgICAgICAgICAgIFJDQ19JQ0xLX0NMS1NPVVJDRV9QTEwxCiAjZGVmaW5lIFJDQ19DTEs0OENMS1NPVVJDRV9NU0lLICAgICAgICAgICAgICAgUkNDX0lDTEtfQ0xLU09VUkNFX01TSUsKLSNkZWZpbmUgX19IQUxfUkNDX0FEQzFfQ0xLX0VOQUJMRSAgICAgICAgICAgIF9fSEFMX1JDQ19BREMxMl9DTEtfRU5BQkxFCi0jZGVmaW5lIF9fSEFMX1JDQ19BREMxX0NMS19ESVNBQkxFICAgICAgICAgIF9fSEFMX1JDQ19BREMxMl9DTEtfRElTQUJMRQotI2RlZmluZSBfX0hBTF9SQ0NfQURDMV9JU19DTEtfRU5BQkxFRCAgICAgICBfX0hBTF9SQ0NfQURDMTJfSVNfQ0xLX0VOQUJMRUQKLSNkZWZpbmUgX19IQUxfUkNDX0FEQzFfSVNfQ0xLX0RJU0FCTEVEICAgICAgX19IQUxfUkNDX0FEQzEyX0lTX0NMS19ESVNBQkxFRAotI2RlZmluZSBfX0hBTF9SQ0NfQURDMV9GT1JDRV9SRVNFVCAgICAgICAgICBfX0hBTF9SQ0NfQURDMTJfRk9SQ0VfUkVTRVQKLSNkZWZpbmUgX19IQUxfUkNDX0FEQzFfUkVMRUFTRV9SRVNFVCAgICAgICBfX0hBTF9SQ0NfQURDMTJfUkVMRUFTRV9SRVNFVAotI2VuZGlmCisjZGVmaW5lIF9fSEFMX1JDQ19BREMxX0NMS19FTkFCTEUgICAgICAgICAgICAgX19IQUxfUkNDX0FEQzEyX0NMS19FTkFCTEUKKyNkZWZpbmUgX19IQUxfUkNDX0FEQzFfQ0xLX0RJU0FCTEUgICAgICAgICAgICBfX0hBTF9SQ0NfQURDMTJfQ0xLX0RJU0FCTEUKKyNkZWZpbmUgX19IQUxfUkNDX0FEQzFfSVNfQ0xLX0VOQUJMRUQgICAgICAgICBfX0hBTF9SQ0NfQURDMTJfSVNfQ0xLX0VOQUJMRUQKKyNkZWZpbmUgX19IQUxfUkNDX0FEQzFfSVNfQ0xLX0RJU0FCTEVEICAgICAgICBfX0hBTF9SQ0NfQURDMTJfSVNfQ0xLX0RJU0FCTEVECisjZGVmaW5lIF9fSEFMX1JDQ19BREMxX0ZPUkNFX1JFU0VUICAgICAgICAgICAgX19IQUxfUkNDX0FEQzEyX0ZPUkNFX1JFU0VUCisjZGVmaW5lIF9fSEFMX1JDQ19BREMxX1JFTEVBU0VfUkVTRVQgICAgICAgICAgX19IQUxfUkNDX0FEQzEyX1JFTEVBU0VfUkVTRVQKKyNkZWZpbmUgX19IQUxfUkNDX0FEQzFfQ0xLX1NMRUVQX0VOQUJMRSAgICAgICBfX0hBTF9SQ0NfQURDMTJfQ0xLX1NMRUVQX0VOQUJMRQorI2RlZmluZSBfX0hBTF9SQ0NfQURDMV9DTEtfU0xFRVBfRElTQUJMRSAgICAgIF9fSEFMX1JDQ19BREMxMl9DTEtfU0xFRVBfRElTQUJMRQorI2RlZmluZSBfX0hBTF9SQ0NfR0VUX0NMSzQ4X1NPVVJDRSAgICAgICAgICAgIF9fSEFMX1JDQ19HRVRfSUNMS19TT1VSQ0UKKyNkZWZpbmUgX19IQUxfUkNDX1BMTEZSQUNOX0VOQUJMRSAgICAgICAgICAgICBfX0hBTF9SQ0NfUExMX0ZSQUNOX0VOQUJMRQorI2RlZmluZSBfX0hBTF9SQ0NfUExMRlJBQ05fRElTQUJMRSAgICAgICAgICAgIF9fSEFMX1JDQ19QTExfRlJBQ05fRElTQUJMRQorI2RlZmluZSBfX0hBTF9SQ0NfUExMRlJBQ05fQ09ORklHICAgICAgICAgICAgIF9fSEFMX1JDQ19QTExfRlJBQ05fQ09ORklHCisjZGVmaW5lIElTX1JDQ19QTExGUkFDTl9WQUxVRSAgICAgICAgICAgICAgICAgSVNfUkNDX1BMTF9GUkFDTl9WQUxVRQorI2VuZGlmIC8qIFNUTTMyVTUgKi8KIAogLyoqCiAgICogQH0KQEAgLTM0NzcsNyArMzU4NCw5IEBACiAvKiogQGRlZmdyb3VwIEhBTF9SVENfQWxpYXNlZF9NYWNyb3MgSEFMIFJUQyBBbGlhc2VkIE1hY3JvcyBtYWludGFpbmVkIGZvciBsZWdhY3kgcHVycG9zZQogICAqIEB7CiAgICovCi0jaWYgZGVmaW5lZCAoU1RNMzJHMCkgfHwgZGVmaW5lZCAoU1RNMzJMNSkgfHwgZGVmaW5lZCAoU1RNMzJMNDEyeHgpIHx8IGRlZmluZWQgKFNUTTMyTDQyMnh4KSB8fCBkZWZpbmVkIChTVE0zMkw0UDV4eCkgfHwgZGVmaW5lZCAoU1RNMzJMNFE1eHgpIHx8IGRlZmluZWQgKFNUTTMyRzQpIHx8IGRlZmluZWQgKFNUTTMyV0wpIHx8IGRlZmluZWQgKFNUTTMyVTUpCisjaWYgZGVmaW5lZCAoU1RNMzJHMCkgfHwgZGVmaW5lZCAoU1RNMzJMNSkgfHwgZGVmaW5lZCAoU1RNMzJMNDEyeHgpIHx8IGRlZmluZWQgKFNUTTMyTDQyMnh4KSB8fCBkZWZpbmVkIChTVE0zMkw0UDV4eCl8fCBcCisgICAgZGVmaW5lZCAoU1RNMzJMNFE1eHgpIHx8IGRlZmluZWQgKFNUTTMyRzQpIHx8IGRlZmluZWQgKFNUTTMyV0wpIHx8IGRlZmluZWQgKFNUTTMyVTUpIHx8IFwKKyAgICBkZWZpbmVkIChTVE0zMkMwKQogI2Vsc2UKICNkZWZpbmUgX19IQUxfUlRDX0NMRUFSX0ZMQUcgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUlRDX0VYVElfQ0xFQVJfRkxBRwogI2VuZGlmCkBAIC0zODc4LDYgKzM5ODcsMTYgQEAKICAgKiBAfQogICAqLwogCisvKiogQGRlZmdyb3VwIEhBTF9HZW5lcmljX0FsaWFzZWRfTWFjcm9zIEhBTCBHZW5lcmljIEFsaWFzZWQgTWFjcm9zIG1haW50YWluZWQgZm9yIGxlZ2FjeSBwdXJwb3NlCisgICogQHsKKyAgKi8KKyNpZiBkZWZpbmVkIChTVE0zMkY3KQorI2RlZmluZSBBUlRfQUNDTEVSQVRPUl9FTkFCTEUgQVJUX0FDQ0VMRVJBVE9SX0VOQUJMRQorI2VuZGlmIC8qIFNUTTMyRjcgKi8KKy8qKgorICAqIEB9CisgICovCisKIC8qKiBAZGVmZ3JvdXAgSEFMX1BQUF9BbGlhc2VkX01hY3JvcyBIQUwgUFBQIEFsaWFzZWQgTWFjcm9zIG1haW50YWluZWQgZm9yIGxlZ2FjeSBwdXJwb3NlCiAgICogQHsKICAgKi8KZGlmZiAtLWdpdCBhL0luYy9MZWdhY3kvc3RtMzJmN3h4X2hhbF9ldGhfbGVnYWN5LmggYi9JbmMvTGVnYWN5L3N0bTMyZjd4eF9oYWxfZXRoX2xlZ2FjeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjMThlYTMKLS0tIC9kZXYvbnVsbAorKysgYi9JbmMvTGVnYWN5L3N0bTMyZjd4eF9oYWxfZXRoX2xlZ2FjeS5oCkBAIC0wLDAgKzEsMjIxMiBAQAorLyoqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqIEBmaWxlICAgIHN0bTMyZjd4eF9oYWxfZXRoX2xlZ2FjeS5oCisgICogQGF1dGhvciAgTUNEIEFwcGxpY2F0aW9uIFRlYW0KKyAgKiBAYnJpZWYgICBIZWFkZXIgZmlsZSBvZiBFVEggSEFMIG1vZHVsZS4KKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqLworCisvKiBEZWZpbmUgdG8gcHJldmVudCByZWN1cnNpdmUgaW5jbHVzaW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2lmbmRlZiBfX1NUTTMyRjd4eF9IQUxfRVRIX0xFR0FDWV9ICisjZGVmaW5lIF9fU1RNMzJGN3h4X0hBTF9FVEhfTEVHQUNZX0gKKworI2lmZGVmIF9fY3BsdXNwbHVzCisgZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyogSW5jbHVkZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyNpbmNsdWRlICJzdG0zMmY3eHhfaGFsX2RlZi5oIgorCisjaWYgZGVmaW5lZCAoRVRIKQorCisvKiogQGFkZHRvZ3JvdXAgU1RNMzJGN3h4X0hBTF9Ecml2ZXIKKyAgKiBAeworICAqLworCisvKiogQGFkZHRvZ3JvdXAgRVRICisgICogQHsKKyAgKi8KKworLyoqIEBhZGR0b2dyb3VwIEVUSF9Qcml2YXRlX01hY3JvcworICAqIEB7CisgICovCisjZGVmaW5lIElTX0VUSF9QSFlfQUREUkVTUyhBRERSRVNTKSAoKEFERFJFU1MpIDw9IDB4MjApCisjZGVmaW5lIElTX0VUSF9BVVRPTkVHT1RJQVRJT04oQ01EKSAoKChDTUQpID09IEVUSF9BVVRPTkVHT1RJQVRJT05fRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9BVVRPTkVHT1RJQVRJT05fRElTQUJMRSkpCisjZGVmaW5lIElTX0VUSF9TUEVFRChTUEVFRCkgKCgoU1BFRUQpID09IEVUSF9TUEVFRF8xME0pIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChTUEVFRCkgPT0gRVRIX1NQRUVEXzEwME0pKQorI2RlZmluZSBJU19FVEhfRFVQTEVYX01PREUoTU9ERSkgICgoKE1PREUpID09IEVUSF9NT0RFX0ZVTExEVVBMRVgpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1PREUpID09IEVUSF9NT0RFX0hBTEZEVVBMRVgpKQorI2RlZmluZSBJU19FVEhfUlhfTU9ERShNT0RFKSAgICAoKChNT0RFKSA9PSBFVEhfUlhQT0xMSU5HX01PREUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTU9ERSkgPT0gRVRIX1JYSU5URVJSVVBUX01PREUpKQorI2RlZmluZSBJU19FVEhfQ0hFQ0tTVU1fTU9ERShNT0RFKSAgICAoKChNT0RFKSA9PSBFVEhfQ0hFQ0tTVU1fQllfSEFSRFdBUkUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNT0RFKSA9PSBFVEhfQ0hFQ0tTVU1fQllfU09GVFdBUkUpKQorI2RlZmluZSBJU19FVEhfTUVESUFfSU5URVJGQUNFKE1PREUpICAgICAgICAgKCgoTU9ERSkgPT0gRVRIX01FRElBX0lOVEVSRkFDRV9NSUkpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1PREUpID09IEVUSF9NRURJQV9JTlRFUkZBQ0VfUk1JSSkpCisjZGVmaW5lIElTX0VUSF9XQVRDSERPRyhDTUQpICgoKENNRCkgPT0gRVRIX1dBVENIRE9HX0VOQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9XQVRDSERPR19ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX0pBQkJFUihDTUQpICgoKENNRCkgPT0gRVRIX0pBQkJFUl9FTkFCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX0pBQkJFUl9ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX0lOVEVSX0ZSQU1FX0dBUChHQVApICgoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfOTZCSVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfODhCSVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfODBCSVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfNzJCSVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfNjRCSVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfNTZCSVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfNDhCSVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfNDBCSVQpKQorI2RlZmluZSBJU19FVEhfQ0FSUklFUl9TRU5TRShDTUQpICgoKENNRCkgPT0gRVRIX0NBUlJJRVJTRU5DRV9FTkFCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9DQVJSSUVSU0VOQ0VfRElTQUJMRSkpCisjZGVmaW5lIElTX0VUSF9SRUNFSVZFX09XTihDTUQpICgoKENNRCkgPT0gRVRIX1JFQ0VJVkVPV05fRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX1JFQ0VJVkVPV05fRElTQUJMRSkpCisjZGVmaW5lIElTX0VUSF9MT09QQkFDS19NT0RFKENNRCkgKCgoQ01EKSA9PSBFVEhfTE9PUEJBQ0tNT0RFX0VOQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX0xPT1BCQUNLTU9ERV9ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX0NIRUNLU1VNX09GRkxPQUQoQ01EKSAoKChDTUQpID09IEVUSF9DSEVDS1NVTU9GRkxBT0RfRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfQ0hFQ0tTVU1PRkZMQU9EX0RJU0FCTEUpKQorI2RlZmluZSBJU19FVEhfUkVUUllfVFJBTlNNSVNTSU9OKENNRCkgKCgoQ01EKSA9PSBFVEhfUkVUUllUUkFOU01JU1NJT05fRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9SRVRSWVRSQU5TTUlTU0lPTl9ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX0FVVE9NQVRJQ19QQURDUkNfU1RSSVAoQ01EKSAoKChDTUQpID09IEVUSF9BVVRPTUFUSUNQQURDUkNTVFJJUF9FTkFCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9BVVRPTUFUSUNQQURDUkNTVFJJUF9ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX0JBQ0tPRkZfTElNSVQoTElNSVQpICgoKExJTUlUKSA9PSBFVEhfQkFDS09GRkxJTUlUXzEwKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMSU1JVCkgPT0gRVRIX0JBQ0tPRkZMSU1JVF84KSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMSU1JVCkgPT0gRVRIX0JBQ0tPRkZMSU1JVF80KSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMSU1JVCkgPT0gRVRIX0JBQ0tPRkZMSU1JVF8xKSkKKyNkZWZpbmUgSVNfRVRIX0RFRkVSUkFMX0NIRUNLKENNRCkgKCgoQ01EKSA9PSBFVEhfREVGRkVSUkFMQ0hFQ0tfRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX0RFRkZFUlJBTENIRUNLX0RJU0FCTEUpKQorI2RlZmluZSBJU19FVEhfUkVDRUlWRV9BTEwoQ01EKSAoKChDTUQpID09IEVUSF9SRUNFSVZFQUxMX0VOQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9SRUNFSVZFQWxsX0RJU0FCTEUpKQorI2RlZmluZSBJU19FVEhfU09VUkNFX0FERFJfRklMVEVSKENNRCkgKCgoQ01EKSA9PSBFVEhfU09VUkNFQUREUkZJTFRFUl9OT1JNQUxfRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9TT1VSQ0VBRERSRklMVEVSX0lOVkVSU0VfRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9TT1VSQ0VBRERSRklMVEVSX0RJU0FCTEUpKQorI2RlZmluZSBJU19FVEhfQ09OVFJPTF9GUkFNRVMoUEFTUykgKCgoUEFTUykgPT0gRVRIX1BBU1NDT05UUk9MRlJBTUVTX0JMT0NLQUxMKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChQQVNTKSA9PSBFVEhfUEFTU0NPTlRST0xGUkFNRVNfRk9SV0FSREFMTCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUEFTUykgPT0gRVRIX1BBU1NDT05UUk9MRlJBTUVTX0ZPUldBUkRQQVNTRURBRERSRklMVEVSKSkKKyNkZWZpbmUgSVNfRVRIX0JST0FEQ0FTVF9GUkFNRVNfUkVDRVBUSU9OKENNRCkgKCgoQ01EKSA9PSBFVEhfQlJPQURDQVNURlJBTUVTUkVDRVBUSU9OX0VOQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9CUk9BRENBU1RGUkFNRVNSRUNFUFRJT05fRElTQUJMRSkpCisjZGVmaW5lIElTX0VUSF9ERVNUSU5BVElPTl9BRERSX0ZJTFRFUihGSUxURVIpICgoKEZJTFRFUikgPT0gRVRIX0RFU1RJTkFUSU9OQUREUkZJTFRFUl9OT1JNQUwpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRklMVEVSKSA9PSBFVEhfREVTVElOQVRJT05BRERSRklMVEVSX0lOVkVSU0UpKQorI2RlZmluZSBJU19FVEhfUFJPTUlTQ1VPVVNfTU9ERShDTUQpICgoKENNRCkgPT0gRVRIX1BST01JU0NVT1VTX01PREVfRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfUFJPTUlTQ1VPVVNfTU9ERV9ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX01VTFRJQ0FTVF9GUkFNRVNfRklMVEVSKEZJTFRFUikgKCgoRklMVEVSKSA9PSBFVEhfTVVMVElDQVNURlJBTUVTRklMVEVSX1BFUkZFQ1RIQVNIVEFCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRklMVEVSKSA9PSBFVEhfTVVMVElDQVNURlJBTUVTRklMVEVSX0hBU0hUQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGSUxURVIpID09IEVUSF9NVUxUSUNBU1RGUkFNRVNGSUxURVJfUEVSRkVDVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGSUxURVIpID09IEVUSF9NVUxUSUNBU1RGUkFNRVNGSUxURVJfTk9ORSkpCisjZGVmaW5lIElTX0VUSF9VTklDQVNUX0ZSQU1FU19GSUxURVIoRklMVEVSKSAoKChGSUxURVIpID09IEVUSF9VTklDQVNURlJBTUVTRklMVEVSX1BFUkZFQ1RIQVNIVEFCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZJTFRFUikgPT0gRVRIX1VOSUNBU1RGUkFNRVNGSUxURVJfSEFTSFRBQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGSUxURVIpID09IEVUSF9VTklDQVNURlJBTUVTRklMVEVSX1BFUkZFQ1QpKQorI2RlZmluZSBJU19FVEhfUEFVU0VfVElNRShUSU1FKSAoKFRJTUUpIDw9IDB4RkZGRikKKyNkZWZpbmUgSVNfRVRIX1pFUk9RVUFOVEFfUEFVU0UoQ01EKSAgICgoKENNRCkgPT0gRVRIX1pFUk9RVUFOVEFQQVVTRV9FTkFCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX1pFUk9RVUFOVEFQQVVTRV9ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX1BBVVNFX0xPV19USFJFU0hPTEQoVEhSRVNIT0xEKSAoKChUSFJFU0hPTEQpID09IEVUSF9QQVVTRUxPV1RIUkVTSE9MRF9NSU5VUzQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUSFJFU0hPTEQpID09IEVUSF9QQVVTRUxPV1RIUkVTSE9MRF9NSU5VUzI4KSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVEhSRVNIT0xEKSA9PSBFVEhfUEFVU0VMT1dUSFJFU0hPTERfTUlOVVMxNDQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUSFJFU0hPTEQpID09IEVUSF9QQVVTRUxPV1RIUkVTSE9MRF9NSU5VUzI1NikpCisjZGVmaW5lIElTX0VUSF9VTklDQVNUX1BBVVNFX0ZSQU1FX0RFVEVDVChDTUQpICgoKENNRCkgPT0gRVRIX1VOSUNBU1RQQVVTRUZSQU1FREVURUNUX0VOQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9VTklDQVNUUEFVU0VGUkFNRURFVEVDVF9ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX1JFQ0VJVkVfRkxPV0NPTlRST0woQ01EKSAoKChDTUQpID09IEVUSF9SRUNFSVZFRkxPV0NPTlRST0xfRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfUkVDRUlWRUZMT1dDT05UUk9MX0RJU0FCTEUpKQorI2RlZmluZSBJU19FVEhfVFJBTlNNSVRfRkxPV0NPTlRST0woQ01EKSAoKChDTUQpID09IEVUSF9UUkFOU01JVEZMT1dDT05UUk9MX0VOQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9UUkFOU01JVEZMT1dDT05UUk9MX0RJU0FCTEUpKQorI2RlZmluZSBJU19FVEhfVkxBTl9UQUdfQ09NUEFSSVNPTihDT01QQVJJU09OKSAoKChDT01QQVJJU09OKSA9PSBFVEhfVkxBTlRBR0NPTVBBUklTT05fMTJCSVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ09NUEFSSVNPTikgPT0gRVRIX1ZMQU5UQUdDT01QQVJJU09OXzE2QklUKSkKKyNkZWZpbmUgSVNfRVRIX1ZMQU5fVEFHX0lERU5USUZJRVIoSURFTlRJRklFUikgKChJREVOVElGSUVSKSA8PSAweEZGRkYpCisjZGVmaW5lIElTX0VUSF9NQUNfQUREUkVTUzAxMjMoQUREUkVTUykgKCgoQUREUkVTUykgPT0gRVRIX01BQ19BRERSRVNTMCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFERFJFU1MpID09IEVUSF9NQUNfQUREUkVTUzEpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBRERSRVNTKSA9PSBFVEhfTUFDX0FERFJFU1MyKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQUREUkVTUykgPT0gRVRIX01BQ19BRERSRVNTMykpCisjZGVmaW5lIElTX0VUSF9NQUNfQUREUkVTUzEyMyhBRERSRVNTKSAoKChBRERSRVNTKSA9PSBFVEhfTUFDX0FERFJFU1MxKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBRERSRVNTKSA9PSBFVEhfTUFDX0FERFJFU1MyKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBRERSRVNTKSA9PSBFVEhfTUFDX0FERFJFU1MzKSkKKyNkZWZpbmUgSVNfRVRIX01BQ19BRERSRVNTX0ZJTFRFUihGSUxURVIpICgoKEZJTFRFUikgPT0gRVRIX01BQ19BRERSRVNTRklMVEVSX1NBKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGSUxURVIpID09IEVUSF9NQUNfQUREUkVTU0ZJTFRFUl9EQSkpCisjZGVmaW5lIElTX0VUSF9NQUNfQUREUkVTU19NQVNLKE1BU0spICgoKE1BU0spID09IEVUSF9NQUNfQUREUkVTU01BU0tfQllURTYpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTUFTSykgPT0gRVRIX01BQ19BRERSRVNTTUFTS19CWVRFNSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNQVNLKSA9PSBFVEhfTUFDX0FERFJFU1NNQVNLX0JZVEU0KSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1BU0spID09IEVUSF9NQUNfQUREUkVTU01BU0tfQllURTMpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTUFTSykgPT0gRVRIX01BQ19BRERSRVNTTUFTS19CWVRFMikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNQVNLKSA9PSBFVEhfTUFDX0FERFJFU1NNQVNLX0JZVEUxKSkKKyNkZWZpbmUgSVNfRVRIX0RST1BfVENQSVBfQ0hFQ0tTVU1fRlJBTUUoQ01EKSAoKChDTUQpID09IEVUSF9EUk9QVENQSVBDSEVDS1NVTUVSUk9SRlJBTUVfRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfRFJPUFRDUElQQ0hFQ0tTVU1FUlJPUkZSQU1FX0RJU0FCTEUpKQorI2RlZmluZSBJU19FVEhfUkVDRUlWRV9TVE9SRV9GT1JXQVJEKENNRCkgKCgoQ01EKSA9PSBFVEhfUkVDRUlWRVNUT1JFRk9SV0FSRF9FTkFCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX1JFQ0VJVkVTVE9SRUZPUldBUkRfRElTQUJMRSkpCisjZGVmaW5lIElTX0VUSF9GTFVTSF9SRUNFSVZFX0ZSQU1FKENNRCkgKCgoQ01EKSA9PSBFVEhfRkxVU0hSRUNFSVZFREZSQU1FX0VOQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX0ZMVVNIUkVDRUlWRURGUkFNRV9ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX1RSQU5TTUlUX1NUT1JFX0ZPUldBUkQoQ01EKSAoKChDTUQpID09IEVUSF9UUkFOU01JVFNUT1JFRk9SV0FSRF9FTkFCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9UUkFOU01JVFNUT1JFRk9SV0FSRF9ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX1RSQU5TTUlUX1RIUkVTSE9MRF9DT05UUk9MKFRIUkVTSE9MRCkgKCgoVEhSRVNIT0xEKSA9PSBFVEhfVFJBTlNNSVRUSFJFU0hPTERDT05UUk9MXzY0QllURVMpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVEhSRVNIT0xEKSA9PSBFVEhfVFJBTlNNSVRUSFJFU0hPTERDT05UUk9MXzEyOEJZVEVTKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFRIUkVTSE9MRCkgPT0gRVRIX1RSQU5TTUlUVEhSRVNIT0xEQ09OVFJPTF8xOTJCWVRFUykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUSFJFU0hPTEQpID09IEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfMjU2QllURVMpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVEhSRVNIT0xEKSA9PSBFVEhfVFJBTlNNSVRUSFJFU0hPTERDT05UUk9MXzQwQllURVMpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVEhSRVNIT0xEKSA9PSBFVEhfVFJBTlNNSVRUSFJFU0hPTERDT05UUk9MXzMyQllURVMpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVEhSRVNIT0xEKSA9PSBFVEhfVFJBTlNNSVRUSFJFU0hPTERDT05UUk9MXzI0QllURVMpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVEhSRVNIT0xEKSA9PSBFVEhfVFJBTlNNSVRUSFJFU0hPTERDT05UUk9MXzE2QllURVMpKQorI2RlZmluZSBJU19FVEhfRk9SV0FSRF9FUlJPUl9GUkFNRVMoQ01EKSAoKChDTUQpID09IEVUSF9GT1JXQVJERVJST1JGUkFNRVNfRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX0ZPUldBUkRFUlJPUkZSQU1FU19ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX0ZPUldBUkRfVU5ERVJTSVpFRF9HT09EX0ZSQU1FUyhDTUQpICgoKENNRCkgPT0gRVRIX0ZPUldBUkRVTkRFUlNJWkVER09PREZSQU1FU19FTkFCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX0ZPUldBUkRVTkRFUlNJWkVER09PREZSQU1FU19ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX1JFQ0VJVkVfVEhSRVNIT0xEX0NPTlRST0woVEhSRVNIT0xEKSAoKChUSFJFU0hPTEQpID09IEVUSF9SRUNFSVZFRFRIUkVTSE9MRENPTlRST0xfNjRCWVRFUykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFRIUkVTSE9MRCkgPT0gRVRIX1JFQ0VJVkVEVEhSRVNIT0xEQ09OVFJPTF8zMkJZVEVTKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVEhSRVNIT0xEKSA9PSBFVEhfUkVDRUlWRURUSFJFU0hPTERDT05UUk9MXzk2QllURVMpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUSFJFU0hPTEQpID09IEVUSF9SRUNFSVZFRFRIUkVTSE9MRENPTlRST0xfMTI4QllURVMpKQorI2RlZmluZSBJU19FVEhfU0VDT05EX0ZSQU1FX09QRVJBVEUoQ01EKSAoKChDTUQpID09IEVUSF9TRUNPTkRGUkFNRU9QRVJBUlRFX0VOQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9TRUNPTkRGUkFNRU9QRVJBUlRFX0RJU0FCTEUpKQorI2RlZmluZSBJU19FVEhfQUREUkVTU19BTElHTkVEX0JFQVRTKENNRCkgKCgoQ01EKSA9PSBFVEhfQUREUkVTU0FMSUdORURCRUFUU19FTkFCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX0FERFJFU1NBTElHTkVEQkVBVFNfRElTQUJMRSkpCisjZGVmaW5lIElTX0VUSF9GSVhFRF9CVVJTVChDTUQpICgoKENNRCkgPT0gRVRIX0ZJWEVEQlVSU1RfRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX0ZJWEVEQlVSU1RfRElTQUJMRSkpCisjZGVmaW5lIElTX0VUSF9SWERNQV9CVVJTVF9MRU5HVEgoTEVOR1RIKSAoKChMRU5HVEgpID09IEVUSF9SWERNQUJVUlNUTEVOR1RIXzFCRUFUKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMRU5HVEgpID09IEVUSF9SWERNQUJVUlNUTEVOR1RIXzJCRUFUKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMRU5HVEgpID09IEVUSF9SWERNQUJVUlNUTEVOR1RIXzRCRUFUKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMRU5HVEgpID09IEVUSF9SWERNQUJVUlNUTEVOR1RIXzhCRUFUKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMRU5HVEgpID09IEVUSF9SWERNQUJVUlNUTEVOR1RIXzE2QkVBVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTEVOR1RIKSA9PSBFVEhfUlhETUFCVVJTVExFTkdUSF8zMkJFQVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1JYRE1BQlVSU1RMRU5HVEhfNFhQQkxfNEJFQVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1JYRE1BQlVSU1RMRU5HVEhfNFhQQkxfOEJFQVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1JYRE1BQlVSU1RMRU5HVEhfNFhQQkxfMTZCRUFUKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMRU5HVEgpID09IEVUSF9SWERNQUJVUlNUTEVOR1RIXzRYUEJMXzMyQkVBVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTEVOR1RIKSA9PSBFVEhfUlhETUFCVVJTVExFTkdUSF80WFBCTF82NEJFQVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1JYRE1BQlVSU1RMRU5HVEhfNFhQQkxfMTI4QkVBVCkpCisjZGVmaW5lIElTX0VUSF9UWERNQV9CVVJTVF9MRU5HVEgoTEVOR1RIKSAoKChMRU5HVEgpID09IEVUSF9UWERNQUJVUlNUTEVOR1RIXzFCRUFUKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMRU5HVEgpID09IEVUSF9UWERNQUJVUlNUTEVOR1RIXzJCRUFUKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMRU5HVEgpID09IEVUSF9UWERNQUJVUlNUTEVOR1RIXzRCRUFUKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMRU5HVEgpID09IEVUSF9UWERNQUJVUlNUTEVOR1RIXzhCRUFUKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMRU5HVEgpID09IEVUSF9UWERNQUJVUlNUTEVOR1RIXzE2QkVBVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTEVOR1RIKSA9PSBFVEhfVFhETUFCVVJTVExFTkdUSF8zMkJFQVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1RYRE1BQlVSU1RMRU5HVEhfNFhQQkxfNEJFQVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1RYRE1BQlVSU1RMRU5HVEhfNFhQQkxfOEJFQVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1RYRE1BQlVSU1RMRU5HVEhfNFhQQkxfMTZCRUFUKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMRU5HVEgpID09IEVUSF9UWERNQUJVUlNUTEVOR1RIXzRYUEJMXzMyQkVBVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTEVOR1RIKSA9PSBFVEhfVFhETUFCVVJTVExFTkdUSF80WFBCTF82NEJFQVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1RYRE1BQlVSU1RMRU5HVEhfNFhQQkxfMTI4QkVBVCkpCisjZGVmaW5lIElTX0VUSF9ETUFfREVTQ19TS0lQX0xFTkdUSChMRU5HVEgpICgoTEVOR1RIKSA8PSAweDFGKQorI2RlZmluZSBJU19FVEhfRE1BX0FSQklUUkFUSU9OX1JPVU5EUk9CSU5fUlhUWChSQVRJTykgKCgoUkFUSU8pID09IEVUSF9ETUFBUkJJVFJBVElPTl9ST1VORFJPQklOX1JYVFhfMV8xKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChSQVRJTykgPT0gRVRIX0RNQUFSQklUUkFUSU9OX1JPVU5EUk9CSU5fUlhUWF8yXzEpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFJBVElPKSA9PSBFVEhfRE1BQVJCSVRSQVRJT05fUk9VTkRST0JJTl9SWFRYXzNfMSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUkFUSU8pID09IEVUSF9ETUFBUkJJVFJBVElPTl9ST1VORFJPQklOX1JYVFhfNF8xKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChSQVRJTykgPT0gRVRIX0RNQUFSQklUUkFUSU9OX1JYUFJJT1JUWCkpCisjZGVmaW5lIElTX0VUSF9ETUFUWERFU0NfR0VUX0ZMQUcoRkxBRykgKCgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19PV04pIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX0lDKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19MUykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFUWERFU0NfRlMpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX0RDKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19EUCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFUWERFU0NfVFRTRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFUWERFU0NfVEVSKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19UQ0gpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX1RUU1MpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX0lIRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFUWERFU0NfRVMpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX0pUKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19GRikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFUWERFU0NfUENFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19MQ0EpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX05DKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19MQ08pIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX0VDKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19WRikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFUWERFU0NfQ0MpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX0VEKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19VRikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFUWERFU0NfREIpKQorI2RlZmluZSBJU19FVEhfRE1BX1RYREVTQ19TRUdNRU5UKFNFR01FTlQpICgoKFNFR01FTlQpID09IEVUSF9ETUFUWERFU0NfTEFTVFNFR01FTlRTKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoU0VHTUVOVCkgPT0gRVRIX0RNQVRYREVTQ19GSVJTVFNFR01FTlQpKQorI2RlZmluZSBJU19FVEhfRE1BX1RYREVTQ19DSEVDS1NVTShDSEVDS1NVTSkgKCgoQ0hFQ0tTVU0pID09IEVUSF9ETUFUWERFU0NfQ0hFQ0tTVU1CWVBBU1MpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENIRUNLU1VNKSA9PSBFVEhfRE1BVFhERVNDX0NIRUNLU1VNSVBWNEhFQURFUikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ0hFQ0tTVU0pID09IEVUSF9ETUFUWERFU0NfQ0hFQ0tTVU1UQ1BVRFBJQ01QU0VHTUVOVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ0hFQ0tTVU0pID09IEVUSF9ETUFUWERFU0NfQ0hFQ0tTVU1UQ1BVRFBJQ01QRlVMTCkpCisjZGVmaW5lIElTX0VUSF9ETUFUWERFU0NfQlVGRkVSX1NJWkUoU0laRSkgKChTSVpFKSA8PSAweDFGRkYpCisjZGVmaW5lIElTX0VUSF9ETUFSWERFU0NfR0VUX0ZMQUcoRkxBRykgKCgoRkxBRykgPT0gRVRIX0RNQVJYREVTQ19PV04pIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BUlhERVNDX0FGTSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFSWERFU0NfRVMpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BUlhERVNDX0RFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVJYREVTQ19TQUYpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BUlhERVNDX0xFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVJYREVTQ19PRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFSWERFU0NfVkxBTikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFSWERFU0NfRlMpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BUlhERVNDX0xTKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVJYREVTQ19JUFY0SENFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVJYREVTQ19MQykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFSWERFU0NfRlQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BUlhERVNDX1JXVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFSWERFU0NfUkUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BUlhERVNDX0RCRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFSWERFU0NfQ0UpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BUlhERVNDX01BTVBDRSkpCisjZGVmaW5lIElTX0VUSF9ETUFfUlhERVNDX0JVRkZFUihCVUZGRVIpICgoKEJVRkZFUikgPT0gRVRIX0RNQVJYREVTQ19CVUZGRVIxKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEJVRkZFUikgPT0gRVRIX0RNQVJYREVTQ19CVUZGRVIyKSkKKyNkZWZpbmUgSVNfRVRIX1BNVF9HRVRfRkxBRyhGTEFHKSAoKChGTEFHKSA9PSBFVEhfUE1UX0ZMQUdfV1VGUikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9QTVRfRkxBR19NUFIpKQorI2RlZmluZSBJU19FVEhfRE1BX0ZMQUcoRkxBRykgKCgoKEZMQUcpICYgKHVpbnQzMl90KTB4QzdGRTE4MDApID09IDB4MDApICYmICgoRkxBRykgIT0gMHgwMCkpCisjZGVmaW5lIElTX0VUSF9ETUFfR0VUX0ZMQUcoRkxBRykgKCgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX1RTVCkgfHwgKChGTEFHKSA9PSBFVEhfRE1BX0ZMQUdfUE1UKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX01NQykgfHwgKChGTEFHKSA9PSBFVEhfRE1BX0ZMQUdfREFUQVRSQU5TRkVSRVJST1IpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BX0ZMQUdfUkVBRFdSSVRFRVJST1IpIHx8ICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX0FDQ0VTU0VSUk9SKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX05JUykgfHwgKChGTEFHKSA9PSBFVEhfRE1BX0ZMQUdfQUlTKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX0VSKSB8fCAoKEZMQUcpID09IEVUSF9ETUFfRkxBR19GQkUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BX0ZMQUdfRVQpIHx8ICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX1JXVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFfRkxBR19SUFMpIHx8ICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX1JCVSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFfRkxBR19SKSB8fCAoKEZMQUcpID09IEVUSF9ETUFfRkxBR19UVSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFfRkxBR19STykgfHwgKChGTEFHKSA9PSBFVEhfRE1BX0ZMQUdfVEpUKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX1RCVSkgfHwgKChGTEFHKSA9PSBFVEhfRE1BX0ZMQUdfVFBTKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX1QpKQorI2RlZmluZSBJU19FVEhfTUFDX0lUKElUKSAoKCgoSVQpICYgKHVpbnQzMl90KTB4RkZGRkZERjEpID09IDB4MDApICYmICgoSVQpICE9IDB4MDApKQorI2RlZmluZSBJU19FVEhfTUFDX0dFVF9JVChJVCkgKCgoSVQpID09IEVUSF9NQUNfSVRfVFNUKSB8fCAoKElUKSA9PSBFVEhfTUFDX0lUX01NQ1QpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElUKSA9PSBFVEhfTUFDX0lUX01NQ1IpIHx8ICgoSVQpID09IEVUSF9NQUNfSVRfTU1DKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJVCkgPT0gRVRIX01BQ19JVF9QTVQpKQorI2RlZmluZSBJU19FVEhfTUFDX0dFVF9GTEFHKEZMQUcpICgoKEZMQUcpID09IEVUSF9NQUNfRkxBR19UU1QpIHx8ICgoRkxBRykgPT0gRVRIX01BQ19GTEFHX01NQ1QpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfTUFDX0ZMQUdfTU1DUikgfHwgKChGTEFHKSA9PSBFVEhfTUFDX0ZMQUdfTU1DKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX01BQ19GTEFHX1BNVCkpCisjZGVmaW5lIElTX0VUSF9ETUFfSVQoSVQpICgoKChJVCkgJiAodWludDMyX3QpMHhDN0ZFMTgwMCkgPT0gMHgwMCkgJiYgKChJVCkgIT0gMHgwMCkpCisjZGVmaW5lIElTX0VUSF9ETUFfR0VUX0lUKElUKSAoKChJVCkgPT0gRVRIX0RNQV9JVF9UU1QpIHx8ICgoSVQpID09IEVUSF9ETUFfSVRfUE1UKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJVCkgPT0gRVRIX0RNQV9JVF9NTUMpIHx8ICgoSVQpID09IEVUSF9ETUFfSVRfTklTKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJVCkgPT0gRVRIX0RNQV9JVF9BSVMpIHx8ICgoSVQpID09IEVUSF9ETUFfSVRfRVIpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElUKSA9PSBFVEhfRE1BX0lUX0ZCRSkgfHwgKChJVCkgPT0gRVRIX0RNQV9JVF9FVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSVQpID09IEVUSF9ETUFfSVRfUldUKSB8fCAoKElUKSA9PSBFVEhfRE1BX0lUX1JQUykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSVQpID09IEVUSF9ETUFfSVRfUkJVKSB8fCAoKElUKSA9PSBFVEhfRE1BX0lUX1IpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElUKSA9PSBFVEhfRE1BX0lUX1RVKSB8fCAoKElUKSA9PSBFVEhfRE1BX0lUX1JPKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJVCkgPT0gRVRIX0RNQV9JVF9USlQpIHx8ICgoSVQpID09IEVUSF9ETUFfSVRfVEJVKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJVCkgPT0gRVRIX0RNQV9JVF9UUFMpIHx8ICgoSVQpID09IEVUSF9ETUFfSVRfVCkpCisjZGVmaW5lIElTX0VUSF9ETUFfR0VUX09WRVJGTE9XKE9WRVJGTE9XKSAoKChPVkVSRkxPVykgPT0gRVRIX0RNQV9PVkVSRkxPV19SWEZJRk9DT1VOVEVSKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChPVkVSRkxPVykgPT0gRVRIX0RNQV9PVkVSRkxPV19NSVNTRURGUkFNRUNPVU5URVIpKQorI2RlZmluZSBJU19FVEhfTU1DX0lUKElUKSAoKCgoKElUKSAmICh1aW50MzJfdCkweEZGREYzRkZGKSA9PSAweDAwKSB8fCAoKChJVCkgJiAodWludDMyX3QpMHhFRkZERkY5RikgPT0gMHgwMCkpICYmIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSVQpICE9IDB4MDApKQorI2RlZmluZSBJU19FVEhfTU1DX0dFVF9JVChJVCkgKCgoSVQpID09IEVUSF9NTUNfSVRfVEdGKSB8fCAoKElUKSA9PSBFVEhfTU1DX0lUX1RHRk1TQykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSVQpID09IEVUSF9NTUNfSVRfVEdGU0MpIHx8ICgoSVQpID09IEVUSF9NTUNfSVRfUkdVRikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSVQpID09IEVUSF9NTUNfSVRfUkZBRSkgfHwgKChJVCkgPT0gRVRIX01NQ19JVF9SRkNFKSkKKyNkZWZpbmUgSVNfRVRIX0VOSEFOQ0VEX0RFU0NSSVBUT1JfRk9STUFUKENNRCkgKCgoQ01EKSA9PSBFVEhfRE1BRU5IQU5DRURERVNDUklQVE9SX0VOQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9ETUFFTkhBTkNFRERFU0NSSVBUT1JfRElTQUJMRSkpCisKKworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBhZGR0b2dyb3VwIEVUSF9Qcml2YXRlX0RlZmluZXMKKyAgKiBAeworICAqLworLyogRGVsYXkgdG8gd2FpdCB3aGVuIHdyaXRpbmcgdG8gc29tZSBFdGhlcm5ldCByZWdpc3RlcnMgKi8KKyNkZWZpbmUgRVRIX1JFR19XUklURV9ERUxBWSAoKHVpbnQzMl90KTB4MDAwMDAwMDFVKQorCisvKiBFdGhlcm5ldCBFcnJvcnMgKi8KKyNkZWZpbmUgIEVUSF9TVUNDRVNTICAgICAgICAgICAgKCh1aW50MzJfdCkwVSkKKyNkZWZpbmUgIEVUSF9FUlJPUiAgICAgICAgICAgICAgKCh1aW50MzJfdCkxVSkKKworLyogRXRoZXJuZXQgRE1BIFR4IGRlc2NyaXB0b3JzIENvbGxpc2lvbiBDb3VudCBTaGlmdCAqLworI2RlZmluZSAgRVRIX0RNQVRYREVTQ19DT0xMSVNJT05fQ09VTlRTSElGVCAgICAgICAgICgodWludDMyX3QpM1UpCisKKy8qIEV0aGVybmV0IERNQSBUeCBkZXNjcmlwdG9ycyBCdWZmZXIyIFNpemUgU2hpZnQgKi8KKyNkZWZpbmUgIEVUSF9ETUFUWERFU0NfQlVGRkVSMl9TSVpFU0hJRlQgICAgICAgICAgICgodWludDMyX3QpMTZVKQorCisvKiBFdGhlcm5ldCBETUEgUnggZGVzY3JpcHRvcnMgRnJhbWUgTGVuZ3RoIFNoaWZ0ICovCisjZGVmaW5lICBFVEhfRE1BUlhERVNDX0ZSQU1FX0xFTkdUSFNISUZUICAgICAgICAgICAoKHVpbnQzMl90KTE2VSkKKworLyogRXRoZXJuZXQgRE1BIFJ4IGRlc2NyaXB0b3JzIEJ1ZmZlcjIgU2l6ZSBTaGlmdCAqLworI2RlZmluZSAgRVRIX0RNQVJYREVTQ19CVUZGRVIyX1NJWkVTSElGVCAgICAgICAgICAgKCh1aW50MzJfdCkxNlUpCisKKy8qIEV0aGVybmV0IERNQSBSeCBkZXNjcmlwdG9ycyBGcmFtZSBsZW5ndGggU2hpZnQgKi8KKyNkZWZpbmUgIEVUSF9ETUFSWERFU0NfRlJBTUVMRU5HVEhTSElGVCAgICAgICAgICAgICgodWludDMyX3QpMTYpCisKKy8qIEV0aGVybmV0IE1BQyBhZGRyZXNzIG9mZnNldHMgKi8KKyNkZWZpbmUgRVRIX01BQ19BRERSX0hCQVNFICAgICh1aW50MzJfdCkoRVRIX01BQ19CQVNFICsgKHVpbnQzMl90KTB4NDBVKSAgLyogRXRoZXJuZXQgTUFDIGFkZHJlc3MgaGlnaCBvZmZzZXQgKi8KKyNkZWZpbmUgRVRIX01BQ19BRERSX0xCQVNFICAgICh1aW50MzJfdCkoRVRIX01BQ19CQVNFICsgKHVpbnQzMl90KTB4NDRVKSAgLyogRXRoZXJuZXQgTUFDIGFkZHJlc3MgbG93IG9mZnNldCAqLworCisvKiBFdGhlcm5ldCBNQUNNSUlBUiByZWdpc3RlciBNYXNrICovCisjZGVmaW5lIEVUSF9NQUNNSUlBUl9DUl9NQVNLICAgICgodWludDMyX3QpMHhGRkZGRkZFM1UpCisKKy8qIEV0aGVybmV0IE1BQ0NSIHJlZ2lzdGVyIE1hc2sgKi8KKyNkZWZpbmUgRVRIX01BQ0NSX0NMRUFSX01BU0sgICAgKCh1aW50MzJfdCkweEZGMjA4MTBGVSkKKworLyogRXRoZXJuZXQgTUFDRkNSIHJlZ2lzdGVyIE1hc2sgKi8KKyNkZWZpbmUgRVRIX01BQ0ZDUl9DTEVBUl9NQVNLICAgKCh1aW50MzJfdCkweDAwMDBGRjQxVSkKKworLyogRXRoZXJuZXQgRE1BT01SIHJlZ2lzdGVyIE1hc2sgKi8KKyNkZWZpbmUgRVRIX0RNQU9NUl9DTEVBUl9NQVNLICAgKCh1aW50MzJfdCkweEY4REUzRjIzVSkKKworLyogRXRoZXJuZXQgUmVtb3RlIFdha2UtdXAgZnJhbWUgcmVnaXN0ZXIgbGVuZ3RoICovCisjZGVmaW5lIEVUSF9XQUtFVVBfUkVHSVNURVJfTEVOR1RIICAgICAgOFUKKworLyogRXRoZXJuZXQgTWlzc2VkIGZyYW1lcyBjb3VudGVyIFNoaWZ0ICovCisjZGVmaW5lICBFVEhfRE1BX1JYX09WRVJGTE9XX01JU1NFREZSQU1FU19DT1VOVEVSU0hJRlQgICAgIDE3VQorIC8qKgorICAqIEB9CisgICovCisKKy8qIEV4cG9ydGVkIHR5cGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKiogQGRlZmdyb3VwIEVUSF9FeHBvcnRlZF9UeXBlcyBFVEggRXhwb3J0ZWQgVHlwZXMKKyAgKiBAeworICAqLworCisvKioKKyAgKiBAYnJpZWYgIEhBTCBTdGF0ZSBzdHJ1Y3R1cmVzIGRlZmluaXRpb24KKyAgKi8KK3R5cGVkZWYgZW51bQoreworICBIQUxfRVRIX1NUQVRFX1JFU0VUICAgICAgICAgICAgID0gMHgwMFUsICAgIC8qITwgUGVyaXBoZXJhbCBub3QgeWV0IEluaXRpYWxpemVkIG9yIGRpc2FibGVkICAgICAgICAgKi8KKyAgSEFMX0VUSF9TVEFURV9SRUFEWSAgICAgICAgICAgICA9IDB4MDFVLCAgICAvKiE8IFBlcmlwaGVyYWwgSW5pdGlhbGl6ZWQgYW5kIHJlYWR5IGZvciB1c2UgICAgICAgICAgICovCisgIEhBTF9FVEhfU1RBVEVfQlVTWSAgICAgICAgICAgICAgPSAweDAyVSwgICAgLyohPCBhbiBpbnRlcm5hbCBwcm9jZXNzIGlzIG9uZ29pbmcgICAgICAgICAgICAgICAgICAgICAqLworICBIQUxfRVRIX1NUQVRFX0JVU1lfVFggICAgICAgICAgID0gMHgxMlUsICAgIC8qITwgRGF0YSBUcmFuc21pc3Npb24gcHJvY2VzcyBpcyBvbmdvaW5nICAgICAgICAgICAgICAgKi8KKyAgSEFMX0VUSF9TVEFURV9CVVNZX1JYICAgICAgICAgICA9IDB4MjJVLCAgICAvKiE8IERhdGEgUmVjZXB0aW9uIHByb2Nlc3MgaXMgb25nb2luZyAgICAgICAgICAgICAgICAgICovCisgIEhBTF9FVEhfU1RBVEVfQlVTWV9UWF9SWCAgICAgICAgPSAweDMyVSwgICAgLyohPCBEYXRhIFRyYW5zbWlzc2lvbiBhbmQgUmVjZXB0aW9uIHByb2Nlc3MgaXMgb25nb2luZyAqLworICBIQUxfRVRIX1NUQVRFX0JVU1lfV1IgICAgICAgICAgID0gMHg0MlUsICAgIC8qITwgV3JpdGUgcHJvY2VzcyBpcyBvbmdvaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgSEFMX0VUSF9TVEFURV9CVVNZX1JEICAgICAgICAgICA9IDB4ODJVLCAgICAvKiE8IFJlYWQgcHJvY2VzcyBpcyBvbmdvaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIEhBTF9FVEhfU1RBVEVfVElNRU9VVCAgICAgICAgICAgPSAweDAzVSwgICAgLyohPCBUaW1lb3V0IHN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBIQUxfRVRIX1NUQVRFX0VSUk9SICAgICAgICAgICAgID0gMHgwNFUgICAgIC8qITwgUmVjZXB0aW9uIHByb2Nlc3MgaXMgb25nb2luZyAgICAgICAgICAgICAgICAgICAgICAgKi8KK31IQUxfRVRIX1N0YXRlVHlwZURlZjsKKworLyoqCisgICogQGJyaWVmICBFVEggSW5pdCBTdHJ1Y3R1cmUgZGVmaW5pdGlvbgorICAqLworCit0eXBlZGVmIHN0cnVjdAoreworICB1aW50MzJfdCAgICAgICAgICAgICBBdXRvTmVnb3RpYXRpb247ICAgICAgICAgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBBdXRvTmVnb3RpYXRpb24gbW9kZSBmb3IgdGhlIGV4dGVybmFsIFBIWQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgQXV0b05lZ290aWF0aW9uIGFsbG93cyBhbiBhdXRvbWF0aWMgc2V0dGluZyBvZiB0aGUgU3BlZWQgKDEwLzEwME1icHMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCB0aGUgbW9kZSAoaGFsZi9mdWxsLWR1cGxleCkuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0F1dG9OZWdvdGlhdGlvbiAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIFNwZWVkOyAgICAgICAgICAgICAgICAgICAgIC8qITwgU2V0cyB0aGUgRXRoZXJuZXQgc3BlZWQ6IDEwLzEwMCBNYnBzLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9TcGVlZCAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIER1cGxleE1vZGU7ICAgICAgICAgICAgICAgIC8qITwgU2VsZWN0cyB0aGUgTUFDIGR1cGxleCBtb2RlOiBIYWxmLUR1cGxleCBvciBGdWxsLUR1cGxleCBtb2RlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0R1cGxleF9Nb2RlICovCisKKyAgdWludDE2X3QgICAgICAgICAgICAgUGh5QWRkcmVzczsgICAgICAgICAgICAgICAgLyohPCBFdGhlcm5ldCBQSFkgYWRkcmVzcy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIE1pbl9EYXRhID0gMCBhbmQgTWF4X0RhdGEgPSAzMiAqLworCisgIHVpbnQ4X3QgICAgICAgICAgICAgKk1BQ0FkZHI7ICAgICAgICAgICAgICAgICAgIC8qITwgTUFDIEFkZHJlc3Mgb2YgdXNlZCBIYXJkd2FyZTogbXVzdCBiZSBwb2ludGVyIG9uIGFuIGFycmF5IG9mIDYgYnl0ZXMgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBSeE1vZGU7ICAgICAgICAgICAgICAgICAgICAvKiE8IFNlbGVjdHMgdGhlIEV0aGVybmV0IFJ4IG1vZGU6IFBvbGxpbmcgbW9kZSwgSW50ZXJydXB0IG1vZGUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1J4X01vZGUgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBDaGVja3N1bU1vZGU7ICAgICAgICAgICAgICAvKiE8IFNlbGVjdHMgaWYgdGhlIGNoZWNrc3VtIGlzIGNoZWNrIGJ5IGhhcmR3YXJlIG9yIGJ5IHNvZnR3YXJlLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfQ2hlY2tzdW1fTW9kZSAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIE1lZGlhSW50ZXJmYWNlICAgIDsgICAgICAgICAgICAgICAvKiE8IFNlbGVjdHMgdGhlIG1lZGlhLWluZGVwZW5kZW50IGludGVyZmFjZSBvciB0aGUgcmVkdWNlZCBtZWRpYS1pbmRlcGVuZGVudCBpbnRlcmZhY2UuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9NZWRpYV9JbnRlcmZhY2UgKi8KKworfSBFVEhfSW5pdFR5cGVEZWY7CisKKworIC8qKgorICAqIEBicmllZiAgRVRIIE1BQyBDb25maWd1cmF0aW9uIFN0cnVjdHVyZSBkZWZpbml0aW9uCisgICovCisKK3R5cGVkZWYgc3RydWN0Cit7CisgIHVpbnQzMl90ICAgICAgICAgICAgIFdhdGNoZG9nOyAgICAgICAgICAgICAgICAgIC8qITwgU2VsZWN0cyBvciBub3QgdGhlIFdhdGNoZG9nIHRpbWVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdoZW4gZW5hYmxlZCwgdGhlIE1BQyBhbGxvd3Mgbm8gbW9yZSB0aGVuIDIwNDggYnl0ZXMgdG8gYmUgcmVjZWl2ZWQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdoZW4gZGlzYWJsZWQsIHRoZSBNQUMgY2FuIHJlY2VpdmUgdXAgdG8gMTYzODQgYnl0ZXMuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1dhdGNoZG9nICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgSmFiYmVyOyAgICAgICAgICAgICAgICAgICAgLyohPCBTZWxlY3RzIG9yIG5vdCBKYWJiZXIgdGltZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2hlbiBlbmFibGVkLCB0aGUgTUFDIGFsbG93cyBubyBtb3JlIHRoZW4gMjA0OCBieXRlcyB0byBiZSBzZW50LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaGVuIGRpc2FibGVkLCB0aGUgTUFDIGNhbiBzZW5kIHVwIHRvIDE2Mzg0IGJ5dGVzLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9KYWJiZXIgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBJbnRlckZyYW1lR2FwOyAgICAgICAgICAgICAvKiE8IFNlbGVjdHMgdGhlIG1pbmltdW0gSUZHIGJldHdlZW4gZnJhbWVzIGR1cmluZyB0cmFuc21pc3Npb24uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0ludGVyX0ZyYW1lX0dhcCAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIENhcnJpZXJTZW5zZTsgICAgICAgICAgICAgIC8qITwgU2VsZWN0cyBvciBub3QgdGhlIENhcnJpZXIgU2Vuc2UuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0NhcnJpZXJfU2Vuc2UgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBSZWNlaXZlT3duOyAgICAgICAgICAgICAgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBSZWNlaXZlT3duLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNlaXZlT3duIGFsbG93cyB0aGUgcmVjZXB0aW9uIG9mIGZyYW1lcyB3aGVuIHRoZSBUWF9FTiBzaWduYWwgaXMgYXNzZXJ0ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gSGFsZi1EdXBsZXggbW9kZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfUmVjZWl2ZV9Pd24gKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBMb29wYmFja01vZGU7ICAgICAgICAgICAgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBpbnRlcm5hbCBNQUMgTUlJIExvb3BiYWNrIG1vZGUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0xvb3BfQmFja19Nb2RlICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgQ2hlY2tzdW1PZmZsb2FkOyAgICAgICAgICAgLyohPCBTZWxlY3RzIG9yIG5vdCB0aGUgSVB2NCBjaGVja3N1bSBjaGVja2luZyBmb3IgcmVjZWl2ZWQgZnJhbWUgcGF5bG9hZHMnIFRDUC9VRFAvSUNNUCBoZWFkZXJzLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9DaGVja3N1bV9PZmZsb2FkICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgUmV0cnlUcmFuc21pc3Npb247ICAgICAgICAgLyohPCBTZWxlY3RzIG9yIG5vdCB0aGUgTUFDIGF0dGVtcHQgcmV0cmllcyB0cmFuc21pc3Npb24sIGJhc2VkIG9uIHRoZSBzZXR0aW5ncyBvZiBCTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlbiBhIGNvbGxpc2lvbiBvY2N1cnMgKEhhbGYtRHVwbGV4IG1vZGUpLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9SZXRyeV9UcmFuc21pc3Npb24gKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBBdXRvbWF0aWNQYWRDUkNTdHJpcDsgICAgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBBdXRvbWF0aWMgTUFDIFBhZC9DUkMgU3RyaXBwaW5nLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9BdXRvbWF0aWNfUGFkX0NSQ19TdHJpcCAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIEJhY2tPZmZMaW1pdDsgICAgICAgICAgICAgIC8qITwgU2VsZWN0cyB0aGUgQmFja09mZiBsaW1pdCB2YWx1ZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfQmFja19PZmZfTGltaXQgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBEZWZlcnJhbENoZWNrOyAgICAgICAgICAgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBkZWZlcnJhbCBjaGVjayBmdW5jdGlvbiAoSGFsZi1EdXBsZXggbW9kZSkuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0RlZmVycmFsX0NoZWNrICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgUmVjZWl2ZUFsbDsgICAgICAgICAgICAgICAgLyohPCBTZWxlY3RzIG9yIG5vdCBhbGwgZnJhbWVzIHJlY2VwdGlvbiBieSB0aGUgTUFDIChObyBmaWx0ZXJpbmcpLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9SZWNlaXZlX0FsbCAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIFNvdXJjZUFkZHJGaWx0ZXI7ICAgICAgICAgIC8qITwgU2VsZWN0cyB0aGUgU291cmNlIEFkZHJlc3MgRmlsdGVyIG1vZGUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1NvdXJjZV9BZGRyX0ZpbHRlciAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIFBhc3NDb250cm9sRnJhbWVzOyAgICAgICAgIC8qITwgU2V0cyB0aGUgZm9yd2FyZGluZyBtb2RlIG9mIHRoZSBjb250cm9sIGZyYW1lcyAoaW5jbHVkaW5nIHVuaWNhc3QgYW5kIG11bHRpY2FzdCBQQVVTRSBmcmFtZXMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1Bhc3NfQ29udHJvbF9GcmFtZXMgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBCcm9hZGNhc3RGcmFtZXNSZWNlcHRpb247ICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSByZWNlcHRpb24gb2YgQnJvYWRjYXN0IEZyYW1lcy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfQnJvYWRjYXN0X0ZyYW1lc19SZWNlcHRpb24gKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBEZXN0aW5hdGlvbkFkZHJGaWx0ZXI7ICAgICAvKiE8IFNldHMgdGhlIGRlc3RpbmF0aW9uIGZpbHRlciBtb2RlIGZvciBib3RoIHVuaWNhc3QgYW5kIG11bHRpY2FzdCBmcmFtZXMuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0Rlc3RpbmF0aW9uX0FkZHJfRmlsdGVyICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgUHJvbWlzY3VvdXNNb2RlOyAgICAgICAgICAgLyohPCBTZWxlY3RzIG9yIG5vdCB0aGUgUHJvbWlzY3VvdXMgTW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9Qcm9taXNjdW91c19Nb2RlICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgTXVsdGljYXN0RnJhbWVzRmlsdGVyOyAgICAgLyohPCBTZWxlY3RzIHRoZSBNdWx0aWNhc3QgRnJhbWVzIGZpbHRlciBtb2RlOiBOb25lL0hhc2hUYWJsZUZpbHRlci9QZXJmZWN0RmlsdGVyL1BlcmZlY3RIYXNoVGFibGVGaWx0ZXIuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX011bHRpY2FzdF9GcmFtZXNfRmlsdGVyICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgVW5pY2FzdEZyYW1lc0ZpbHRlcjsgICAgICAgLyohPCBTZWxlY3RzIHRoZSBVbmljYXN0IEZyYW1lcyBmaWx0ZXIgbW9kZTogSGFzaFRhYmxlRmlsdGVyL1BlcmZlY3RGaWx0ZXIvUGVyZmVjdEhhc2hUYWJsZUZpbHRlci4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfVW5pY2FzdF9GcmFtZXNfRmlsdGVyICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgSGFzaFRhYmxlSGlnaDsgICAgICAgICAgICAgLyohPCBUaGlzIGZpZWxkIGhvbGRzIHRoZSBoaWdoZXIgMzIgYml0cyBvZiBIYXNoIHRhYmxlLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAweDAgYW5kIE1heF9EYXRhID0gMHhGRkZGRkZGRiAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIEhhc2hUYWJsZUxvdzsgICAgICAgICAgICAgIC8qITwgVGhpcyBmaWVsZCBob2xkcyB0aGUgbG93ZXIgMzIgYml0cyBvZiBIYXNoIHRhYmxlLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAweDAgYW5kIE1heF9EYXRhID0gMHhGRkZGRkZGRiAgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBQYXVzZVRpbWU7ICAgICAgICAgICAgICAgICAvKiE8IFRoaXMgZmllbGQgaG9sZHMgdGhlIHZhbHVlIHRvIGJlIHVzZWQgaW4gdGhlIFBhdXNlIFRpbWUgZmllbGQgaW4gdGhlIHRyYW5zbWl0IGNvbnRyb2wgZnJhbWUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDB4MCBhbmQgTWF4X0RhdGEgPSAweEZGRkYgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBaZXJvUXVhbnRhUGF1c2U7ICAgICAgICAgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBhdXRvbWF0aWMgZ2VuZXJhdGlvbiBvZiBaZXJvLVF1YW50YSBQYXVzZSBDb250cm9sIGZyYW1lcy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfWmVyb19RdWFudGFfUGF1c2UgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBQYXVzZUxvd1RocmVzaG9sZDsgICAgICAgICAvKiE8IFRoaXMgZmllbGQgY29uZmlndXJlcyB0aGUgdGhyZXNob2xkIG9mIHRoZSBQQVVTRSB0byBiZSBjaGVja2VkIGZvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aWMgcmV0cmFuc21pc3Npb24gb2YgUEFVU0UgRnJhbWUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1BhdXNlX0xvd19UaHJlc2hvbGQgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBVbmljYXN0UGF1c2VGcmFtZURldGVjdDsgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBNQUMgZGV0ZWN0aW9uIG9mIHRoZSBQYXVzZSBmcmFtZXMgKHdpdGggTUFDIEFkZHJlc3MwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaWNhc3QgYWRkcmVzcyBhbmQgdW5pcXVlIG11bHRpY2FzdCBhZGRyZXNzKS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfVW5pY2FzdF9QYXVzZV9GcmFtZV9EZXRlY3QgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBSZWNlaXZlRmxvd0NvbnRyb2w7ICAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIE1BQyB0byBkZWNvZGUgdGhlIHJlY2VpdmVkIFBhdXNlIGZyYW1lIGFuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGl0cyB0cmFuc21pdHRlciBmb3IgYSBzcGVjaWZpZWQgdGltZSAoUGF1c2UgVGltZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfUmVjZWl2ZV9GbG93X0NvbnRyb2wgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBUcmFuc21pdEZsb3dDb250cm9sOyAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIE1BQyB0byB0cmFuc21pdCBQYXVzZSBmcmFtZXMgKEZ1bGwtRHVwbGV4IG1vZGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIHRoZSBNQUMgYmFjay1wcmVzc3VyZSBvcGVyYXRpb24gKEhhbGYtRHVwbGV4IG1vZGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1RyYW5zbWl0X0Zsb3dfQ29udHJvbCAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIFZMQU5UYWdDb21wYXJpc29uOyAgICAgICAgIC8qITwgU2VsZWN0cyB0aGUgMTItYml0IFZMQU4gaWRlbnRpZmllciBvciB0aGUgY29tcGxldGUgMTYtYml0IFZMQU4gdGFnIGZvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXJpc29uIGFuZCBmaWx0ZXJpbmcuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1ZMQU5fVGFnX0NvbXBhcmlzb24gKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBWTEFOVGFnSWRlbnRpZmllcjsgICAgICAgICAvKiE8IEhvbGRzIHRoZSBWTEFOIHRhZyBpZGVudGlmaWVyIGZvciByZWNlaXZlIGZyYW1lcyAqLworCit9IEVUSF9NQUNJbml0VHlwZURlZjsKKworCisvKioKKyAgKiBAYnJpZWYgIEVUSCBETUEgQ29uZmlndXJhdGlvbiBTdHJ1Y3R1cmUgZGVmaW5pdGlvbgorICAqLworCit0eXBlZGVmIHN0cnVjdAoreworIHVpbnQzMl90ICAgICAgICAgICAgICBEcm9wVENQSVBDaGVja3N1bUVycm9yRnJhbWU7IC8qITwgU2VsZWN0cyBvciBub3QgdGhlIERyb3BwaW5nIG9mIFRDUC9JUCBDaGVja3N1bSBFcnJvciBGcmFtZXMuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfRHJvcF9UQ1BfSVBfQ2hlY2tzdW1fRXJyb3JfRnJhbWUgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBSZWNlaXZlU3RvcmVGb3J3YXJkOyAgICAgICAgIC8qITwgRW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgUmVjZWl2ZSBzdG9yZSBhbmQgZm9yd2FyZCBtb2RlLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1JlY2VpdmVfU3RvcmVfRm9yd2FyZCAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIEZsdXNoUmVjZWl2ZWRGcmFtZTsgICAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBmbHVzaGluZyBvZiByZWNlaXZlZCBmcmFtZXMuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfRmx1c2hfUmVjZWl2ZWRfRnJhbWUgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBUcmFuc21pdFN0b3JlRm9yd2FyZDsgICAgICAgIC8qITwgRW5hYmxlcyBvciBkaXNhYmxlcyBUcmFuc21pdCBzdG9yZSBhbmQgZm9yd2FyZCBtb2RlLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1RyYW5zbWl0X1N0b3JlX0ZvcndhcmQgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBUcmFuc21pdFRocmVzaG9sZENvbnRyb2w7ICAgIC8qITwgU2VsZWN0cyBvciBub3QgdGhlIFRyYW5zbWl0IFRocmVzaG9sZCBDb250cm9sLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1RyYW5zbWl0X1RocmVzaG9sZF9Db250cm9sICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgRm9yd2FyZEVycm9yRnJhbWVzOyAgICAgICAgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBmb3J3YXJkIHRvIHRoZSBETUEgb2YgZXJyb25lb3VzIGZyYW1lcy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9Gb3J3YXJkX0Vycm9yX0ZyYW1lcyAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIEZvcndhcmRVbmRlcnNpemVkR29vZEZyYW1lczsgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBSeCBGSUZPIHRvIGZvcndhcmQgVW5kZXJzaXplZCBmcmFtZXMgKGZyYW1lcyB3aXRoIG5vIEVycm9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGxlbmd0aCBsZXNzIHRoYW4gNjQgYnl0ZXMpIGluY2x1ZGluZyBwYWQtYnl0ZXMgYW5kIENSQykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9Gb3J3YXJkX1VuZGVyc2l6ZWRfR29vZF9GcmFtZXMgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBSZWNlaXZlVGhyZXNob2xkQ29udHJvbDsgICAgIC8qITwgU2VsZWN0cyB0aGUgdGhyZXNob2xkIGxldmVsIG9mIHRoZSBSZWNlaXZlIEZJRk8uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfUmVjZWl2ZV9UaHJlc2hvbGRfQ29udHJvbCAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIFNlY29uZEZyYW1lT3BlcmF0ZTsgICAgICAgICAgLyohPCBTZWxlY3RzIG9yIG5vdCB0aGUgT3BlcmF0ZSBvbiBzZWNvbmQgZnJhbWUgbW9kZSwgd2hpY2ggYWxsb3dzIHRoZSBETUEgdG8gcHJvY2VzcyBhIHNlY29uZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lIG9mIFRyYW5zbWl0IGRhdGEgZXZlbiBiZWZvcmUgb2J0YWluaW5nIHRoZSBzdGF0dXMgZm9yIHRoZSBmaXJzdCBmcmFtZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9TZWNvbmRfRnJhbWVfT3BlcmF0ZSAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIEFkZHJlc3NBbGlnbmVkQmVhdHM7ICAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBBZGRyZXNzIEFsaWduZWQgQmVhdHMuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfQWRkcmVzc19BbGlnbmVkX0JlYXRzICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgRml4ZWRCdXJzdDsgICAgICAgICAgICAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIEFIQiBNYXN0ZXIgaW50ZXJmYWNlIGZpeGVkIGJ1cnN0IHRyYW5zZmVycy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9GaXhlZF9CdXJzdCAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIFJ4RE1BQnVyc3RMZW5ndGg7ICAgICAgICAgICAgLyohPCBJbmRpY2F0ZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeCBETUEgdHJhbnNhY3Rpb24uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfUnhfRE1BX0J1cnN0X0xlbmd0aCAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIFR4RE1BQnVyc3RMZW5ndGg7ICAgICAgICAgICAgLyohPCBJbmRpY2F0ZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBUeCBETUEgdHJhbnNhY3Rpb24uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfVHhfRE1BX0J1cnN0X0xlbmd0aCAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIEVuaGFuY2VkRGVzY3JpcHRvckZvcm1hdDsgICAgLyohPCBFbmFibGVzIHRoZSBlbmhhbmNlZCBkZXNjcmlwdG9yIGZvcm1hdC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9ETUFfRW5oYW5jZWRfZGVzY3JpcHRvcl9mb3JtYXQgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBEZXNjcmlwdG9yU2tpcExlbmd0aDsgICAgICAgIC8qITwgU3BlY2lmaWVzIHRoZSBudW1iZXIgb2Ygd29yZCB0byBza2lwIGJldHdlZW4gdHdvIHVuY2hhaW5lZCBkZXNjcmlwdG9ycyAoUmluZyBtb2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDAgYW5kIE1heF9EYXRhID0gMzIgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBETUFBcmJpdHJhdGlvbjsgICAgICAgICAgICAgIC8qITwgU2VsZWN0cyB0aGUgRE1BIFR4L1J4IGFyYml0cmF0aW9uLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0RNQV9BcmJpdHJhdGlvbiAqLworfSBFVEhfRE1BSW5pdFR5cGVEZWY7CisKKworLyoqCisgICogQGJyaWVmICBFVEggRE1BIERlc2NyaXB0b3JzIGRhdGEgc3RydWN0dXJlIGRlZmluaXRpb24KKyAgKi8KKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTyB1aW50MzJfdCAgIFN0YXR1czsgICAgICAgICAgIC8qITwgU3RhdHVzICovCisKKyAgdWludDMyX3QgICBDb250cm9sQnVmZmVyU2l6ZTsgICAgIC8qITwgQ29udHJvbCBhbmQgQnVmZmVyMSwgQnVmZmVyMiBsZW5ndGhzICovCisKKyAgdWludDMyX3QgICBCdWZmZXIxQWRkcjsgICAgICAgICAgIC8qITwgQnVmZmVyMSBhZGRyZXNzIHBvaW50ZXIgKi8KKworICB1aW50MzJfdCAgIEJ1ZmZlcjJOZXh0RGVzY0FkZHI7ICAgLyohPCBCdWZmZXIyIG9yIG5leHQgZGVzY3JpcHRvciBhZGRyZXNzIHBvaW50ZXIgKi8KKworICAvKiE8IEVuaGFuY2VkIEV0aGVybmV0IERNQSBQVFAgRGVzY3JpcHRvcnMgKi8KKyAgdWludDMyX3QgICBFeHRlbmRlZFN0YXR1czsgICAgICAgIC8qITwgRXh0ZW5kZWQgc3RhdHVzIGZvciBQVFAgcmVjZWl2ZSBkZXNjcmlwdG9yICovCisKKyAgdWludDMyX3QgICBSZXNlcnZlZDE7ICAgICAgICAgICAgIC8qITwgUmVzZXJ2ZWQgKi8KKworICB1aW50MzJfdCAgIFRpbWVTdGFtcExvdzsgICAgICAgICAgLyohPCBUaW1lIFN0YW1wIExvdyB2YWx1ZSBmb3IgdHJhbnNtaXQgYW5kIHJlY2VpdmUgKi8KKworICB1aW50MzJfdCAgIFRpbWVTdGFtcEhpZ2g7ICAgICAgICAgLyohPCBUaW1lIFN0YW1wIEhpZ2ggdmFsdWUgZm9yIHRyYW5zbWl0IGFuZCByZWNlaXZlICovCisKK30gRVRIX0RNQURlc2NUeXBlRGVmOworCisKKy8qKgorICAqIEBicmllZiAgUmVjZWl2ZWQgRnJhbWUgSW5mb3JtYXRpb24gc3RydWN0dXJlIGRlZmluaXRpb24KKyAgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIEVUSF9ETUFEZXNjVHlwZURlZiAqRlNSeERlc2M7ICAgICAgICAgIC8qITwgRmlyc3QgU2VnbWVudCBSeCBEZXNjICovCisKKyAgRVRIX0RNQURlc2NUeXBlRGVmICpMU1J4RGVzYzsgICAgICAgICAgLyohPCBMYXN0IFNlZ21lbnQgUnggRGVzYyAqLworCisgIHVpbnQzMl90ICBTZWdDb3VudDsgICAgICAgICAgICAgICAgICAgIC8qITwgU2VnbWVudCBjb3VudCAqLworCisgIHVpbnQzMl90IGxlbmd0aDsgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnJhbWUgbGVuZ3RoICovCisKKyAgdWludDMyX3QgYnVmZmVyOyAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGcmFtZSBidWZmZXIgKi8KKworfSBFVEhfRE1BUnhGcmFtZUluZm9zOworCisKKy8qKgorICAqIEBicmllZiAgRVRIIEhhbmRsZSBTdHJ1Y3R1cmUgZGVmaW5pdGlvbgorICAqLworCisjaWYgKFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQordHlwZWRlZiBzdHJ1Y3QgX19FVEhfSGFuZGxlVHlwZURlZgorI2Vsc2UKK3R5cGVkZWYgc3RydWN0CisjZW5kaWYKK3sKKyAgRVRIX1R5cGVEZWYgICAgICAgICAgICAgICAgKkluc3RhbmNlOyAgICAgLyohPCBSZWdpc3RlciBiYXNlIGFkZHJlc3MgICAgICAgKi8KKworICBFVEhfSW5pdFR5cGVEZWYgICAgICAgICAgICBJbml0OyAgICAgICAgICAvKiE8IEV0aGVybmV0IEluaXQgQ29uZmlndXJhdGlvbiAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgIExpbmtTdGF0dXM7ICAgIC8qITwgRXRoZXJuZXQgbGluayBzdGF0dXMgICAgICAgICovCisKKyAgRVRIX0RNQURlc2NUeXBlRGVmICAgICAgICAgKlJ4RGVzYzsgICAgICAgLyohPCBSeCBkZXNjcmlwdG9yIHRvIEdldCAgICAgICAgKi8KKworICBFVEhfRE1BRGVzY1R5cGVEZWYgICAgICAgICAqVHhEZXNjOyAgICAgICAvKiE8IFR4IGRlc2NyaXB0b3IgdG8gU2V0ICAgICAgICAqLworCisgIEVUSF9ETUFSeEZyYW1lSW5mb3MgICAgICAgIFJ4RnJhbWVJbmZvczsgIC8qITwgbGFzdCBSeCBmcmFtZSBpbmZvcyAgICAgICAgICovCisKKyAgX19JTyBIQUxfRVRIX1N0YXRlVHlwZURlZiAgU3RhdGU7ICAgICAgICAgLyohPCBFVEggY29tbXVuaWNhdGlvbiBzdGF0ZSAgICAgKi8KKworICBIQUxfTG9ja1R5cGVEZWYgICAgICAgICAgICBMb2NrOyAgICAgICAgICAvKiE8IEVUSCBMb2NrICAgICAgICAgICAgICAgICAgICAqLworCisgICNpZiAoVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCisKKyAgdm9pZCAgICAoKiBUeENwbHRDYWxsYmFjaykgICAgICggc3RydWN0IF9fRVRIX0hhbmRsZVR5cGVEZWYgKiBoZXRoKTsgIC8qITwgRVRIIFR4IENvbXBsZXRlIENhbGxiYWNrICAgKi8KKyAgdm9pZCAgICAoKiBSeENwbHRDYWxsYmFjaykgICAgICggc3RydWN0IF9fRVRIX0hhbmRsZVR5cGVEZWYgKiBoZXRoKTsgIC8qITwgRVRIIFJ4ICBDb21wbGV0ZSBDYWxsYmFjayAgICovCisgIHZvaWQgICAgKCogRE1BRXJyb3JDYWxsYmFjaykgICAoIHN0cnVjdCBfX0VUSF9IYW5kbGVUeXBlRGVmICogaGV0aCk7ICAvKiE8IERNQSBFcnJvciBDYWxsYmFjayAgICAgICovCisgIHZvaWQgICAgKCogTXNwSW5pdENhbGxiYWNrKSAgICAoIHN0cnVjdCBfX0VUSF9IYW5kbGVUeXBlRGVmICogaGV0aCk7ICAvKiE8IEVUSCBNc3AgSW5pdCBjYWxsYmFjayAgICAgICAqLworICB2b2lkICAgICgqIE1zcERlSW5pdENhbGxiYWNrKSAgKCBzdHJ1Y3QgX19FVEhfSGFuZGxlVHlwZURlZiAqIGhldGgpOyAgLyohPCBFVEggTXNwIERlSW5pdCBjYWxsYmFjayAgICAgKi8KKworI2VuZGlmICAvKiBVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KKworfSBFVEhfSGFuZGxlVHlwZURlZjsKKworCisjaWYgKFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQorLyoqCisgICogQGJyaWVmICBIQUwgRVRIIENhbGxiYWNrIElEIGVudW1lcmF0aW9uIGRlZmluaXRpb24KKyAgKi8KK3R5cGVkZWYgZW51bQoreworICBIQUxfRVRIX01TUElOSVRfQ0JfSUQgICAgICAgICAgICA9IDB4MDBVLCAgICAvKiE8IEVUSCBNc3BJbml0IGNhbGxiYWNrIElEICAgICAgICAgICAgKi8KKyAgSEFMX0VUSF9NU1BERUlOSVRfQ0JfSUQgICAgICAgICAgPSAweDAxVSwgICAgLyohPCBFVEggTXNwRGVJbml0IGNhbGxiYWNrIElEICAgICAgICAgICovCisgIEhBTF9FVEhfVFhfQ09NUExFVEVfQ0JfSUQgICAgICAgID0gMHgwMlUsICAgIC8qITwgRVRIIFR4IENvbXBsZXRlIENhbGxiYWNrIElEICAgICAgICAqLworICBIQUxfRVRIX1JYX0NPTVBMRVRFX0NCX0lEICAgICAgICA9IDB4MDNVLCAgICAvKiE8IEVUSCBSeCBDb21wbGV0ZSBDYWxsYmFjayBJRCAgICAgICAgKi8KKyAgSEFMX0VUSF9ETUFfRVJST1JfQ0JfSUQgICAgICAgICAgPSAweDA0VSwgICAgLyohPCBFVEggRE1BIEVycm9yIENhbGxiYWNrIElEICAgICAgICAgICovCisKK31IQUxfRVRIX0NhbGxiYWNrSURUeXBlRGVmOworCisvKioKKyAgKiBAYnJpZWYgIEhBTCBFVEggQ2FsbGJhY2sgcG9pbnRlciBkZWZpbml0aW9uCisgICovCit0eXBlZGVmICB2b2lkICgqcEVUSF9DYWxsYmFja1R5cGVEZWYpKEVUSF9IYW5kbGVUeXBlRGVmICogaGV0aCk7IC8qITwgcG9pbnRlciB0byBhbiBFVEggY2FsbGJhY2sgZnVuY3Rpb24gKi8KKworI2VuZGlmIC8qIFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyAqLworCisgLyoqCisgICogQH0KKyAgKi8KKworLyogRXhwb3J0ZWQgY29uc3RhbnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qKiBAZGVmZ3JvdXAgRVRIX0V4cG9ydGVkX0NvbnN0YW50cyBFVEggRXhwb3J0ZWQgQ29uc3RhbnRzCisgICogQHsKKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfQnVmZmVyc19zZXR0aW5nIEVUSCBCdWZmZXJzIHNldHRpbmcKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfTUFYX1BBQ0tFVF9TSVpFICAgICgodWludDMyX3QpMTUyNFUpICAgIC8qITwgRVRIX0hFQURFUiArIEVUSF9FWFRSQSArIEVUSF9WTEFOX1RBRyArIEVUSF9NQVhfRVRIX1BBWUxPQUQgKyBFVEhfQ1JDICovCisjZGVmaW5lIEVUSF9IRUFERVIgICAgICAgICAgICAgICAoKHVpbnQzMl90KTE0VSkgICAgLyohPCA2IGJ5dGUgRGVzdCBhZGRyLCA2IGJ5dGUgU3JjIGFkZHIsIDIgYnl0ZSBsZW5ndGgvdHlwZSAqLworI2RlZmluZSBFVEhfQ1JDICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpNFUpICAgIC8qITwgRXRoZXJuZXQgQ1JDICovCisjZGVmaW5lIEVUSF9FWFRSQSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkyVSkgICAgLyohPCBFeHRyYSBieXRlcyBpbiBzb21lIGNhc2VzICovCisjZGVmaW5lIEVUSF9WTEFOX1RBRyAgICAgICAgICAgICAgKCh1aW50MzJfdCk0VSkgICAgLyohPCBvcHRpb25hbCA4MDIuMXEgVkxBTiBUYWcgKi8KKyNkZWZpbmUgRVRIX01JTl9FVEhfUEFZTE9BRCAgICAgICAoKHVpbnQzMl90KTQ2VSkgICAgLyohPCBNaW5pbXVtIEV0aGVybmV0IHBheWxvYWQgc2l6ZSAqLworI2RlZmluZSBFVEhfTUFYX0VUSF9QQVlMT0FEICAgICAgICgodWludDMyX3QpMTUwMFUpICAgIC8qITwgTWF4aW11bSBFdGhlcm5ldCBwYXlsb2FkIHNpemUgKi8KKyNkZWZpbmUgRVRIX0pVTUJPX0ZSQU1FX1BBWUxPQUQgICAoKHVpbnQzMl90KTkwMDBVKSAgICAvKiE8IEp1bWJvIGZyYW1lIHBheWxvYWQgc2l6ZSAqLworCisgLyogRXRoZXJuZXQgZHJpdmVyIHJlY2VpdmUgYnVmZmVycyBhcmUgb3JnYW5pemVkIGluIGEgY2hhaW5lZCBsaW5rZWQtbGlzdCwgd2hlbgorICAgIGFuIEV0aGVybmV0IHBhY2tldCBpcyByZWNlaXZlZCwgdGhlIFJ4LURNQSB3aWxsIHRyYW5zZmVyIHRoZSBwYWNrZXQgZnJvbSBSeEZJRk8KKyAgICB0byB0aGUgZHJpdmVyIHJlY2VpdmUgYnVmZmVycyBtZW1vcnkuCisKKyAgICBEZXBlbmRpbmcgb24gdGhlIHNpemUgb2YgdGhlIHJlY2VpdmVkIEV0aGVybmV0IHBhY2tldCBhbmQgdGhlIHNpemUgb2YKKyAgICBlYWNoIEV0aGVybmV0IGRyaXZlciByZWNlaXZlIGJ1ZmZlciwgdGhlIHJlY2VpdmVkIHBhY2tldCBjYW4gdGFrZSBvbmUgb3IgbW9yZQorICAgIEV0aGVybmV0IGRyaXZlciByZWNlaXZlIGJ1ZmZlci4KKworICAgIEluIGJlbG93IGFyZSBkZWZpbmVkIHRoZSBzaXplIG9mIG9uZSBFdGhlcm5ldCBkcml2ZXIgcmVjZWl2ZSBidWZmZXIgRVRIX1JYX0JVRl9TSVpFCisgICAgYW5kIHRoZSB0b3RhbCBjb3VudCBvZiB0aGUgZHJpdmVyIHJlY2VpdmUgYnVmZmVycyBFVEhfUlhCVUZOQi4KKworICAgIFRoZSBjb25maWd1cmVkIHZhbHVlIGZvciBFVEhfUlhfQlVGX1NJWkUgYW5kIEVUSF9SWEJVRk5CIGFyZSBvbmx5IHByb3ZpZGVkIGFzCisgICAgZXhhbXBsZSwgdGhleSBjYW4gYmUgcmVjb25maWd1cmVkIGluIHRoZSBhcHBsaWNhdGlvbiBsYXllciB0byBmaXQgdGhlIGFwcGxpY2F0aW9uCisgICAgbmVlZHMgKi8KKworLyogSGVyZSB3ZSBjb25maWd1cmUgZWFjaCBFdGhlcm5ldCBkcml2ZXIgcmVjZWl2ZSBidWZmZXIgdG8gZml0IHRoZSBNYXggc2l6ZSBFdGhlcm5ldAorICAgcGFja2V0ICovCisjaWZuZGVmIEVUSF9SWF9CVUZfU0laRQorICNkZWZpbmUgRVRIX1JYX0JVRl9TSVpFICAgICAgICAgRVRIX01BWF9QQUNLRVRfU0laRQorI2VuZGlmCisKKy8qIDUgRXRoZXJuZXQgZHJpdmVyIHJlY2VpdmUgYnVmZmVycyBhcmUgdXNlZCAoaW4gYSBjaGFpbmVkIGxpbmtlZCBsaXN0KSovCisjaWZuZGVmIEVUSF9SWEJVRk5CCisgI2RlZmluZSBFVEhfUlhCVUZOQiAgICAgICAgICAgICAoKHVpbnQzMl90KTVVKSAgICAgLyogIDUgUnggYnVmZmVycyBvZiBzaXplIEVUSF9SWF9CVUZfU0laRSAqLworI2VuZGlmCisKKworIC8qIEV0aGVybmV0IGRyaXZlciB0cmFuc21pdCBidWZmZXJzIGFyZSBvcmdhbml6ZWQgaW4gYSBjaGFpbmVkIGxpbmtlZC1saXN0LCB3aGVuCisgICAgYW4gRXRoZXJuZXQgcGFja2V0IGlzIHRyYW5zbWl0dGVkLCBUeC1ETUEgd2lsbCB0cmFuc2ZlciB0aGUgcGFja2V0IGZyb20gdGhlCisgICAgZHJpdmVyIHRyYW5zbWl0IGJ1ZmZlcnMgbWVtb3J5IHRvIHRoZSBUeEZJRk8uCisKKyAgICBEZXBlbmRpbmcgb24gdGhlIHNpemUgb2YgdGhlIEV0aGVybmV0IHBhY2tldCB0byBiZSB0cmFuc21pdHRlZCBhbmQgdGhlIHNpemUgb2YKKyAgICBlYWNoIEV0aGVybmV0IGRyaXZlciB0cmFuc21pdCBidWZmZXIsIHRoZSBwYWNrZXQgdG8gYmUgdHJhbnNtaXR0ZWQgY2FuIHRha2UKKyAgICBvbmUgb3IgbW9yZSBFdGhlcm5ldCBkcml2ZXIgdHJhbnNtaXQgYnVmZmVyLgorCisgICAgSW4gYmVsb3cgYXJlIGRlZmluZWQgdGhlIHNpemUgb2Ygb25lIEV0aGVybmV0IGRyaXZlciB0cmFuc21pdCBidWZmZXIgRVRIX1RYX0JVRl9TSVpFCisgICAgYW5kIHRoZSB0b3RhbCBjb3VudCBvZiB0aGUgZHJpdmVyIHRyYW5zbWl0IGJ1ZmZlcnMgRVRIX1RYQlVGTkIuCisKKyAgICBUaGUgY29uZmlndXJlZCB2YWx1ZSBmb3IgRVRIX1RYX0JVRl9TSVpFIGFuZCBFVEhfVFhCVUZOQiBhcmUgb25seSBwcm92aWRlZCBhcworICAgIGV4YW1wbGUsIHRoZXkgY2FuIGJlIHJlY29uZmlndXJlZCBpbiB0aGUgYXBwbGljYXRpb24gbGF5ZXIgdG8gZml0IHRoZSBhcHBsaWNhdGlvbgorICAgIG5lZWRzICovCisKKy8qIEhlcmUgd2UgY29uZmlndXJlIGVhY2ggRXRoZXJuZXQgZHJpdmVyIHRyYW5zbWl0IGJ1ZmZlciB0byBmaXQgdGhlIE1heCBzaXplIEV0aGVybmV0CisgICBwYWNrZXQgKi8KKyNpZm5kZWYgRVRIX1RYX0JVRl9TSVpFCisgI2RlZmluZSBFVEhfVFhfQlVGX1NJWkUgICAgICAgICBFVEhfTUFYX1BBQ0tFVF9TSVpFCisjZW5kaWYKKworLyogNSBFdGhlcm5ldCBkcml2ZXIgdHJhbnNtaXQgYnVmZmVycyBhcmUgdXNlZCAoaW4gYSBjaGFpbmVkIGxpbmtlZCBsaXN0KSovCisjaWZuZGVmIEVUSF9UWEJVRk5CCisgI2RlZmluZSBFVEhfVFhCVUZOQiAgICAgICAgICAgICAoKHVpbnQzMl90KTVVKSAgICAgIC8qIDUgIFR4IGJ1ZmZlcnMgb2Ygc2l6ZSBFVEhfVFhfQlVGX1NJWkUgKi8KKyNlbmRpZgorCisgLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfRE1BX1RYX0Rlc2NyaXB0b3IgRVRIIERNQSBUWCBEZXNjcmlwdG9yCisgICogQHsKKyAgKi8KKworLyoKKyAgIERNQSBUeCBEZXNjcmlwdG9yCisgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIFRERVMwIHwgT1dOKDMxKSB8IENUUkxbMzA6MjZdIHwgUmVzZXJ2ZWRbMjU6MjRdIHwgQ1RSTFsyMzoyMF0gfCBSZXNlcnZlZFsxOToxN10gfCBTdGF0dXNbMTY6MF0gfAorICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICBUREVTMSB8IFJlc2VydmVkWzMxOjI5XSB8IEJ1ZmZlcjIgQnl0ZUNvdW50WzI4OjE2XSB8IFJlc2VydmVkWzE1OjEzXSB8IEJ1ZmZlcjEgQnl0ZUNvdW50WzEyOjBdIHwKKyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgVERFUzIgfCAgICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXIxIEFkZHJlc3MgWzMxOjBdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIFRERVMzIHwgICAgICAgICAgICAgICAgICAgQnVmZmVyMiBBZGRyZXNzIFszMTowXSAvIE5leHQgRGVzY3JpcHRvciBBZGRyZXNzIFszMTowXSAgICAgICAgICAgICAgfAorICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKi8KKworLyoqCisgICogQGJyaWVmICBCaXQgZGVmaW5pdGlvbiBvZiBUREVTMCByZWdpc3RlcjogRE1BIFR4IGRlc2NyaXB0b3Igc3RhdHVzIHJlZ2lzdGVyCisgICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfT1dOICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDgwMDAwMDAwVSkgIC8qITwgT1dOIGJpdDogZGVzY3JpcHRvciBpcyBvd25lZCBieSBETUEgZW5naW5lICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfSUMgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDQwMDAwMDAwVSkgIC8qITwgSW50ZXJydXB0IG9uIENvbXBsZXRpb24gKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19MUyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDBVKSAgLyohPCBMYXN0IFNlZ21lbnQgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19GUyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDBVKSAgLyohPCBGaXJzdCBTZWdtZW50ICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfREMgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwVSkgIC8qITwgRGlzYWJsZSBDUkMgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19EUCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDBVKSAgLyohPCBEaXNhYmxlIFBhZGRpbmcgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19UVFNFICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDBVKSAgLyohPCBUcmFuc21pdCBUaW1lIFN0YW1wIEVuYWJsZSAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0NJQyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMEMwMDAwMFUpICAvKiE8IENoZWNrc3VtIEluc2VydGlvbiBDb250cm9sOiA0IGNhc2VzICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0lDX0JZUEFTUyAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkgIC8qITwgRG8gTm90aGluZzogQ2hlY2tzdW0gRW5naW5lIGlzIGJ5cGFzc2VkICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0lDX0lQVjRIRUFERVIgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwVSkgIC8qITwgSVBWNCBoZWFkZXIgQ2hlY2tzdW0gSW5zZXJ0aW9uICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0lDX1RDUFVEUElDTVBfU0VHTUVOVCAgKCh1aW50MzJfdCkweDAwODAwMDAwVSkgIC8qITwgVENQL1VEUC9JQ01QIENoZWNrc3VtIEluc2VydGlvbiBjYWxjdWxhdGVkIG92ZXIgc2VnbWVudCBvbmx5ICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0lDX1RDUFVEUElDTVBfRlVMTCAgICAgKCh1aW50MzJfdCkweDAwQzAwMDAwVSkgIC8qITwgVENQL1VEUC9JQ01QIENoZWNrc3VtIEluc2VydGlvbiBmdWxseSBjYWxjdWxhdGVkICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfVEVSICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwVSkgIC8qITwgVHJhbnNtaXQgRW5kIG9mIFJpbmcgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19UQ0ggICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDBVKSAgLyohPCBTZWNvbmQgQWRkcmVzcyBDaGFpbmVkICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfVFRTUyAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwVSkgIC8qITwgVHggVGltZSBTdGFtcCBTdGF0dXMgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19JSEUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDBVKSAgLyohPCBJUCBIZWFkZXIgRXJyb3IgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19FUyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDBVKSAgLyohPCBFcnJvciBzdW1tYXJ5OiBPUiBvZiB0aGUgZm9sbG93aW5nIGJpdHM6IFVFIHx8IEVEIHx8IEVDIHx8IExDTyB8fCBOQyB8fCBMQ0EgfHwgRkYgfHwgSlQgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19KVCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDBVKSAgLyohPCBKYWJiZXIgVGltZW91dCAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0ZGICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMFUpICAvKiE8IEZyYW1lIEZsdXNoZWQ6IERNQS9NVEwgZmx1c2hlZCB0aGUgZnJhbWUgZHVlIHRvIFNXIGZsdXNoICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfUENFICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwVSkgIC8qITwgUGF5bG9hZCBDaGVja3N1bSBFcnJvciAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0xDQSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMFUpICAvKiE8IExvc3Mgb2YgQ2FycmllcjogY2FycmllciBsb3N0IGR1cmluZyB0cmFuc21pc3Npb24gKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19OQyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDBVKSAgLyohPCBObyBDYXJyaWVyOiBubyBjYXJyaWVyIHNpZ25hbCBmcm9tIHRoZSB0cmFuc2NlaXZlciAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0xDTyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMFUpICAvKiE8IExhdGUgQ29sbGlzaW9uOiB0cmFuc21pc3Npb24gYWJvcnRlZCBkdWUgdG8gY29sbGlzaW9uICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfRUMgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwVSkgIC8qITwgRXhjZXNzaXZlIENvbGxpc2lvbjogdHJhbnNtaXNzaW9uIGFib3J0ZWQgYWZ0ZXIgMTYgY29sbGlzaW9ucyAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX1ZGICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MFUpICAvKiE8IFZMQU4gRnJhbWUgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19DQyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNzhVKSAgLyohPCBDb2xsaXNpb24gQ291bnQgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19FRCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDRVKSAgLyohPCBFeGNlc3NpdmUgRGVmZXJyYWwgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19VRiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDJVKSAgLyohPCBVbmRlcmZsb3cgRXJyb3I6IGxhdGUgZGF0YSBhcnJpdmFsIGZyb20gdGhlIG1lbW9yeSAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0RCICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMVUpICAvKiE8IERlZmVycmVkIEJpdCAqLworCisvKioKKyAgKiBAYnJpZWYgIEJpdCBkZWZpbml0aW9uIG9mIFRERVMxIHJlZ2lzdGVyCisgICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfVEJTMiAgKCh1aW50MzJfdCkweDFGRkYwMDAwVSkgIC8qITwgVHJhbnNtaXQgQnVmZmVyMiBTaXplICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfVEJTMSAgKCh1aW50MzJfdCkweDAwMDAxRkZGVSkgIC8qITwgVHJhbnNtaXQgQnVmZmVyMSBTaXplICovCisKKy8qKgorICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgVERFUzIgcmVnaXN0ZXIKKyAgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19CMUFQICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKSAgLyohPCBCdWZmZXIxIEFkZHJlc3MgUG9pbnRlciAqLworCisvKioKKyAgKiBAYnJpZWYgIEJpdCBkZWZpbml0aW9uIG9mIFRERVMzIHJlZ2lzdGVyCisgICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQjJBUCAgKCh1aW50MzJfdCkweEZGRkZGRkZGVSkgIC8qITwgQnVmZmVyMiBBZGRyZXNzIFBvaW50ZXIgKi8KKworICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICBUREVTNiB8ICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zbWl0IFRpbWUgU3RhbXAgTG93IFszMTowXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgVERFUzcgfCAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc21pdCBUaW1lIFN0YW1wIEhpZ2ggWzMxOjBdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKiBCaXQgZGVmaW5pdGlvbiBvZiBUREVTNiByZWdpc3RlciAqLworICNkZWZpbmUgRVRIX0RNQVBUUFRYREVTQ19UVFNMICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKSAgLyogVHJhbnNtaXQgVGltZSBTdGFtcCBMb3cgKi8KKworLyogQml0IGRlZmluaXRpb24gb2YgVERFUzcgcmVnaXN0ZXIgKi8KKyAjZGVmaW5lIEVUSF9ETUFQVFBUWERFU0NfVFRTSCAgKCh1aW50MzJfdCkweEZGRkZGRkZGVSkgIC8qIFRyYW5zbWl0IFRpbWUgU3RhbXAgSGlnaCAqLworCisvKioKKyAgKiBAfQorICAqLworLyoqIEBkZWZncm91cCBFVEhfRE1BX1JYX0Rlc2NyaXB0b3IgRVRIIERNQSBSWCBEZXNjcmlwdG9yCisgICogQHsKKyAgKi8KKworLyoKKyAgRE1BIFJ4IERlc2NyaXB0b3IKKyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgUkRFUzAgfCBPV04oMzEpIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGF0dXMgWzMwOjBdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgUkRFUzEgfCBDVFJMKDMxKSB8IFJlc2VydmVkWzMwOjI5XSB8IEJ1ZmZlcjIgQnl0ZUNvdW50WzI4OjE2XSB8IENUUkxbMTU6MTRdIHwgUmVzZXJ2ZWQoMTMpIHwgQnVmZmVyMSBCeXRlQ291bnRbMTI6MF0gfAorICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgUkRFUzIgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlcjEgQWRkcmVzcyBbMzE6MF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgUkRFUzMgfCAgICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyMiBBZGRyZXNzIFszMTowXSAvIE5leHQgRGVzY3JpcHRvciBBZGRyZXNzIFszMTowXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyovCisKKy8qKgorICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgUkRFUzAgcmVnaXN0ZXI6IERNQSBSeCBkZXNjcmlwdG9yIHN0YXR1cyByZWdpc3RlcgorICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX09XTiAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMFUpICAvKiE8IE9XTiBiaXQ6IGRlc2NyaXB0b3IgaXMgb3duZWQgYnkgRE1BIGVuZ2luZSAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19BRk0gICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDBVKSAgLyohPCBEQSBGaWx0ZXIgRmFpbCBmb3IgdGhlIHJ4IGZyYW1lICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0ZMICAgICAgICAgICgodWludDMyX3QpMHgzRkZGMDAwMFUpICAvKiE8IFJlY2VpdmUgZGVzY3JpcHRvciBmcmFtZSBsZW5ndGggICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfRVMgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwVSkgIC8qITwgRXJyb3Igc3VtbWFyeTogT1Igb2YgdGhlIGZvbGxvd2luZyBiaXRzOiBERSB8fCBPRSB8fCBJUEMgfHwgTEMgfHwgUldUIHx8IFJFIHx8IENFICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfREUgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwVSkgIC8qITwgRGVzY3JpcHRvciBlcnJvcjogbm8gbW9yZSBkZXNjcmlwdG9ycyBmb3IgcmVjZWl2ZSBmcmFtZSAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19TQUYgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDBVKSAgLyohPCBTQSBGaWx0ZXIgRmFpbCBmb3IgdGhlIHJlY2VpdmVkIGZyYW1lICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfTEUgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwVSkgIC8qITwgRnJhbWUgc2l6ZSBub3QgbWF0Y2hpbmcgd2l0aCBsZW5ndGggZmllbGQgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19PRSAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDBVKSAgLyohPCBPdmVyZmxvdyBFcnJvcjogRnJhbWUgd2FzIGRhbWFnZWQgZHVlIHRvIGJ1ZmZlciBvdmVyZmxvdyAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX1ZMQU4gICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMFUpICAvKiE8IFZMQU4gVGFnOiByZWNlaXZlZCBmcmFtZSBpcyBhIFZMQU4gZnJhbWUgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19GUyAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDBVKSAgLyohPCBGaXJzdCBkZXNjcmlwdG9yIG9mIHRoZSBmcmFtZSAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19MUyAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDBVKSAgLyohPCBMYXN0IGRlc2NyaXB0b3Igb2YgdGhlIGZyYW1lICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0lQVjRIQ0UgICAgICgodWludDMyX3QpMHgwMDAwMDA4MFUpICAvKiE8IElQQyBDaGVja3N1bSBFcnJvcjogUnggSXB2NCBoZWFkZXIgY2hlY2tzdW0gZXJyb3IgICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0xDICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MFUpICAvKiE8IExhdGUgY29sbGlzaW9uIG9jY3VycmVkIGR1cmluZyByZWNlcHRpb24gICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0ZUICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMFUpICAvKiE8IEZyYW1lIHR5cGUgLSBFdGhlcm5ldCwgb3RoZXJ3aXNlIDgwMi4zICAgICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfUldUICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwVSkgIC8qITwgUmVjZWl2ZSBXYXRjaGRvZyBUaW1lb3V0OiB3YXRjaGRvZyB0aW1lciBleHBpcmVkIGR1cmluZyByZWNlcHRpb24gICAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19SRSAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDhVKSAgLyohPCBSZWNlaXZlIGVycm9yOiBlcnJvciByZXBvcnRlZCBieSBNSUkgaW50ZXJmYWNlICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0RCRSAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNFUpICAvKiE8IERyaWJibGUgYml0IGVycm9yOiBmcmFtZSBjb250YWlucyBub24gaW50IG11bHRpcGxlIG9mIDggYml0cyAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19DRSAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDJVKSAgLyohPCBDUkMgZXJyb3IgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19NQU1QQ0UgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDFVKSAgLyohPCBSeCBNQUMgQWRkcmVzcy9QYXlsb2FkIENoZWNrc3VtIEVycm9yOiBSeCBNQUMgYWRkcmVzcyBtYXRjaGVkLyBSeCBQYXlsb2FkIENoZWNrc3VtIEVycm9yICovCisKKy8qKgorICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgUkRFUzEgcmVnaXN0ZXIKKyAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19ESUMgICAoKHVpbnQzMl90KTB4ODAwMDAwMDBVKSAgLyohPCBEaXNhYmxlIEludGVycnVwdCBvbiBDb21wbGV0aW9uICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfUkJTMiAgKCh1aW50MzJfdCkweDFGRkYwMDAwVSkgIC8qITwgUmVjZWl2ZSBCdWZmZXIyIFNpemUgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19SRVIgICAoKHVpbnQzMl90KTB4MDAwMDgwMDBVKSAgLyohPCBSZWNlaXZlIEVuZCBvZiBSaW5nICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfUkNIICAgKCh1aW50MzJfdCkweDAwMDA0MDAwVSkgIC8qITwgU2Vjb25kIEFkZHJlc3MgQ2hhaW5lZCAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX1JCUzEgICgodWludDMyX3QpMHgwMDAwMUZGRlUpICAvKiE8IFJlY2VpdmUgQnVmZmVyMSBTaXplICovCisKKy8qKgorICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgUkRFUzIgcmVnaXN0ZXIKKyAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19CMUFQICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKSAgLyohPCBCdWZmZXIxIEFkZHJlc3MgUG9pbnRlciAqLworCisvKioKKyAgKiBAYnJpZWYgIEJpdCBkZWZpbml0aW9uIG9mIFJERVMzIHJlZ2lzdGVyCisgICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfQjJBUCAgKCh1aW50MzJfdCkweEZGRkZGRkZGVSkgIC8qITwgQnVmZmVyMiBBZGRyZXNzIFBvaW50ZXIgKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgUkRFUzQgfCAgICAgICAgICAgICAgICAgICBSZXNlcnZlZFszMToxNV0gICAgICAgICAgICAgIHwgICAgICAgICAgICAgRXh0ZW5kZWQgU3RhdHVzIFsxNDowXSAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgUkRFUzUgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzZXJ2ZWRbMzE6MF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgUkRFUzYgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlY2VpdmUgVGltZSBTdGFtcCBMb3cgWzMxOjBdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgUkRFUzcgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlY2VpdmUgVGltZSBTdGFtcCBIaWdoIFszMTowXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qIEJpdCBkZWZpbml0aW9uIG9mIFJERVM0IHJlZ2lzdGVyICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQViAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDBVKSAgLyogUFRQIFZlcnNpb24gKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19QVFBGVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMFUpICAvKiBQVFAgRnJhbWUgVHlwZSAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUE1UICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwRjAwVSkgIC8qIFBUUCBNZXNzYWdlIFR5cGUgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19QVFBNVF9TWU5DICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMFUpICAvKiBTWU5DIG1lc3NhZ2UgKGFsbCBjbG9jayB0eXBlcykgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19QVFBNVF9GT0xMT1dVUCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMFUpICAvKiBGb2xsb3dVcCBtZXNzYWdlIChhbGwgY2xvY2sgdHlwZXMpICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfREVMQVlSRVEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAzMDBVKSAgLyogRGVsYXlSZXEgbWVzc2FnZSAoYWxsIGNsb2NrIHR5cGVzKSAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUE1UX0RFTEFZUkVTUCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwVSkgIC8qIERlbGF5UmVzcCBtZXNzYWdlIChhbGwgY2xvY2sgdHlwZXMpICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfUERFTEFZUkVRX0FOTk9VTkNFICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA1MDBVKSAgLyogUGRlbGF5UmVxIG1lc3NhZ2UgKHBlZXItdG8tcGVlciB0cmFuc3BhcmVudCBjbG9jaykgb3IgQW5ub3VuY2UgbWVzc2FnZSAoT3JkaW5hcnkgb3IgQm91bmRhcnkgY2xvY2spICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfUERFTEFZUkVTUF9NQU5BRyAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA2MDBVKSAgLyogUGRlbGF5UmVzcCBtZXNzYWdlIChwZWVyLXRvLXBlZXIgdHJhbnNwYXJlbnQgY2xvY2spIG9yIE1hbmFnZW1lbnQgbWVzc2FnZSAoT3JkaW5hcnkgb3IgQm91bmRhcnkgY2xvY2spICAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUE1UX1BERUxBWVJFU1BGT0xMT1dVUF9TSUdOQUwgKCh1aW50MzJfdCkweDAwMDAwNzAwVSkgIC8qIFBkZWxheVJlc3BGb2xsb3dVcCBtZXNzYWdlIChwZWVyLXRvLXBlZXIgdHJhbnNwYXJlbnQgY2xvY2spIG9yIFNpZ25hbGluZyBtZXNzYWdlIChPcmRpbmFyeSBvciBCb3VuZGFyeSBjbG9jaykgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19JUFY2UFIgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MFUpICAvKiBJUHY2IFBhY2tldCBSZWNlaXZlZCAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQVjRQUiAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwVSkgIC8qIElQdjQgUGFja2V0IFJlY2VpdmVkICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBDQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjBVKSAgLyogSVAgQ2hlY2tzdW0gQnlwYXNzZWQgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19JUFBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMFUpICAvKiBJUCBQYXlsb2FkIEVycm9yICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBIRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDhVKSAgLyogSVAgSGVhZGVyIEVycm9yICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBQVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDdVKSAgLyogSVAgUGF5bG9hZCBUeXBlICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBQVF9VRFAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDFVKSAgLyogVURQIHBheWxvYWQgZW5jYXBzdWxhdGVkIGluIHRoZSBJUCBkYXRhZ3JhbSAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQUFRfVENQICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyVSkgIC8qIFRDUCBwYXlsb2FkIGVuY2Fwc3VsYXRlZCBpbiB0aGUgSVAgZGF0YWdyYW0gKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19JUFBUX0lDTVAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwM1UpICAvKiBJQ01QIHBheWxvYWQgZW5jYXBzdWxhdGVkIGluIHRoZSBJUCBkYXRhZ3JhbSAqLworCisvKiBCaXQgZGVmaW5pdGlvbiBvZiBSREVTNiByZWdpc3RlciAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1JUU0wgICgodWludDMyX3QpMHhGRkZGRkZGRlUpICAvKiBSZWNlaXZlIFRpbWUgU3RhbXAgTG93ICovCisKKy8qIEJpdCBkZWZpbml0aW9uIG9mIFJERVM3IHJlZ2lzdGVyICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUlRTSCAgKCh1aW50MzJfdCkweEZGRkZGRkZGVSkgIC8qIFJlY2VpdmUgVGltZSBTdGFtcCBIaWdoICovCisvKioKKyAgKiBAfQorICAqLworIC8qKiBAZGVmZ3JvdXAgRVRIX0F1dG9OZWdvdGlhdGlvbiBFVEggQXV0b05lZ290aWF0aW9uCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0FVVE9ORUdPVElBVElPTl9FTkFCTEUgICAgICgodWludDMyX3QpMHgwMDAwMDAwMVUpCisjZGVmaW5lIEVUSF9BVVRPTkVHT1RJQVRJT05fRElTQUJMRSAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorCisvKioKKyAgKiBAfQorICAqLworLyoqIEBkZWZncm91cCBFVEhfU3BlZWQgRVRIIFNwZWVkCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX1NQRUVEXzEwTSAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKKyNkZWZpbmUgRVRIX1NQRUVEXzEwME0gICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwVSkKKworLyoqCisgICogQH0KKyAgKi8KKy8qKiBAZGVmZ3JvdXAgRVRIX0R1cGxleF9Nb2RlIEVUSCBEdXBsZXggTW9kZQorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9NT0RFX0ZVTExEVVBMRVggICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwVSkKKyNkZWZpbmUgRVRIX01PREVfSEFMRkRVUExFWCAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorLyoqCisgICogQH0KKyAgKi8KKy8qKiBAZGVmZ3JvdXAgRVRIX1J4X01vZGUgRVRIIFJ4IE1vZGUKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfUlhQT0xMSU5HX01PREUgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorI2RlZmluZSBFVEhfUlhJTlRFUlJVUFRfTU9ERSAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDFVKQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfQ2hlY2tzdW1fTW9kZSBFVEggQ2hlY2tzdW0gTW9kZQorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9DSEVDS1NVTV9CWV9IQVJEV0FSRSAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisjZGVmaW5lIEVUSF9DSEVDS1NVTV9CWV9TT0ZUV0FSRSAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMVUpCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9NZWRpYV9JbnRlcmZhY2UgRVRIIE1lZGlhIEludGVyZmFjZQorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9NRURJQV9JTlRFUkZBQ0VfTUlJICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisjZGVmaW5lIEVUSF9NRURJQV9JTlRFUkZBQ0VfUk1JSSAgICAgICgodWludDMyX3QpU1lTQ0ZHX1BNQ19NSUlfUk1JSV9TRUwpCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9XYXRjaGRvZyBFVEggV2F0Y2hkb2cKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfV0FUQ0hET0dfRU5BQkxFICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisjZGVmaW5lIEVUSF9XQVRDSERPR19ESVNBQkxFICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwVSkKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0phYmJlciBFVEggSmFiYmVyCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0pBQkJFUl9FTkFCTEUgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKKyNkZWZpbmUgRVRIX0pBQkJFUl9ESVNBQkxFICAgKCh1aW50MzJfdCkweDAwNDAwMDAwVSkKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0ludGVyX0ZyYW1lX0dhcCBFVEggSW50ZXIgRnJhbWUgR2FwCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0lOVEVSRlJBTUVHQVBfOTZCSVQgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKSAgLyohPCBtaW5pbXVtIElGRyBiZXR3ZWVuIGZyYW1lcyBkdXJpbmcgdHJhbnNtaXNzaW9uIGlzIDk2Qml0ICovCisjZGVmaW5lIEVUSF9JTlRFUkZSQU1FR0FQXzg4QklUICAgKCh1aW50MzJfdCkweDAwMDIwMDAwVSkgIC8qITwgbWluaW11bSBJRkcgYmV0d2VlbiBmcmFtZXMgZHVyaW5nIHRyYW5zbWlzc2lvbiBpcyA4OEJpdCAqLworI2RlZmluZSBFVEhfSU5URVJGUkFNRUdBUF84MEJJVCAgICgodWludDMyX3QpMHgwMDA0MDAwMFUpICAvKiE8IG1pbmltdW0gSUZHIGJldHdlZW4gZnJhbWVzIGR1cmluZyB0cmFuc21pc3Npb24gaXMgODBCaXQgKi8KKyNkZWZpbmUgRVRIX0lOVEVSRlJBTUVHQVBfNzJCSVQgICAoKHVpbnQzMl90KTB4MDAwNjAwMDBVKSAgLyohPCBtaW5pbXVtIElGRyBiZXR3ZWVuIGZyYW1lcyBkdXJpbmcgdHJhbnNtaXNzaW9uIGlzIDcyQml0ICovCisjZGVmaW5lIEVUSF9JTlRFUkZSQU1FR0FQXzY0QklUICAgKCh1aW50MzJfdCkweDAwMDgwMDAwVSkgIC8qITwgbWluaW11bSBJRkcgYmV0d2VlbiBmcmFtZXMgZHVyaW5nIHRyYW5zbWlzc2lvbiBpcyA2NEJpdCAqLworI2RlZmluZSBFVEhfSU5URVJGUkFNRUdBUF81NkJJVCAgICgodWludDMyX3QpMHgwMDBBMDAwMFUpICAvKiE8IG1pbmltdW0gSUZHIGJldHdlZW4gZnJhbWVzIGR1cmluZyB0cmFuc21pc3Npb24gaXMgNTZCaXQgKi8KKyNkZWZpbmUgRVRIX0lOVEVSRlJBTUVHQVBfNDhCSVQgICAoKHVpbnQzMl90KTB4MDAwQzAwMDBVKSAgLyohPCBtaW5pbXVtIElGRyBiZXR3ZWVuIGZyYW1lcyBkdXJpbmcgdHJhbnNtaXNzaW9uIGlzIDQ4Qml0ICovCisjZGVmaW5lIEVUSF9JTlRFUkZSQU1FR0FQXzQwQklUICAgKCh1aW50MzJfdCkweDAwMEUwMDAwVSkgIC8qITwgbWluaW11bSBJRkcgYmV0d2VlbiBmcmFtZXMgZHVyaW5nIHRyYW5zbWlzc2lvbiBpcyA0MEJpdCAqLworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfQ2Fycmllcl9TZW5zZSBFVEggQ2FycmllciBTZW5zZQorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9DQVJSSUVSU0VOQ0VfRU5BQkxFICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKKyNkZWZpbmUgRVRIX0NBUlJJRVJTRU5DRV9ESVNBQkxFICAoKHVpbnQzMl90KTB4MDAwMTAwMDBVKQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfUmVjZWl2ZV9Pd24gRVRIIFJlY2VpdmUgT3duCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX1JFQ0VJVkVPV05fRU5BQkxFICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorI2RlZmluZSBFVEhfUkVDRUlWRU9XTl9ESVNBQkxFICAgICgodWludDMyX3QpMHgwMDAwMjAwMFUpCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9Mb29wX0JhY2tfTW9kZSBFVEggTG9vcCBCYWNrIE1vZGUKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfTE9PUEJBQ0tNT0RFX0VOQUJMRSAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwVSkKKyNkZWZpbmUgRVRIX0xPT1BCQUNLTU9ERV9ESVNBQkxFICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9DaGVja3N1bV9PZmZsb2FkIEVUSCBDaGVja3N1bSBPZmZsb2FkCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0NIRUNLU1VNT0ZGTEFPRF9FTkFCTEUgICAgICgodWludDMyX3QpMHgwMDAwMDQwMFUpCisjZGVmaW5lIEVUSF9DSEVDS1NVTU9GRkxBT0RfRElTQUJMRSAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfUmV0cnlfVHJhbnNtaXNzaW9uIEVUSCBSZXRyeSBUcmFuc21pc3Npb24KKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfUkVUUllUUkFOU01JU1NJT05fRU5BQkxFICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKKyNkZWZpbmUgRVRIX1JFVFJZVFJBTlNNSVNTSU9OX0RJU0FCTEUgICgodWludDMyX3QpMHgwMDAwMDIwMFUpCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9BdXRvbWF0aWNfUGFkX0NSQ19TdHJpcCBFVEggQXV0b21hdGljIFBhZCBDUkMgU3RyaXAKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfQVVUT01BVElDUEFEQ1JDU1RSSVBfRU5BQkxFICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODBVKQorI2RlZmluZSBFVEhfQVVUT01BVElDUEFEQ1JDU1RSSVBfRElTQUJMRSAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfQmFja19PZmZfTGltaXQgRVRIIEJhY2sgT2ZmIExpbWl0CisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0JBQ0tPRkZMSU1JVF8xMCAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKKyNkZWZpbmUgRVRIX0JBQ0tPRkZMSU1JVF84ICAgKCh1aW50MzJfdCkweDAwMDAwMDIwVSkKKyNkZWZpbmUgRVRIX0JBQ0tPRkZMSU1JVF80ICAgKCh1aW50MzJfdCkweDAwMDAwMDQwVSkKKyNkZWZpbmUgRVRIX0JBQ0tPRkZMSU1JVF8xICAgKCh1aW50MzJfdCkweDAwMDAwMDYwVSkKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0RlZmVycmFsX0NoZWNrIEVUSCBEZWZlcnJhbCBDaGVjaworICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9ERUZGRVJSQUxDSEVDS19FTkFCTEUgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwVSkKKyNkZWZpbmUgRVRIX0RFRkZFUlJBTENIRUNLX0RJU0FCTEUgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfUmVjZWl2ZV9BbGwgRVRIIFJlY2VpdmUgQWxsCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX1JFQ0VJVkVBTExfRU5BQkxFICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDBVKQorI2RlZmluZSBFVEhfUkVDRUlWRUFsbF9ESVNBQkxFICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9Tb3VyY2VfQWRkcl9GaWx0ZXIgRVRIIFNvdXJjZSBBZGRyIEZpbHRlcgorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9TT1VSQ0VBRERSRklMVEVSX05PUk1BTF9FTkFCTEUgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwVSkKKyNkZWZpbmUgRVRIX1NPVVJDRUFERFJGSUxURVJfSU5WRVJTRV9FTkFCTEUgICAgICAoKHVpbnQzMl90KTB4MDAwMDAzMDBVKQorI2RlZmluZSBFVEhfU09VUkNFQUREUkZJTFRFUl9ESVNBQkxFICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9QYXNzX0NvbnRyb2xfRnJhbWVzIEVUSCBQYXNzIENvbnRyb2wgRnJhbWVzCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX1BBU1NDT05UUk9MRlJBTUVTX0JMT0NLQUxMICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MFUpICAvKiE8IE1BQyBmaWx0ZXJzIGFsbCBjb250cm9sIGZyYW1lcyBmcm9tIHJlYWNoaW5nIHRoZSBhcHBsaWNhdGlvbiAqLworI2RlZmluZSBFVEhfUEFTU0NPTlRST0xGUkFNRVNfRk9SV0FSREFMTCAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwVSkgIC8qITwgTUFDIGZvcndhcmRzIGFsbCBjb250cm9sIGZyYW1lcyB0byBhcHBsaWNhdGlvbiBldmVuIGlmIHRoZXkgZmFpbCB0aGUgQWRkcmVzcyBGaWx0ZXIgKi8KKyNkZWZpbmUgRVRIX1BBU1NDT05UUk9MRlJBTUVTX0ZPUldBUkRQQVNTRURBRERSRklMVEVSICgodWludDMyX3QpMHgwMDAwMDBDMFUpICAvKiE8IE1BQyBmb3J3YXJkcyBjb250cm9sIGZyYW1lcyB0aGF0IHBhc3MgdGhlIEFkZHJlc3MgRmlsdGVyLiAqLworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfQnJvYWRjYXN0X0ZyYW1lc19SZWNlcHRpb24gRVRIIEJyb2FkY2FzdCBGcmFtZXMgUmVjZXB0aW9uCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0JST0FEQ0FTVEZSQU1FU1JFQ0VQVElPTl9FTkFCTEUgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisjZGVmaW5lIEVUSF9CUk9BRENBU1RGUkFNRVNSRUNFUFRJT05fRElTQUJMRSAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjBVKQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfRGVzdGluYXRpb25fQWRkcl9GaWx0ZXIgRVRIIERlc3RpbmF0aW9uIEFkZHIgRmlsdGVyCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0RFU1RJTkFUSU9OQUREUkZJTFRFUl9OT1JNQUwgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKKyNkZWZpbmUgRVRIX0RFU1RJTkFUSU9OQUREUkZJTFRFUl9JTlZFUlNFICAgKCh1aW50MzJfdCkweDAwMDAwMDA4VSkKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX1Byb21pc2N1b3VzX01vZGUgRVRIIFByb21pc2N1b3VzIE1vZGUKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfUFJPTUlTQ1VPVVNfTU9ERV9FTkFCTEUgICAgICgodWludDMyX3QpMHgwMDAwMDAwMVUpCisjZGVmaW5lIEVUSF9QUk9NSVNDVU9VU19NT0RFX0RJU0FCTEUgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX011bHRpY2FzdF9GcmFtZXNfRmlsdGVyIEVUSCBNdWx0aWNhc3QgRnJhbWVzIEZpbHRlcgorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9NVUxUSUNBU1RGUkFNRVNGSUxURVJfUEVSRkVDVEhBU0hUQUJMRSAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDRVKQorI2RlZmluZSBFVEhfTVVMVElDQVNURlJBTUVTRklMVEVSX0hBU0hUQUJMRSAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0VSkKKyNkZWZpbmUgRVRIX01VTFRJQ0FTVEZSQU1FU0ZJTFRFUl9QRVJGRUNUICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisjZGVmaW5lIEVUSF9NVUxUSUNBU1RGUkFNRVNGSUxURVJfTk9ORSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTBVKQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfVW5pY2FzdF9GcmFtZXNfRmlsdGVyIEVUSCBVbmljYXN0IEZyYW1lcyBGaWx0ZXIKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfVU5JQ0FTVEZSQU1FU0ZJTFRFUl9QRVJGRUNUSEFTSFRBQkxFICgodWludDMyX3QpMHgwMDAwMDQwMlUpCisjZGVmaW5lIEVUSF9VTklDQVNURlJBTUVTRklMVEVSX0hBU0hUQUJMRSAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyVSkKKyNkZWZpbmUgRVRIX1VOSUNBU1RGUkFNRVNGSUxURVJfUEVSRkVDVCAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfWmVyb19RdWFudGFfUGF1c2UgRVRIIFplcm8gUXVhbnRhIFBhdXNlCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX1pFUk9RVUFOVEFQQVVTRV9FTkFCTEUgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisjZGVmaW5lIEVUSF9aRVJPUVVBTlRBUEFVU0VfRElTQUJMRSAgICAoKHVpbnQzMl90KTB4MDAwMDAwODBVKQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfUGF1c2VfTG93X1RocmVzaG9sZCBFVEggUGF1c2UgTG93IFRocmVzaG9sZAorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9QQVVTRUxPV1RIUkVTSE9MRF9NSU5VUzQgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpICAvKiE8IFBhdXNlIHRpbWUgbWludXMgNCBzbG90IHRpbWVzICovCisjZGVmaW5lIEVUSF9QQVVTRUxPV1RIUkVTSE9MRF9NSU5VUzI4ICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMFUpICAvKiE8IFBhdXNlIHRpbWUgbWludXMgMjggc2xvdCB0aW1lcyAqLworI2RlZmluZSBFVEhfUEFVU0VMT1dUSFJFU0hPTERfTUlOVVMxNDQgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjBVKSAgLyohPCBQYXVzZSB0aW1lIG1pbnVzIDE0NCBzbG90IHRpbWVzICovCisjZGVmaW5lIEVUSF9QQVVTRUxPV1RIUkVTSE9MRF9NSU5VUzI1NiAgICAgICgodWludDMyX3QpMHgwMDAwMDAzMFUpICAvKiE8IFBhdXNlIHRpbWUgbWludXMgMjU2IHNsb3QgdGltZXMgKi8KKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX1VuaWNhc3RfUGF1c2VfRnJhbWVfRGV0ZWN0IEVUSCBVbmljYXN0IFBhdXNlIEZyYW1lIERldGVjdAorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9VTklDQVNUUEFVU0VGUkFNRURFVEVDVF9FTkFCTEUgICgodWludDMyX3QpMHgwMDAwMDAwOFUpCisjZGVmaW5lIEVUSF9VTklDQVNUUEFVU0VGUkFNRURFVEVDVF9ESVNBQkxFICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9SZWNlaXZlX0Zsb3dfQ29udHJvbCBFVEggUmVjZWl2ZSBGbG93IENvbnRyb2wKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfUkVDRUlWRUZMT1dDT05UUk9MX0VOQUJMRSAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDRVKQorI2RlZmluZSBFVEhfUkVDRUlWRUZMT1dDT05UUk9MX0RJU0FCTEUgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfVHJhbnNtaXRfRmxvd19Db250cm9sIEVUSCBUcmFuc21pdCBGbG93IENvbnRyb2wKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfVFJBTlNNSVRGTE9XQ09OVFJPTF9FTkFCTEUgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDJVKQorI2RlZmluZSBFVEhfVFJBTlNNSVRGTE9XQ09OVFJPTF9ESVNBQkxFICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfVkxBTl9UYWdfQ29tcGFyaXNvbiBFVEggVkxBTiBUYWcgQ29tcGFyaXNvbgorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9WTEFOVEFHQ09NUEFSSVNPTl8xMkJJVCAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDBVKQorI2RlZmluZSBFVEhfVkxBTlRBR0NPTVBBUklTT05fMTZCSVQgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX01BQ19hZGRyZXNzZXMgRVRIIE1BQyBhZGRyZXNzZXMKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfTUFDX0FERFJFU1MwICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorI2RlZmluZSBFVEhfTUFDX0FERFJFU1MxICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDhVKQorI2RlZmluZSBFVEhfTUFDX0FERFJFU1MyICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTBVKQorI2RlZmluZSBFVEhfTUFDX0FERFJFU1MzICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMThVKQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfTUFDX2FkZHJlc3Nlc19maWx0ZXJfU0FfREEgRVRIIE1BQyBhZGRyZXNzZXMgZmlsdGVyIFNBIERBCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX01BQ19BRERSRVNTRklMVEVSX1NBICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisjZGVmaW5lIEVUSF9NQUNfQUREUkVTU0ZJTFRFUl9EQSAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDhVKQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfTUFDX2FkZHJlc3Nlc19maWx0ZXJfTWFza19ieXRlcyBFVEggTUFDIGFkZHJlc3NlcyBmaWx0ZXIgTWFzayBieXRlcworICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9NQUNfQUREUkVTU01BU0tfQllURTYgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDBVKSAgLyohPCBNYXNrIE1BQyBBZGRyZXNzIGhpZ2ggcmVnIGJpdHMgWzE1OjhdICovCisjZGVmaW5lIEVUSF9NQUNfQUREUkVTU01BU0tfQllURTUgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDBVKSAgLyohPCBNYXNrIE1BQyBBZGRyZXNzIGhpZ2ggcmVnIGJpdHMgWzc6MF0gKi8KKyNkZWZpbmUgRVRIX01BQ19BRERSRVNTTUFTS19CWVRFNCAgICAgICgodWludDMyX3QpMHgwODAwMDAwMFUpICAvKiE8IE1hc2sgTUFDIEFkZHJlc3MgbG93IHJlZyBiaXRzIFszMToyNF0gKi8KKyNkZWZpbmUgRVRIX01BQ19BRERSRVNTTUFTS19CWVRFMyAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMFUpICAvKiE8IE1hc2sgTUFDIEFkZHJlc3MgbG93IHJlZyBiaXRzIFsyMzoxNl0gKi8KKyNkZWZpbmUgRVRIX01BQ19BRERSRVNTTUFTS19CWVRFMiAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMFUpICAvKiE8IE1hc2sgTUFDIEFkZHJlc3MgbG93IHJlZyBiaXRzIFsxNTo4XSAqLworI2RlZmluZSBFVEhfTUFDX0FERFJFU1NNQVNLX0JZVEUxICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwVSkgIC8qITwgTWFzayBNQUMgQWRkcmVzcyBsb3cgcmVnIGJpdHMgWzcwXSAqLworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfRHJvcF9UQ1BfSVBfQ2hlY2tzdW1fRXJyb3JfRnJhbWUgRVRIIERyb3AgVENQIElQIENoZWNrc3VtIEVycm9yIEZyYW1lCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0RST1BUQ1BJUENIRUNLU1VNRVJST1JGUkFNRV9FTkFCTEUgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorI2RlZmluZSBFVEhfRFJPUFRDUElQQ0hFQ0tTVU1FUlJPUkZSQU1FX0RJU0FCTEUgICgodWludDMyX3QpMHgwNDAwMDAwMFUpCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9SZWNlaXZlX1N0b3JlX0ZvcndhcmQgRVRIIFJlY2VpdmUgU3RvcmUgRm9yd2FyZAorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9SRUNFSVZFU1RPUkVGT1JXQVJEX0VOQUJMRSAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMFUpCisjZGVmaW5lIEVUSF9SRUNFSVZFU1RPUkVGT1JXQVJEX0RJU0FCTEUgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9GbHVzaF9SZWNlaXZlZF9GcmFtZSBFVEggRmx1c2ggUmVjZWl2ZWQgRnJhbWUKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfRkxVU0hSRUNFSVZFREZSQU1FX0VOQUJMRSAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorI2RlZmluZSBFVEhfRkxVU0hSRUNFSVZFREZSQU1FX0RJU0FCTEUgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDBVKQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfVHJhbnNtaXRfU3RvcmVfRm9yd2FyZCBFVEggVHJhbnNtaXQgU3RvcmUgRm9yd2FyZAorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9UUkFOU01JVFNUT1JFRk9SV0FSRF9FTkFCTEUgICAgICgodWludDMyX3QpMHgwMDIwMDAwMFUpCisjZGVmaW5lIEVUSF9UUkFOU01JVFNUT1JFRk9SV0FSRF9ESVNBQkxFICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9UcmFuc21pdF9UaHJlc2hvbGRfQ29udHJvbCBFVEggVHJhbnNtaXQgVGhyZXNob2xkIENvbnRyb2wKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfVFJBTlNNSVRUSFJFU0hPTERDT05UUk9MXzY0QllURVMgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpICAvKiE8IHRocmVzaG9sZCBsZXZlbCBvZiB0aGUgTVRMIFRyYW5zbWl0IEZJRk8gaXMgNjQgQnl0ZXMgKi8KKyNkZWZpbmUgRVRIX1RSQU5TTUlUVEhSRVNIT0xEQ09OVFJPTF8xMjhCWVRFUyAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDBVKSAgLyohPCB0aHJlc2hvbGQgbGV2ZWwgb2YgdGhlIE1UTCBUcmFuc21pdCBGSUZPIGlzIDEyOCBCeXRlcyAqLworI2RlZmluZSBFVEhfVFJBTlNNSVRUSFJFU0hPTERDT05UUk9MXzE5MkJZVEVTICAgICgodWludDMyX3QpMHgwMDAwODAwMFUpICAvKiE8IHRocmVzaG9sZCBsZXZlbCBvZiB0aGUgTVRMIFRyYW5zbWl0IEZJRk8gaXMgMTkyIEJ5dGVzICovCisjZGVmaW5lIEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfMjU2QllURVMgICAgKCh1aW50MzJfdCkweDAwMDBDMDAwVSkgIC8qITwgdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgVHJhbnNtaXQgRklGTyBpcyAyNTYgQnl0ZXMgKi8KKyNkZWZpbmUgRVRIX1RSQU5TTUlUVEhSRVNIT0xEQ09OVFJPTF80MEJZVEVTICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDBVKSAgLyohPCB0aHJlc2hvbGQgbGV2ZWwgb2YgdGhlIE1UTCBUcmFuc21pdCBGSUZPIGlzIDQwIEJ5dGVzICovCisjZGVmaW5lIEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfMzJCWVRFUyAgICAgKCh1aW50MzJfdCkweDAwMDE0MDAwVSkgIC8qITwgdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgVHJhbnNtaXQgRklGTyBpcyAzMiBCeXRlcyAqLworI2RlZmluZSBFVEhfVFJBTlNNSVRUSFJFU0hPTERDT05UUk9MXzI0QllURVMgICAgICgodWludDMyX3QpMHgwMDAxODAwMFUpICAvKiE8IHRocmVzaG9sZCBsZXZlbCBvZiB0aGUgTVRMIFRyYW5zbWl0IEZJRk8gaXMgMjQgQnl0ZXMgKi8KKyNkZWZpbmUgRVRIX1RSQU5TTUlUVEhSRVNIT0xEQ09OVFJPTF8xNkJZVEVTICAgICAoKHVpbnQzMl90KTB4MDAwMUMwMDBVKSAgLyohPCB0aHJlc2hvbGQgbGV2ZWwgb2YgdGhlIE1UTCBUcmFuc21pdCBGSUZPIGlzIDE2IEJ5dGVzICovCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9Gb3J3YXJkX0Vycm9yX0ZyYW1lcyBFVEggRm9yd2FyZCBFcnJvciBGcmFtZXMKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfRk9SV0FSREVSUk9SRlJBTUVTX0VOQUJMRSAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODBVKQorI2RlZmluZSBFVEhfRk9SV0FSREVSUk9SRlJBTUVTX0RJU0FCTEUgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfRm9yd2FyZF9VbmRlcnNpemVkX0dvb2RfRnJhbWVzIEVUSCBGb3J3YXJkIFVuZGVyc2l6ZWQgR29vZCBGcmFtZXMKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfRk9SV0FSRFVOREVSU0laRURHT09ERlJBTUVTX0VOQUJMRSAgICgodWludDMyX3QpMHgwMDAwMDA0MFUpCisjZGVmaW5lIEVUSF9GT1JXQVJEVU5ERVJTSVpFREdPT0RGUkFNRVNfRElTQUJMRSAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX1JlY2VpdmVfVGhyZXNob2xkX0NvbnRyb2wgRVRIIFJlY2VpdmUgVGhyZXNob2xkIENvbnRyb2wKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfUkVDRUlWRURUSFJFU0hPTERDT05UUk9MXzY0QllURVMgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKSAgLyohPCB0aHJlc2hvbGQgbGV2ZWwgb2YgdGhlIE1UTCBSZWNlaXZlIEZJRk8gaXMgNjQgQnl0ZXMgKi8KKyNkZWZpbmUgRVRIX1JFQ0VJVkVEVEhSRVNIT0xEQ09OVFJPTF8zMkJZVEVTICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4VSkgIC8qITwgdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgUmVjZWl2ZSBGSUZPIGlzIDMyIEJ5dGVzICovCisjZGVmaW5lIEVUSF9SRUNFSVZFRFRIUkVTSE9MRENPTlRST0xfOTZCWVRFUyAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMFUpICAvKiE8IHRocmVzaG9sZCBsZXZlbCBvZiB0aGUgTVRMIFJlY2VpdmUgRklGTyBpcyA5NiBCeXRlcyAqLworI2RlZmluZSBFVEhfUkVDRUlWRURUSFJFU0hPTERDT05UUk9MXzEyOEJZVEVTICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMThVKSAgLyohPCB0aHJlc2hvbGQgbGV2ZWwgb2YgdGhlIE1UTCBSZWNlaXZlIEZJRk8gaXMgMTI4IEJ5dGVzICovCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9TZWNvbmRfRnJhbWVfT3BlcmF0ZSBFVEggU2Vjb25kIEZyYW1lIE9wZXJhdGUKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfU0VDT05ERlJBTUVPUEVSQVJURV9FTkFCTEUgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0VSkKKyNkZWZpbmUgRVRIX1NFQ09OREZSQU1FT1BFUkFSVEVfRElTQUJMRSAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9BZGRyZXNzX0FsaWduZWRfQmVhdHMgRVRIIEFkZHJlc3MgQWxpZ25lZCBCZWF0cworICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9BRERSRVNTQUxJR05FREJFQVRTX0VOQUJMRSAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMFUpCisjZGVmaW5lIEVUSF9BRERSRVNTQUxJR05FREJFQVRTX0RJU0FCTEUgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9GaXhlZF9CdXJzdCBFVEggRml4ZWQgQnVyc3QKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfRklYRURCVVJTVF9FTkFCTEUgICAgICgodWludDMyX3QpMHgwMDAxMDAwMFUpCisjZGVmaW5lIEVUSF9GSVhFREJVUlNUX0RJU0FCTEUgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX1J4X0RNQV9CdXJzdF9MZW5ndGggRVRIIFJ4IERNQSBCdXJzdCBMZW5ndGgKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfUlhETUFCVVJTVExFTkdUSF8xQkVBVCAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDBVKSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgUnhETUEgdHJhbnNhY3Rpb24gaXMgMSAqLworI2RlZmluZSBFVEhfUlhETUFCVVJTVExFTkdUSF8yQkVBVCAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDBVKSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgUnhETUEgdHJhbnNhY3Rpb24gaXMgMiAqLworI2RlZmluZSBFVEhfUlhETUFCVVJTVExFTkdUSF80QkVBVCAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDBVKSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgUnhETUEgdHJhbnNhY3Rpb24gaXMgNCAqLworI2RlZmluZSBFVEhfUlhETUFCVVJTVExFTkdUSF84QkVBVCAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDBVKSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgUnhETUEgdHJhbnNhY3Rpb24gaXMgOCAqLworI2RlZmluZSBFVEhfUlhETUFCVVJTVExFTkdUSF8xNkJFQVQgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDBVKSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgUnhETUEgdHJhbnNhY3Rpb24gaXMgMTYgKi8KKyNkZWZpbmUgRVRIX1JYRE1BQlVSU1RMRU5HVEhfMzJCRUFUICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwVSkgIC8qITwgbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFJ4RE1BIHRyYW5zYWN0aW9uIGlzIDMyICovCisjZGVmaW5lIEVUSF9SWERNQUJVUlNUTEVOR1RIXzRYUEJMXzRCRUFUICAgICgodWludDMyX3QpMHgwMTAyMDAwMFUpICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyA0ICovCisjZGVmaW5lIEVUSF9SWERNQUJVUlNUTEVOR1RIXzRYUEJMXzhCRUFUICAgICgodWludDMyX3QpMHgwMTA0MDAwMFUpICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyA4ICovCisjZGVmaW5lIEVUSF9SWERNQUJVUlNUTEVOR1RIXzRYUEJMXzE2QkVBVCAgICgodWludDMyX3QpMHgwMTA4MDAwMFUpICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyAxNiAqLworI2RlZmluZSBFVEhfUlhETUFCVVJTVExFTkdUSF80WFBCTF8zMkJFQVQgICAoKHVpbnQzMl90KTB4MDExMDAwMDBVKSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgUnhETUEgdHJhbnNhY3Rpb24gaXMgMzIgKi8KKyNkZWZpbmUgRVRIX1JYRE1BQlVSU1RMRU5HVEhfNFhQQkxfNjRCRUFUICAgKCh1aW50MzJfdCkweDAxMjAwMDAwVSkgIC8qITwgbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFJ4RE1BIHRyYW5zYWN0aW9uIGlzIDY0ICovCisjZGVmaW5lIEVUSF9SWERNQUJVUlNUTEVOR1RIXzRYUEJMXzEyOEJFQVQgICgodWludDMyX3QpMHgwMTQwMDAwMFUpICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyAxMjggKi8KKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX1R4X0RNQV9CdXJzdF9MZW5ndGggRVRIIFR4IERNQSBCdXJzdCBMZW5ndGgKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfVFhETUFCVVJTVExFTkdUSF8xQkVBVCAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDBVKSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgVHhETUEgKG9yIGJvdGgpIHRyYW5zYWN0aW9uIGlzIDEgKi8KKyNkZWZpbmUgRVRIX1RYRE1BQlVSU1RMRU5HVEhfMkJFQVQgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwVSkgIC8qITwgbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFR4RE1BIChvciBib3RoKSB0cmFuc2FjdGlvbiBpcyAyICovCisjZGVmaW5lIEVUSF9UWERNQUJVUlNUTEVOR1RIXzRCRUFUICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMFUpICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBUeERNQSAob3IgYm90aCkgdHJhbnNhY3Rpb24gaXMgNCAqLworI2RlZmluZSBFVEhfVFhETUFCVVJTVExFTkdUSF84QkVBVCAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDBVKSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgVHhETUEgKG9yIGJvdGgpIHRyYW5zYWN0aW9uIGlzIDggKi8KKyNkZWZpbmUgRVRIX1RYRE1BQlVSU1RMRU5HVEhfMTZCRUFUICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwVSkgIC8qITwgbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFR4RE1BIChvciBib3RoKSB0cmFuc2FjdGlvbiBpcyAxNiAqLworI2RlZmluZSBFVEhfVFhETUFCVVJTVExFTkdUSF8zMkJFQVQgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDBVKSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgVHhETUEgKG9yIGJvdGgpIHRyYW5zYWN0aW9uIGlzIDMyICovCisjZGVmaW5lIEVUSF9UWERNQUJVUlNUTEVOR1RIXzRYUEJMXzRCRUFUICAgICgodWludDMyX3QpMHgwMTAwMDEwMFUpICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBUeERNQSAob3IgYm90aCkgdHJhbnNhY3Rpb24gaXMgNCAqLworI2RlZmluZSBFVEhfVFhETUFCVVJTVExFTkdUSF80WFBCTF84QkVBVCAgICAoKHVpbnQzMl90KTB4MDEwMDAyMDBVKSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgVHhETUEgKG9yIGJvdGgpIHRyYW5zYWN0aW9uIGlzIDggKi8KKyNkZWZpbmUgRVRIX1RYRE1BQlVSU1RMRU5HVEhfNFhQQkxfMTZCRUFUICAgKCh1aW50MzJfdCkweDAxMDAwNDAwVSkgIC8qITwgbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFR4RE1BIChvciBib3RoKSB0cmFuc2FjdGlvbiBpcyAxNiAqLworI2RlZmluZSBFVEhfVFhETUFCVVJTVExFTkdUSF80WFBCTF8zMkJFQVQgICAoKHVpbnQzMl90KTB4MDEwMDA4MDBVKSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgVHhETUEgKG9yIGJvdGgpIHRyYW5zYWN0aW9uIGlzIDMyICovCisjZGVmaW5lIEVUSF9UWERNQUJVUlNUTEVOR1RIXzRYUEJMXzY0QkVBVCAgICgodWludDMyX3QpMHgwMTAwMTAwMFUpICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBUeERNQSAob3IgYm90aCkgdHJhbnNhY3Rpb24gaXMgNjQgKi8KKyNkZWZpbmUgRVRIX1RYRE1BQlVSU1RMRU5HVEhfNFhQQkxfMTI4QkVBVCAgKCh1aW50MzJfdCkweDAxMDAyMDAwVSkgIC8qITwgbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFR4RE1BIChvciBib3RoKSB0cmFuc2FjdGlvbiBpcyAxMjggKi8KKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0RNQV9FbmhhbmNlZF9kZXNjcmlwdG9yX2Zvcm1hdCBFVEggRE1BIEVuaGFuY2VkIGRlc2NyaXB0b3IgZm9ybWF0CisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0RNQUVOSEFOQ0VEREVTQ1JJUFRPUl9FTkFCTEUgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MFUpCisjZGVmaW5lIEVUSF9ETUFFTkhBTkNFRERFU0NSSVBUT1JfRElTQUJMRSAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfRE1BX0FyYml0cmF0aW9uIEVUSCBETUEgQXJiaXRyYXRpb24KKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfRE1BQVJCSVRSQVRJT05fUk9VTkRST0JJTl9SWFRYXzFfMSAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisjZGVmaW5lIEVUSF9ETUFBUkJJVFJBVElPTl9ST1VORFJPQklOX1JYVFhfMl8xICAgKCh1aW50MzJfdCkweDAwMDA0MDAwVSkKKyNkZWZpbmUgRVRIX0RNQUFSQklUUkFUSU9OX1JPVU5EUk9CSU5fUlhUWF8zXzEgICAoKHVpbnQzMl90KTB4MDAwMDgwMDBVKQorI2RlZmluZSBFVEhfRE1BQVJCSVRSQVRJT05fUk9VTkRST0JJTl9SWFRYXzRfMSAgICgodWludDMyX3QpMHgwMDAwQzAwMFUpCisjZGVmaW5lIEVUSF9ETUFBUkJJVFJBVElPTl9SWFBSSU9SVFggICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyVSkKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0RNQV9UeF9kZXNjcmlwdG9yX3NlZ21lbnQgRVRIIERNQSBUeCBkZXNjcmlwdG9yIHNlZ21lbnQKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0xBU1RTRUdNRU5UUyAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMFUpICAvKiE8IExhc3QgU2VnbWVudCAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0ZJUlNUU0VHTUVOVCAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMFUpICAvKiE8IEZpcnN0IFNlZ21lbnQgKi8KKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0RNQV9UeF9kZXNjcmlwdG9yX0NoZWNrc3VtX0luc2VydGlvbl9Db250cm9sIEVUSCBETUEgVHggZGVzY3JpcHRvciBDaGVja3N1bSBJbnNlcnRpb24gQ29udHJvbAorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0hFQ0tTVU1CWVBBU1MgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkgICAvKiE8IENoZWNrc3VtIGVuZ2luZSBieXBhc3MgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19DSEVDS1NVTUlQVjRIRUFERVIgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDBVKSAgIC8qITwgSVB2NCBoZWFkZXIgY2hlY2tzdW0gaW5zZXJ0aW9uICAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0NIRUNLU1VNVENQVURQSUNNUFNFR01FTlQgICgodWludDMyX3QpMHgwMDgwMDAwMFUpICAgLyohPCBUQ1AvVURQL0lDTVAgY2hlY2tzdW0gaW5zZXJ0aW9uLiBQc2V1ZG8gaGVhZGVyIGNoZWNrc3VtIGlzIGFzc3VtZWQgdG8gYmUgcHJlc2VudCAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0NIRUNLU1VNVENQVURQSUNNUEZVTEwgICAgICgodWludDMyX3QpMHgwMEMwMDAwMFUpICAgLyohPCBUQ1AvVURQL0lDTVAgY2hlY2tzdW0gZnVsbHkgaW4gaGFyZHdhcmUgaW5jbHVkaW5nIHBzZXVkbyBoZWFkZXIgKi8KKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0RNQV9SeF9kZXNjcmlwdG9yX2J1ZmZlcnMgRVRIIERNQSBSeCBkZXNjcmlwdG9yIGJ1ZmZlcnMKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0JVRkZFUjEgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpICAvKiE8IERNQSBSeCBEZXNjIEJ1ZmZlcjEgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19CVUZGRVIyICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDFVKSAgLyohPCBETUEgUnggRGVzYyBCdWZmZXIyICovCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9QTVRfRmxhZ3MgRVRIIFBNVCBGbGFncworICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9QTVRfRkxBR19XVUZGUlBSICAgICAgKCh1aW50MzJfdCkweDgwMDAwMDAwVSkgIC8qITwgV2FrZS1VcCBGcmFtZSBGaWx0ZXIgUmVnaXN0ZXIgUG9pbnRlciBSZXNldCAqLworI2RlZmluZSBFVEhfUE1UX0ZMQUdfV1VGUiAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MFUpICAvKiE8IFdha2UtVXAgRnJhbWUgUmVjZWl2ZWQgKi8KKyNkZWZpbmUgRVRIX1BNVF9GTEFHX01QUiAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjBVKSAgLyohPCBNYWdpYyBQYWNrZXQgUmVjZWl2ZWQgKi8KKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX01NQ19UeF9JbnRlcnJ1cHRzIEVUSCBNTUMgVHggSW50ZXJydXB0cworICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9NTUNfSVRfVEdGICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMFUpICAvKiE8IFdoZW4gVHggZ29vZCBmcmFtZSBjb3VudGVyIHJlYWNoZXMgaGFsZiB0aGUgbWF4aW11bSB2YWx1ZSAqLworI2RlZmluZSBFVEhfTU1DX0lUX1RHRk1TQyAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDBVKSAgLyohPCBXaGVuIFR4IGdvb2QgbXVsdGkgY29sIGNvdW50ZXIgcmVhY2hlcyBoYWxmIHRoZSBtYXhpbXVtIHZhbHVlICovCisjZGVmaW5lIEVUSF9NTUNfSVRfVEdGU0MgICAgICgodWludDMyX3QpMHgwMDAwNDAwMFUpICAvKiE8IFdoZW4gVHggZ29vZCBzaW5nbGUgY29sIGNvdW50ZXIgcmVhY2hlcyBoYWxmIHRoZSBtYXhpbXVtIHZhbHVlICovCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9NTUNfUnhfSW50ZXJydXB0cyBFVEggTU1DIFJ4IEludGVycnVwdHMKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfTU1DX0lUX1JHVUYgICAgICAoKHVpbnQzMl90KTB4MTAwMjAwMDBVKSAgLyohPCBXaGVuIFJ4IGdvb2QgdW5pY2FzdCBmcmFtZXMgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUgKi8KKyNkZWZpbmUgRVRIX01NQ19JVF9SRkFFICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDQwVSkgIC8qITwgV2hlbiBSeCBhbGlnbm1lbnQgZXJyb3IgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUgKi8KKyNkZWZpbmUgRVRIX01NQ19JVF9SRkNFICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDIwVSkgIC8qITwgV2hlbiBSeCBjcmMgZXJyb3IgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUgKi8KKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX01BQ19GbGFncyBFVEggTUFDIEZsYWdzCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX01BQ19GTEFHX1RTVCAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwVSkgIC8qITwgVGltZSBzdGFtcCB0cmlnZ2VyIGZsYWcgKG9uIE1BQykgKi8KKyNkZWZpbmUgRVRIX01BQ19GTEFHX01NQ1QgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwVSkgIC8qITwgTU1DIHRyYW5zbWl0IGZsYWcgICovCisjZGVmaW5lIEVUSF9NQUNfRkxBR19NTUNSICAgICgodWludDMyX3QpMHgwMDAwMDAyMFUpICAvKiE8IE1NQyByZWNlaXZlIGZsYWcgKi8KKyNkZWZpbmUgRVRIX01BQ19GTEFHX01NQyAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwVSkgIC8qITwgTU1DIGZsYWcgKG9uIE1BQykgKi8KKyNkZWZpbmUgRVRIX01BQ19GTEFHX1BNVCAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4VSkgIC8qITwgUE1UIGZsYWcgKG9uIE1BQykgKi8KKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0RNQV9GbGFncyBFVEggRE1BIEZsYWdzCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0RNQV9GTEFHX1RTVCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMFUpICAvKiE8IFRpbWUtc3RhbXAgdHJpZ2dlciBpbnRlcnJ1cHQgKG9uIERNQSkgKi8KKyNkZWZpbmUgRVRIX0RNQV9GTEFHX1BNVCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMFUpICAvKiE8IFBNVCBpbnRlcnJ1cHQgKG9uIERNQSkgKi8KKyNkZWZpbmUgRVRIX0RNQV9GTEFHX01NQyAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMFUpICAvKiE8IE1NQyBpbnRlcnJ1cHQgKG9uIERNQSkgKi8KKyNkZWZpbmUgRVRIX0RNQV9GTEFHX0RBVEFUUkFOU0ZFUkVSUk9SICgodWludDMyX3QpMHgwMDgwMDAwMFUpICAvKiE8IEVycm9yIGJpdHMgMC1SeCBETUEsIDEtVHggRE1BICovCisjZGVmaW5lIEVUSF9ETUFfRkxBR19SRUFEV1JJVEVFUlJPUiAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDBVKSAgLyohPCBFcnJvciBiaXRzIDAtd3JpdGUgdHJhbnNmZXIsIDEtcmVhZCB0cmFuc2ZlciAqLworI2RlZmluZSBFVEhfRE1BX0ZMQUdfQUNDRVNTRVJST1IgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwVSkgIC8qITwgRXJyb3IgYml0cyAwLWRhdGEgYnVmZmVyLCAxLWRlc2MuIGFjY2VzcyAqLworI2RlZmluZSBFVEhfRE1BX0ZMQUdfTklTICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwVSkgIC8qITwgTm9ybWFsIGludGVycnVwdCBzdW1tYXJ5IGZsYWcgKi8KKyNkZWZpbmUgRVRIX0RNQV9GTEFHX0FJUyAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMFUpICAvKiE8IEFibm9ybWFsIGludGVycnVwdCBzdW1tYXJ5IGZsYWcgKi8KKyNkZWZpbmUgRVRIX0RNQV9GTEFHX0VSICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMFUpICAvKiE8IEVhcmx5IHJlY2VpdmUgZmxhZyAqLworI2RlZmluZSBFVEhfRE1BX0ZMQUdfRkJFICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwVSkgIC8qITwgRmF0YWwgYnVzIGVycm9yIGZsYWcgKi8KKyNkZWZpbmUgRVRIX0RNQV9GTEFHX0VUICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMFUpICAvKiE8IEVhcmx5IHRyYW5zbWl0IGZsYWcgKi8KKyNkZWZpbmUgRVRIX0RNQV9GTEFHX1JXVCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMFUpICAvKiE8IFJlY2VpdmUgd2F0Y2hkb2cgdGltZW91dCBmbGFnICovCisjZGVmaW5lIEVUSF9ETUFfRkxBR19SUFMgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDBVKSAgLyohPCBSZWNlaXZlIHByb2Nlc3Mgc3RvcHBlZCBmbGFnICovCisjZGVmaW5lIEVUSF9ETUFfRkxBR19SQlUgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODBVKSAgLyohPCBSZWNlaXZlIGJ1ZmZlciB1bmF2YWlsYWJsZSBmbGFnICovCisjZGVmaW5lIEVUSF9ETUFfRkxBR19SICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDBVKSAgLyohPCBSZWNlaXZlIGZsYWcgKi8KKyNkZWZpbmUgRVRIX0RNQV9GTEFHX1RVICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMFUpICAvKiE8IFVuZGVyZmxvdyBmbGFnICovCisjZGVmaW5lIEVUSF9ETUFfRkxBR19STyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTBVKSAgLyohPCBPdmVyZmxvdyBmbGFnICovCisjZGVmaW5lIEVUSF9ETUFfRkxBR19USlQgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDhVKSAgLyohPCBUcmFuc21pdCBqYWJiZXIgdGltZW91dCBmbGFnICovCisjZGVmaW5lIEVUSF9ETUFfRkxBR19UQlUgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDRVKSAgLyohPCBUcmFuc21pdCBidWZmZXIgdW5hdmFpbGFibGUgZmxhZyAqLworI2RlZmluZSBFVEhfRE1BX0ZMQUdfVFBTICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyVSkgIC8qITwgVHJhbnNtaXQgcHJvY2VzcyBzdG9wcGVkIGZsYWcgKi8KKyNkZWZpbmUgRVRIX0RNQV9GTEFHX1QgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMVUpICAvKiE8IFRyYW5zbWl0IGZsYWcgKi8KKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX01BQ19JbnRlcnJ1cHRzIEVUSCBNQUMgSW50ZXJydXB0cworICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9NQUNfSVRfVFNUICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMFUpICAvKiE8IFRpbWUgc3RhbXAgdHJpZ2dlciBpbnRlcnJ1cHQgKG9uIE1BQykgKi8KKyNkZWZpbmUgRVRIX01BQ19JVF9NTUNUICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwVSkgIC8qITwgTU1DIHRyYW5zbWl0IGludGVycnVwdCAqLworI2RlZmluZSBFVEhfTUFDX0lUX01NQ1IgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjBVKSAgLyohPCBNTUMgcmVjZWl2ZSBpbnRlcnJ1cHQgKi8KKyNkZWZpbmUgRVRIX01BQ19JVF9NTUMgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwVSkgIC8qITwgTU1DIGludGVycnVwdCAob24gTUFDKSAqLworI2RlZmluZSBFVEhfTUFDX0lUX1BNVCAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDhVKSAgLyohPCBQTVQgaW50ZXJydXB0IChvbiBNQUMpICovCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9ETUFfSW50ZXJydXB0cyBFVEggRE1BIEludGVycnVwdHMKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfRE1BX0lUX1RTVCAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDBVKSAgLyohPCBUaW1lLXN0YW1wIHRyaWdnZXIgaW50ZXJydXB0IChvbiBETUEpICovCisjZGVmaW5lIEVUSF9ETUFfSVRfUE1UICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMFUpICAvKiE8IFBNVCBpbnRlcnJ1cHQgKG9uIERNQSkgKi8KKyNkZWZpbmUgRVRIX0RNQV9JVF9NTUMgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwVSkgIC8qITwgTU1DIGludGVycnVwdCAob24gRE1BKSAqLworI2RlZmluZSBFVEhfRE1BX0lUX05JUyAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDBVKSAgLyohPCBOb3JtYWwgaW50ZXJydXB0IHN1bW1hcnkgKi8KKyNkZWZpbmUgRVRIX0RNQV9JVF9BSVMgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwVSkgIC8qITwgQWJub3JtYWwgaW50ZXJydXB0IHN1bW1hcnkgKi8KKyNkZWZpbmUgRVRIX0RNQV9JVF9FUiAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwVSkgIC8qITwgRWFybHkgcmVjZWl2ZSBpbnRlcnJ1cHQgKi8KKyNkZWZpbmUgRVRIX0RNQV9JVF9GQkUgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwVSkgIC8qITwgRmF0YWwgYnVzIGVycm9yIGludGVycnVwdCAqLworI2RlZmluZSBFVEhfRE1BX0lUX0VUICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDBVKSAgLyohPCBFYXJseSB0cmFuc21pdCBpbnRlcnJ1cHQgKi8KKyNkZWZpbmUgRVRIX0RNQV9JVF9SV1QgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwVSkgIC8qITwgUmVjZWl2ZSB3YXRjaGRvZyB0aW1lb3V0IGludGVycnVwdCAqLworI2RlZmluZSBFVEhfRE1BX0lUX1JQUyAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDBVKSAgLyohPCBSZWNlaXZlIHByb2Nlc3Mgc3RvcHBlZCBpbnRlcnJ1cHQgKi8KKyNkZWZpbmUgRVRIX0RNQV9JVF9SQlUgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwVSkgIC8qITwgUmVjZWl2ZSBidWZmZXIgdW5hdmFpbGFibGUgaW50ZXJydXB0ICovCisjZGVmaW5lIEVUSF9ETUFfSVRfUiAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MFUpICAvKiE8IFJlY2VpdmUgaW50ZXJydXB0ICovCisjZGVmaW5lIEVUSF9ETUFfSVRfVFUgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMFUpICAvKiE8IFVuZGVyZmxvdyBpbnRlcnJ1cHQgKi8KKyNkZWZpbmUgRVRIX0RNQV9JVF9STyAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwVSkgIC8qITwgT3ZlcmZsb3cgaW50ZXJydXB0ICovCisjZGVmaW5lIEVUSF9ETUFfSVRfVEpUICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOFUpICAvKiE8IFRyYW5zbWl0IGphYmJlciB0aW1lb3V0IGludGVycnVwdCAqLworI2RlZmluZSBFVEhfRE1BX0lUX1RCVSAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDRVKSAgLyohPCBUcmFuc21pdCBidWZmZXIgdW5hdmFpbGFibGUgaW50ZXJydXB0ICovCisjZGVmaW5lIEVUSF9ETUFfSVRfVFBTICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMlUpICAvKiE8IFRyYW5zbWl0IHByb2Nlc3Mgc3RvcHBlZCBpbnRlcnJ1cHQgKi8KKyNkZWZpbmUgRVRIX0RNQV9JVF9UICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxVSkgIC8qITwgVHJhbnNtaXQgaW50ZXJydXB0ICovCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9ETUFfdHJhbnNtaXRfcHJvY2Vzc19zdGF0ZSBFVEggRE1BIHRyYW5zbWl0IHByb2Nlc3Mgc3RhdGUKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfRE1BX1RSQU5TTUlUUFJPQ0VTU19TVE9QUEVEICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKSAgLyohPCBTdG9wcGVkIC0gUmVzZXQgb3IgU3RvcCBUeCBDb21tYW5kIGlzc3VlZCAqLworI2RlZmluZSBFVEhfRE1BX1RSQU5TTUlUUFJPQ0VTU19GRVRDSElORyAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDBVKSAgLyohPCBSdW5uaW5nIC0gZmV0Y2hpbmcgdGhlIFR4IGRlc2NyaXB0b3IgKi8KKyNkZWZpbmUgRVRIX0RNQV9UUkFOU01JVFBST0NFU1NfV0FJVElORyAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwVSkgIC8qITwgUnVubmluZyAtIHdhaXRpbmcgZm9yIHN0YXR1cyAqLworI2RlZmluZSBFVEhfRE1BX1RSQU5TTUlUUFJPQ0VTU19SRUFESU5HICAgICAoKHVpbnQzMl90KTB4MDAzMDAwMDBVKSAgLyohPCBSdW5uaW5nIC0gcmVhZGluZyB0aGUgZGF0YSBmcm9tIGhvc3QgbWVtb3J5ICovCisjZGVmaW5lIEVUSF9ETUFfVFJBTlNNSVRQUk9DRVNTX1NVU1BFTkRFRCAgICgodWludDMyX3QpMHgwMDYwMDAwMFUpICAvKiE8IFN1c3BlbmRlZCAtIFR4IERlc2NyaXB0b3IgdW5hdmFpbGFibGUgKi8KKyNkZWZpbmUgRVRIX0RNQV9UUkFOU01JVFBST0NFU1NfQ0xPU0lORyAgICAgKCh1aW50MzJfdCkweDAwNzAwMDAwVSkgIC8qITwgUnVubmluZyAtIGNsb3NpbmcgUnggZGVzY3JpcHRvciAqLworCisvKioKKyAgKiBAfQorICAqLworCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0RNQV9yZWNlaXZlX3Byb2Nlc3Nfc3RhdGUgRVRIIERNQSByZWNlaXZlIHByb2Nlc3Mgc3RhdGUKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfRE1BX1JFQ0VJVkVQUk9DRVNTX1NUT1BQRUQgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKSAgLyohPCBTdG9wcGVkIC0gUmVzZXQgb3IgU3RvcCBSeCBDb21tYW5kIGlzc3VlZCAqLworI2RlZmluZSBFVEhfRE1BX1JFQ0VJVkVQUk9DRVNTX0ZFVENISU5HICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDBVKSAgLyohPCBSdW5uaW5nIC0gZmV0Y2hpbmcgdGhlIFJ4IGRlc2NyaXB0b3IgKi8KKyNkZWZpbmUgRVRIX0RNQV9SRUNFSVZFUFJPQ0VTU19XQUlUSU5HICAgICAgKCh1aW50MzJfdCkweDAwMDYwMDAwVSkgIC8qITwgUnVubmluZyAtIHdhaXRpbmcgZm9yIHBhY2tldCAqLworI2RlZmluZSBFVEhfRE1BX1JFQ0VJVkVQUk9DRVNTX1NVU1BFTkRFRCAgICAoKHVpbnQzMl90KTB4MDAwODAwMDBVKSAgLyohPCBTdXNwZW5kZWQgLSBSeCBEZXNjcmlwdG9yIHVuYXZhaWxhYmxlICovCisjZGVmaW5lIEVUSF9ETUFfUkVDRUlWRVBST0NFU1NfQ0xPU0lORyAgICAgICgodWludDMyX3QpMHgwMDBBMDAwMFUpICAvKiE8IFJ1bm5pbmcgLSBjbG9zaW5nIGRlc2NyaXB0b3IgKi8KKyNkZWZpbmUgRVRIX0RNQV9SRUNFSVZFUFJPQ0VTU19RVUVVSU5HICAgICAgKCh1aW50MzJfdCkweDAwMEUwMDAwVSkgIC8qITwgUnVubmluZyAtIHF1ZXVpbmcgdGhlIHJlY2VpdmUgZnJhbWUgaW50byBob3N0IG1lbW9yeSAqLworCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9ETUFfb3ZlcmZsb3cgRVRIIERNQSBvdmVyZmxvdworICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9ETUFfT1ZFUkZMT1dfUlhGSUZPQ09VTlRFUiAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMFUpICAvKiE8IE92ZXJmbG93IGJpdCBmb3IgRklGTyBvdmVyZmxvdyBjb3VudGVyICovCisjZGVmaW5lIEVUSF9ETUFfT1ZFUkZMT1dfTUlTU0VERlJBTUVDT1VOVEVSICgodWludDMyX3QpMHgwMDAxMDAwMFUpICAvKiE8IE92ZXJmbG93IGJpdCBmb3IgbWlzc2VkIGZyYW1lIGNvdW50ZXIgKi8KKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0VYVElfTElORV9XQUtFVVAgRVRIIEVYVEkgTElORSBXQUtFVVAKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfRVhUSV9MSU5FX1dBS0VVUCAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwVSkgIC8qITwgRXh0ZXJuYWwgaW50ZXJydXB0IGxpbmUgMTkgQ29ubmVjdGVkIHRvIHRoZSBFVEggRVhUSSBMaW5lICovCisKKy8qKgorICAqIEB9CisgICovCisKKy8qKgorICAqIEB9CisgICovCisKKy8qIEV4cG9ydGVkIG1hY3JvIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKiogQGRlZmdyb3VwIEVUSF9FeHBvcnRlZF9NYWNyb3MgRVRIIEV4cG9ydGVkIE1hY3JvcworICogIEBicmllZiBtYWNyb3MgdG8gaGFuZGxlIGludGVycnVwdHMgYW5kIHNwZWNpZmljIGNsb2NrIGNvbmZpZ3VyYXRpb25zCisgKiBAeworICovCisKKy8qKiBAYnJpZWYgUmVzZXQgRVRIIGhhbmRsZSBzdGF0ZQorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIEVUSCBoYW5kbGUuCisgICogQHJldHZhbCBOb25lCisgICovCisjaWYgKFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQorI2RlZmluZSBfX0hBTF9FVEhfUkVTRVRfSEFORExFX1NUQVRFKF9fSEFORExFX18pICBkb3sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX1JFU0VUOyAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+TXNwSW5pdENhbGxiYWNrID0gTlVMTDsgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+TXNwRGVJbml0Q2FsbGJhY2sgPSBOVUxMOyAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IHdoaWxlKDApCisjZWxzZQorI2RlZmluZSBfX0hBTF9FVEhfUkVTRVRfSEFORExFX1NUQVRFKF9fSEFORExFX18pICgoX19IQU5ETEVfXyktPlN0YXRlID0gSEFMX0VUSF9TVEFURV9SRVNFVCkKKyNlbmRpZiAvKlVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyAqLworCisvKioKKyAgKiBAYnJpZWYgIENoZWNrcyB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgRXRoZXJuZXQgRE1BIFR4IERlc2MgZmxhZyBpcyBzZXQgb3Igbm90LgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlCisgICogQHBhcmFtICBfX0ZMQUdfXyBzcGVjaWZpZXMgdGhlIGZsYWcgb2YgVERFUzAgdG8gY2hlY2suCisgICogQHJldHZhbCB0aGUgRVRIX0RNQVR4RGVzY0ZsYWcgKFNFVCBvciBSRVNFVCkuCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9ETUFUWERFU0NfR0VUX0ZMQUcoX19IQU5ETEVfXywgX19GTEFHX18pICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPlR4RGVzYy0+U3RhdHVzICYgKF9fRkxBR19fKSA9PSAoX19GTEFHX18pKQorCisvKioKKyAgKiBAYnJpZWYgIENoZWNrcyB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgRXRoZXJuZXQgRE1BIFJ4IERlc2MgZmxhZyBpcyBzZXQgb3Igbm90LgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlCisgICogQHBhcmFtICBfX0ZMQUdfXyBzcGVjaWZpZXMgdGhlIGZsYWcgb2YgUkRFUzAgdG8gY2hlY2suCisgICogQHJldHZhbCB0aGUgRVRIX0RNQVR4RGVzY0ZsYWcgKFNFVCBvciBSRVNFVCkuCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9ETUFSWERFU0NfR0VUX0ZMQUcoX19IQU5ETEVfXywgX19GTEFHX18pICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPlJ4RGVzYy0+U3RhdHVzICYgKF9fRkxBR19fKSA9PSAoX19GTEFHX18pKQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIHNwZWNpZmllZCBETUEgUnggRGVzYyByZWNlaXZlIGludGVycnVwdC4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZQorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfRE1BUlhERVNDX0VOQUJMRV9JVChfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+UnhEZXNjLT5Db250cm9sQnVmZmVyU2l6ZSAmPSh+KHVpbnQzMl90KUVUSF9ETUFSWERFU0NfRElDKSkKKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlcyB0aGUgc3BlY2lmaWVkIERNQSBSeCBEZXNjIHJlY2VpdmUgaW50ZXJydXB0LgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9ETUFSWERFU0NfRElTQUJMRV9JVChfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5SeERlc2MtPkNvbnRyb2xCdWZmZXJTaXplIHw9IEVUSF9ETUFSWERFU0NfRElDKQorCisvKioKKyAgKiBAYnJpZWYgIFNldCB0aGUgc3BlY2lmaWVkIERNQSBSeCBEZXNjIE93biBiaXQuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0RNQVJYREVTQ19TRVRfT1dOX0JJVChfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPlJ4RGVzYy0+U3RhdHVzIHw9IEVUSF9ETUFSWERFU0NfT1dOKQorCisvKioKKyAgKiBAYnJpZWYgIFJldHVybnMgdGhlIHNwZWNpZmllZCBFdGhlcm5ldCBETUEgVHggRGVzYyBjb2xsaXNpb24gY291bnQuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcmV0dmFsIFRoZSBUcmFuc21pdCBkZXNjcmlwdG9yIGNvbGxpc2lvbiBjb3VudGVyIHZhbHVlLgorICAqLworI2RlZmluZSBfX0hBTF9FVEhfRE1BVFhERVNDX0dFVF9DT0xMSVNJT05fQ09VTlQoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgKCgoX19IQU5ETEVfXyktPlR4RGVzYy0+U3RhdHVzICYgRVRIX0RNQVRYREVTQ19DQykgPj4gRVRIX0RNQVRYREVTQ19DT0xMSVNJT05fQ09VTlRTSElGVCkKKworLyoqCisgICogQGJyaWVmICBTZXQgdGhlIHNwZWNpZmllZCBETUEgVHggRGVzYyBPd24gYml0LgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9ETUFUWERFU0NfU0VUX09XTl9CSVQoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPlR4RGVzYy0+U3RhdHVzIHw9IEVUSF9ETUFUWERFU0NfT1dOKQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIHNwZWNpZmllZCBETUEgVHggRGVzYyBUcmFuc21pdCBpbnRlcnJ1cHQuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0RNQVRYREVTQ19FTkFCTEVfSVQoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPlR4RGVzYy0+U3RhdHVzIHw9IEVUSF9ETUFUWERFU0NfSUMpCisKKy8qKgorICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIHNwZWNpZmllZCBETUEgVHggRGVzYyBUcmFuc21pdCBpbnRlcnJ1cHQuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0RNQVRYREVTQ19ESVNBQkxFX0lUKF9fSEFORExFX18pICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5UeERlc2MtPlN0YXR1cyAmPSB+RVRIX0RNQVRYREVTQ19JQykKKworLyoqCisgICogQGJyaWVmICBTZWxlY3RzIHRoZSBzcGVjaWZpZWQgRXRoZXJuZXQgRE1BIFR4IERlc2MgQ2hlY2tzdW0gSW5zZXJ0aW9uLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlCisgICogQHBhcmFtICBfX0NIRUNLU1VNX18gc3BlY2lmaWVzIGlzIHRoZSBETUEgVHggZGVzYyBjaGVja3N1bSBpbnNlcnRpb24uCisgICogICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgorICAqICAgICBAYXJnIEVUSF9ETUFUWERFU0NfQ0hFQ0tTVU1CWVBBU1MgOiBDaGVja3N1bSBieXBhc3MKKyAgKiAgICAgQGFyZyBFVEhfRE1BVFhERVNDX0NIRUNLU1VNSVBWNEhFQURFUiA6IElQdjQgaGVhZGVyIGNoZWNrc3VtCisgICogICAgIEBhcmcgRVRIX0RNQVRYREVTQ19DSEVDS1NVTVRDUFVEUElDTVBTRUdNRU5UIDogVENQL1VEUC9JQ01QIGNoZWNrc3VtLiBQc2V1ZG8gaGVhZGVyIGNoZWNrc3VtIGlzIGFzc3VtZWQgdG8gYmUgcHJlc2VudAorICAqICAgICBAYXJnIEVUSF9ETUFUWERFU0NfQ0hFQ0tTVU1UQ1BVRFBJQ01QRlVMTCA6IFRDUC9VRFAvSUNNUCBjaGVja3N1bSBmdWxseSBpbiBoYXJkd2FyZSBpbmNsdWRpbmcgcHNldWRvIGhlYWRlcgorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfRE1BVFhERVNDX0NIRUNLU1VNX0lOU0VSVElPTihfX0hBTkRMRV9fLCBfX0NIRUNLU1VNX18pICAgICAoKF9fSEFORExFX18pLT5UeERlc2MtPlN0YXR1cyB8PSAoX19DSEVDS1NVTV9fKSkKKworLyoqCisgICogQGJyaWVmICBFbmFibGVzIHRoZSBETUEgVHggRGVzYyBDUkMuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0RNQVRYREVTQ19DUkNfRU5BQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5UeERlc2MtPlN0YXR1cyAmPSB+RVRIX0RNQVRYREVTQ19EQykKKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlcyB0aGUgRE1BIFR4IERlc2MgQ1JDLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9ETUFUWERFU0NfQ1JDX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+VHhEZXNjLT5TdGF0dXMgfD0gRVRIX0RNQVRYREVTQ19EQykKKworLyoqCisgICogQGJyaWVmICBFbmFibGVzIHRoZSBETUEgVHggRGVzYyBwYWRkaW5nIGZvciBmcmFtZSBzaG9ydGVyIHRoYW4gNjQgYnl0ZXMuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0RNQVRYREVTQ19TSE9SVF9GUkFNRV9QQURESU5HX0VOQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICgoX19IQU5ETEVfXyktPlR4RGVzYy0+U3RhdHVzICY9IH5FVEhfRE1BVFhERVNDX0RQKQorCisvKioKKyAgKiBAYnJpZWYgIERpc2FibGVzIHRoZSBETUEgVHggRGVzYyBwYWRkaW5nIGZvciBmcmFtZSBzaG9ydGVyIHRoYW4gNjQgYnl0ZXMuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0RNQVRYREVTQ19TSE9SVF9GUkFNRV9QQURESU5HX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICgoX19IQU5ETEVfXyktPlR4RGVzYy0+U3RhdHVzIHw9IEVUSF9ETUFUWERFU0NfRFApCisKKy8qKgorICogQGJyaWVmICBFbmFibGVzIHRoZSBzcGVjaWZpZWQgRXRoZXJuZXQgTUFDIGludGVycnVwdHMuCisgICogQHBhcmFtICBfX0hBTkRMRV9fICAgIEVUSCBIYW5kbGUKKyAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBFdGhlcm5ldCBNQUMgaW50ZXJydXB0IHNvdXJjZXMgdG8gYmUKKyAgKiAgIGVuYWJsZWQgb3IgZGlzYWJsZWQuCisgICogICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYW55IGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgorICAqICAgICBAYXJnIEVUSF9NQUNfSVRfVFNUIDogVGltZSBzdGFtcCB0cmlnZ2VyIGludGVycnVwdAorICAqICAgICBAYXJnIEVUSF9NQUNfSVRfUE1UIDogUE1UIGludGVycnVwdAorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfTUFDX0VOQUJMRV9JVChfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1BQ0lNUiB8PSAoX19JTlRFUlJVUFRfXykpCisKKy8qKgorICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIHNwZWNpZmllZCBFdGhlcm5ldCBNQUMgaW50ZXJydXB0cy4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gICAgRVRIIEhhbmRsZQorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIEV0aGVybmV0IE1BQyBpbnRlcnJ1cHQgc291cmNlcyB0byBiZQorICAqICAgZW5hYmxlZCBvciBkaXNhYmxlZC4KKyAgKiAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisgICogICAgIEBhcmcgRVRIX01BQ19JVF9UU1QgOiBUaW1lIHN0YW1wIHRyaWdnZXIgaW50ZXJydXB0CisgICogICAgIEBhcmcgRVRIX01BQ19JVF9QTVQgOiBQTVQgaW50ZXJydXB0CisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9NQUNfRElTQUJMRV9JVChfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TUFDSU1SICY9IH4oX19JTlRFUlJVUFRfXykpCisKKy8qKgorICAqIEBicmllZiAgSW5pdGlhdGUgYSBQYXVzZSBDb250cm9sIEZyYW1lIChGdWxsLWR1cGxleCBvbmx5KS4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZQorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfSU5JVElBVEVfUEFVU0VfQ09OVFJPTF9GUkFNRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1BQ0ZDUiB8PSBFVEhfTUFDRkNSX0ZDQkJQQSkKKworLyoqCisgICogQGJyaWVmICBDaGVja3Mgd2hldGhlciB0aGUgRXRoZXJuZXQgZmxvdyBjb250cm9sIGJ1c3kgYml0IGlzIHNldCBvciBub3QuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcmV0dmFsIFRoZSBuZXcgc3RhdGUgb2YgZmxvdyBjb250cm9sIGJ1c3kgc3RhdHVzIGJpdCAoU0VUIG9yIFJFU0VUKS4KKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0dFVF9GTE9XX0NPTlRST0xfQlVTWV9TVEFUVVMoX19IQU5ETEVfXykgICAgICAgICAgICAgICAoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1BQ0ZDUiAmIEVUSF9NQUNGQ1JfRkNCQlBBKSA9PSBFVEhfTUFDRkNSX0ZDQkJQQSkKKworLyoqCisgICogQGJyaWVmICBFbmFibGVzIHRoZSBNQUMgQmFjayBQcmVzc3VyZSBvcGVyYXRpb24gYWN0aXZhdGlvbiAoSGFsZi1kdXBsZXggb25seSkuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0JBQ0tfUFJFU1NVUkVfQUNUSVZBVElPTl9FTkFCTEUoX19IQU5ETEVfXykgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1BQ0ZDUiB8PSBFVEhfTUFDRkNSX0ZDQkJQQSkKKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlcyB0aGUgTUFDIEJhY2tQcmVzc3VyZSBvcGVyYXRpb24gYWN0aXZhdGlvbiAoSGFsZi1kdXBsZXggb25seSkuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0JBQ0tfUFJFU1NVUkVfQUNUSVZBVElPTl9ESVNBQkxFKF9fSEFORExFX18pICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1BQ0ZDUiAmPSB+RVRIX01BQ0ZDUl9GQ0JCUEEpCisKKy8qKgorICAqIEBicmllZiAgQ2hlY2tzIHdoZXRoZXIgdGhlIHNwZWNpZmllZCBFdGhlcm5ldCBNQUMgZmxhZyBpcyBzZXQgb3Igbm90LgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlCisgICogQHBhcmFtICBfX0ZMQUdfXyBzcGVjaWZpZXMgdGhlIGZsYWcgdG8gY2hlY2suCisgICogICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgorICAqICAgICBAYXJnIEVUSF9NQUNfRkxBR19UU1QgIDogVGltZSBzdGFtcCB0cmlnZ2VyIGZsYWcKKyAgKiAgICAgQGFyZyBFVEhfTUFDX0ZMQUdfTU1DVCA6IE1NQyB0cmFuc21pdCBmbGFnCisgICogICAgIEBhcmcgRVRIX01BQ19GTEFHX01NQ1IgOiBNTUMgcmVjZWl2ZSBmbGFnCisgICogICAgIEBhcmcgRVRIX01BQ19GTEFHX01NQyAgOiBNTUMgZmxhZworICAqICAgICBAYXJnIEVUSF9NQUNfRkxBR19QTVQgIDogUE1UIGZsYWcKKyAgKiBAcmV0dmFsIFRoZSBzdGF0ZSBvZiBFdGhlcm5ldCBNQUMgZmxhZy4KKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX01BQ19HRVRfRkxBRyhfX0hBTkRMRV9fLCBfX0ZMQUdfXykgICAgICAgICAgICAgICAgICAgKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NQUNTUiAmKCBfX0ZMQUdfXykpID09ICggX19GTEFHX18pKQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIHNwZWNpZmllZCBFdGhlcm5ldCBETUEgaW50ZXJydXB0cy4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gICAgRVRIIEhhbmRsZQorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIEV0aGVybmV0IERNQSBpbnRlcnJ1cHQgc291cmNlcyB0byBiZQorICAqICAgZW5hYmxlZCBAcmVmIEVUSF9ETUFfSW50ZXJydXB0cworICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfRE1BX0VOQUJMRV9JVChfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkRNQUlFUiB8PSAoX19JTlRFUlJVUFRfXykpCisKKy8qKgorICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIHNwZWNpZmllZCBFdGhlcm5ldCBETUEgaW50ZXJydXB0cy4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gICAgRVRIIEhhbmRsZQorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIEV0aGVybmV0IERNQSBpbnRlcnJ1cHQgc291cmNlcyB0byBiZQorICAqICAgZGlzYWJsZWQuIEByZWYgRVRIX0RNQV9JbnRlcnJ1cHRzCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9ETUFfRElTQUJMRV9JVChfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+RE1BSUVSICY9IH4oX19JTlRFUlJVUFRfXykpCisKKy8qKgorICAqIEBicmllZiAgQ2xlYXJzIHRoZSBFdGhlcm5ldCBETUEgSVQgcGVuZGluZyBiaXQuCisgICogQHBhcmFtICBfX0hBTkRMRV9fICAgIEVUSCBIYW5kbGUKKyAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBpbnRlcnJ1cHQgcGVuZGluZyBiaXQgdG8gY2xlYXIuIEByZWYgRVRIX0RNQV9JbnRlcnJ1cHRzCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9ETUFfQ0xFQVJfSVQoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+RE1BU1IgPShfX0lOVEVSUlVQVF9fKSkKKworLyoqCisgICogQGJyaWVmICBDaGVja3Mgd2hldGhlciB0aGUgc3BlY2lmaWVkIEV0aGVybmV0IERNQSBmbGFnIGlzIHNldCBvciBub3QuCisqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlCisgICogQHBhcmFtICBfX0ZMQUdfXyBzcGVjaWZpZXMgdGhlIGZsYWcgdG8gY2hlY2suIEByZWYgRVRIX0RNQV9GbGFncworICAqIEByZXR2YWwgVGhlIG5ldyBzdGF0ZSBvZiBFVEhfRE1BX0ZMQUcgKFNFVCBvciBSRVNFVCkuCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9ETUFfR0VUX0ZMQUcoX19IQU5ETEVfXywgX19GTEFHX18pICAgICAgICAgICAgICAgICAgICgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+RE1BU1IgJiggX19GTEFHX18pKSA9PSAoIF9fRkxBR19fKSkKKworLyoqCisgICogQGJyaWVmICBDaGVja3Mgd2hldGhlciB0aGUgc3BlY2lmaWVkIEV0aGVybmV0IERNQSBmbGFnIGlzIHNldCBvciBub3QuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgZmxhZyB0byBjbGVhci4gQHJlZiBFVEhfRE1BX0ZsYWdzCisgICogQHJldHZhbCBUaGUgbmV3IHN0YXRlIG9mIEVUSF9ETUFfRkxBRyAoU0VUIG9yIFJFU0VUKS4KKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0RNQV9DTEVBUl9GTEFHKF9fSEFORExFX18sIF9fRkxBR19fKSAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkRNQVNSID0gKF9fRkxBR19fKSkKKworLyoqCisgICogQGJyaWVmICBDaGVja3Mgd2hldGhlciB0aGUgc3BlY2lmaWVkIEV0aGVybmV0IERNQSBvdmVyZmxvdyBmbGFnIGlzIHNldCBvciBub3QuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcGFyYW0gIF9fT1ZFUkZMT1dfXyBzcGVjaWZpZXMgdGhlIERNQSBvdmVyZmxvdyBmbGFnIHRvIGNoZWNrLgorICAqICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKKyAgKiAgICAgQGFyZyBFVEhfRE1BX09WRVJGTE9XX1JYRklGT0NPVU5URVIgOiBPdmVyZmxvdyBmb3IgRklGTyBPdmVyZmxvd3MgQ291bnRlcgorICAqICAgICBAYXJnIEVUSF9ETUFfT1ZFUkZMT1dfTUlTU0VERlJBTUVDT1VOVEVSIDogT3ZlcmZsb3cgZm9yIEJ1ZmZlciBVbmF2YWlsYWJsZSBNaXNzZWQgRnJhbWUgQ291bnRlcgorICAqIEByZXR2YWwgVGhlIHN0YXRlIG9mIEV0aGVybmV0IERNQSBvdmVyZmxvdyBGbGFnIChTRVQgb3IgUkVTRVQpLgorICAqLworI2RlZmluZSBfX0hBTF9FVEhfR0VUX0RNQV9PVkVSRkxPV19TVEFUVVMoX19IQU5ETEVfXywgX19PVkVSRkxPV19fKSAgICAgICAoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkRNQU1GQk9DUiAmIChfX09WRVJGTE9XX18pKSA9PSAoX19PVkVSRkxPV19fKSkKKworLyoqCisgICogQGJyaWVmICBTZXQgdGhlIERNQSBSZWNlaXZlIHN0YXR1cyB3YXRjaGRvZyB0aW1lciByZWdpc3RlciB2YWx1ZQorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlCisgICogQHBhcmFtICBfX1ZBTFVFX18gRE1BIFJlY2VpdmUgc3RhdHVzIHdhdGNoZG9nIHRpbWVyIHJlZ2lzdGVyIHZhbHVlCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9TRVRfUkVDRUlWRV9XQVRDSERPR19USU1FUihfX0hBTkRMRV9fLCBfX1ZBTFVFX18pICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5ETUFSU1dUUiA9IChfX1ZBTFVFX18pKQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZXMgYW55IHVuaWNhc3QgcGFja2V0IGZpbHRlcmVkIGJ5IHRoZSBNQUMgYWRkcmVzcworICAqICAgcmVjb2duaXRpb24gdG8gYmUgYSB3YWtlLXVwIGZyYW1lLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfR0xPQkFMX1VOSUNBU1RfV0FLRVVQX0VOQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NQUNQTVRDU1IgfD0gRVRIX01BQ1BNVENTUl9HVSkKKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlcyBhbnkgdW5pY2FzdCBwYWNrZXQgZmlsdGVyZWQgYnkgdGhlIE1BQyBhZGRyZXNzCisgICogICByZWNvZ25pdGlvbiB0byBiZSBhIHdha2UtdXAgZnJhbWUuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUuCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9HTE9CQUxfVU5JQ0FTVF9XQUtFVVBfRElTQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1BQ1BNVENTUiAmPSB+RVRIX01BQ1BNVENTUl9HVSkKKworLyoqCisgICogQGJyaWVmICBFbmFibGVzIHRoZSBNQUMgV2FrZS1VcCBGcmFtZSBEZXRlY3Rpb24uCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUuCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9XQUtFVVBfRlJBTUVfREVURUNUSU9OX0VOQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1BQ1BNVENTUiB8PSBFVEhfTUFDUE1UQ1NSX1dGRSkKKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlcyB0aGUgTUFDIFdha2UtVXAgRnJhbWUgRGV0ZWN0aW9uLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfV0FLRVVQX0ZSQU1FX0RFVEVDVElPTl9ESVNBQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NQUNQTVRDU1IgJj0gfkVUSF9NQUNQTVRDU1JfV0ZFKQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIE1BQyBNYWdpYyBQYWNrZXQgRGV0ZWN0aW9uLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfTUFHSUNfUEFDS0VUX0RFVEVDVElPTl9FTkFCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NQUNQTVRDU1IgfD0gRVRIX01BQ1BNVENTUl9NUEUpCisKKy8qKgorICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIE1BQyBNYWdpYyBQYWNrZXQgRGV0ZWN0aW9uLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfTUFHSUNfUEFDS0VUX0RFVEVDVElPTl9ESVNBQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NQUNQTVRDU1IgJj0gfkVUSF9NQUNQTVRDU1JfV0ZFKQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIE1BQyBQb3dlciBEb3duLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9QT1dFUl9ET1dOX0VOQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TUFDUE1UQ1NSIHw9IEVUSF9NQUNQTVRDU1JfUEQpCisKKy8qKgorICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIE1BQyBQb3dlciBEb3duLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9QT1dFUl9ET1dOX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TUFDUE1UQ1NSICY9IH5FVEhfTUFDUE1UQ1NSX1BEKQorCisvKioKKyAgKiBAYnJpZWYgIENoZWNrcyB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgRXRoZXJuZXQgUE1UIGZsYWcgaXMgc2V0IG9yIG5vdC4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZS4KKyAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgZmxhZyB0byBjaGVjay4KKyAgKiAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisgICogICAgIEBhcmcgRVRIX1BNVF9GTEFHX1dVRkZSUFIgOiBXYWtlLVVwIEZyYW1lIEZpbHRlciBSZWdpc3RlciBQb2ludGVyIFJlc2V0CisgICogICAgIEBhcmcgRVRIX1BNVF9GTEFHX1dVRlIgICAgOiBXYWtlLVVwIEZyYW1lIFJlY2VpdmVkCisgICogICAgIEBhcmcgRVRIX1BNVF9GTEFHX01QUiAgICAgOiBNYWdpYyBQYWNrZXQgUmVjZWl2ZWQKKyAgKiBAcmV0dmFsIFRoZSBuZXcgc3RhdGUgb2YgRXRoZXJuZXQgUE1UIEZsYWcgKFNFVCBvciBSRVNFVCkuCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9HRVRfUE1UX0ZMQUdfU1RBVFVTKF9fSEFORExFX18sIF9fRkxBR19fKSAgICAgICAgICAgICAgICgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TUFDUE1UQ1NSICYoIF9fRkxBR19fKSkgPT0gKCBfX0ZMQUdfXykpCisKKy8qKgorICAqIEBicmllZiAgUHJlc2V0IGFuZCBJbml0aWFsaXplIHRoZSBNTUMgY291bnRlcnMgdG8gYWxtb3N0LWZ1bGwgdmFsdWU6IDB4RkZGRl9GRkYwIChmdWxsIC0gMTYpCisgICogQHBhcmFtICAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfTU1DX0NPVU5URVJfRlVMTF9QUkVTRVQoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TU1DQ1IgfD0gKEVUSF9NTUNDUl9NQ0ZIUCB8IEVUSF9NTUNDUl9NQ1ApKQorCisvKioKKyAgKiBAYnJpZWYgIFByZXNldCBhbmQgSW5pdGlhbGl6ZSB0aGUgTU1DIGNvdW50ZXJzIHRvIGFsbW9zdC1oYWxmIHZhbHVlOiAweDdGRkZfRkZGMCAoaGFsZiAtIDE2KQorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfTU1DX0NPVU5URVJfSEFMRl9QUkVTRVQoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgICBkb3soX19IQU5ETEVfXyktPkluc3RhbmNlLT5NTUNDUiAmPSB+RVRIX01NQ0NSX01DRkhQO1wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TU1DQ1IgfD0gRVRIX01NQ0NSX01DUDt9IHdoaWxlICgwKQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIE1NQyBDb3VudGVyIEZyZWV6ZS4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZS4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX01NQ19DT1VOVEVSX0ZSRUVaRV9FTkFCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TU1DQ1IgfD0gRVRIX01NQ0NSX01DRikKKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlcyB0aGUgTU1DIENvdW50ZXIgRnJlZXplLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfTU1DX0NPVU5URVJfRlJFRVpFX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NTUNDUiAmPSB+RVRIX01NQ0NSX01DRikKKworLyoqCisgICogQGJyaWVmICBFbmFibGVzIHRoZSBNTUMgUmVzZXQgT24gUmVhZC4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZS4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0VUSF9NTUNfUkVTRVRfT05SRUFEX0VOQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TU1DQ1IgfD0gRVRIX01NQ0NSX1JPUikKKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlcyB0aGUgTU1DIFJlc2V0IE9uIFJlYWQuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUuCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9FVEhfTU1DX1JFU0VUX09OUkVBRF9ESVNBQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1NQ0NSICY9IH5FVEhfTU1DQ1JfUk9SKQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIE1NQyBDb3VudGVyIFN0b3AgUm9sbG92ZXIuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUuCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9FVEhfTU1DX0NPVU5URVJfUk9MTE9WRVJfRU5BQkxFKF9fSEFORExFX18pICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1NQ0NSICY9IH5FVEhfTU1DQ1JfQ1NSKQorCisvKioKKyAgKiBAYnJpZWYgIERpc2FibGVzIHRoZSBNTUMgQ291bnRlciBTdG9wIFJvbGxvdmVyLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfRVRIX01NQ19DT1VOVEVSX1JPTExPVkVSX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NTUNDUiB8PSBFVEhfTU1DQ1JfQ1NSKQorCisvKioKKyAgKiBAYnJpZWYgIFJlc2V0cyB0aGUgTU1DIENvdW50ZXJzLgorICAqIEBwYXJhbSAgIF9fSEFORExFX18gRVRIIEhhbmRsZS4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX01NQ19DT1VOVEVSU19SRVNFVChfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TU1DQ1IgfD0gRVRIX01NQ0NSX0NSKQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIHNwZWNpZmllZCBFdGhlcm5ldCBNTUMgUnggaW50ZXJydXB0cy4KKyAgKiBAcGFyYW0gICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUuCisgICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIHNwZWNpZmllcyB0aGUgRXRoZXJuZXQgTU1DIGludGVycnVwdCBzb3VyY2VzIHRvIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuCisgICogICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgorICAqICAgICBAYXJnIEVUSF9NTUNfSVRfUkdVRiAgOiBXaGVuIFJ4IGdvb2QgdW5pY2FzdCBmcmFtZXMgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUKKyAgKiAgICAgQGFyZyBFVEhfTU1DX0lUX1JGQUUgIDogV2hlbiBSeCBhbGlnbm1lbnQgZXJyb3IgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUKKyAgKiAgICAgQGFyZyBFVEhfTU1DX0lUX1JGQ0UgIDogV2hlbiBSeCBjcmMgZXJyb3IgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX01NQ19SWF9JVF9FTkFCTEUoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICAgICAgICAgICAoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NTUNSSU1SICY9IH4oKF9fSU5URVJSVVBUX18pICYgMHhFRkZGRkZGRikKKy8qKgorICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIHNwZWNpZmllZCBFdGhlcm5ldCBNTUMgUnggaW50ZXJydXB0cy4KKyAgKiBAcGFyYW0gICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUuCisgICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIHNwZWNpZmllcyB0aGUgRXRoZXJuZXQgTU1DIGludGVycnVwdCBzb3VyY2VzIHRvIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuCisgICogICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgorICAqICAgICBAYXJnIEVUSF9NTUNfSVRfUkdVRiAgOiBXaGVuIFJ4IGdvb2QgdW5pY2FzdCBmcmFtZXMgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUKKyAgKiAgICAgQGFyZyBFVEhfTU1DX0lUX1JGQUUgIDogV2hlbiBSeCBhbGlnbm1lbnQgZXJyb3IgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUKKyAgKiAgICAgQGFyZyBFVEhfTU1DX0lUX1JGQ0UgIDogV2hlbiBSeCBjcmMgZXJyb3IgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX01NQ19SWF9JVF9ESVNBQkxFKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAgICAgICAgICAoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NTUNSSU1SIHw9ICgoX19JTlRFUlJVUFRfXykgJiAweEVGRkZGRkZGKQorLyoqCisgICogQGJyaWVmICBFbmFibGVzIHRoZSBzcGVjaWZpZWQgRXRoZXJuZXQgTU1DIFR4IGludGVycnVwdHMuCisgICogQHBhcmFtICAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIEV0aGVybmV0IE1NQyBpbnRlcnJ1cHQgc291cmNlcyB0byBiZSBlbmFibGVkIG9yIGRpc2FibGVkLgorICAqICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKKyAgKiAgICAgQGFyZyBFVEhfTU1DX0lUX1RHRiAgIDogV2hlbiBUeCBnb29kIGZyYW1lIGNvdW50ZXIgcmVhY2hlcyBoYWxmIHRoZSBtYXhpbXVtIHZhbHVlCisgICogICAgIEBhcmcgRVRIX01NQ19JVF9UR0ZNU0M6IFdoZW4gVHggZ29vZCBtdWx0aSBjb2wgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUKKyAgKiAgICAgQGFyZyBFVEhfTU1DX0lUX1RHRlNDIDogV2hlbiBUeCBnb29kIHNpbmdsZSBjb2wgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX01NQ19UWF9JVF9FTkFCTEUoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TU1DUklNUiAmPSB+IChfX0lOVEVSUlVQVF9fKSkKKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlcyB0aGUgc3BlY2lmaWVkIEV0aGVybmV0IE1NQyBUeCBpbnRlcnJ1cHRzLgorICAqIEBwYXJhbSAgIF9fSEFORExFX18gRVRIIEhhbmRsZS4KKyAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBFdGhlcm5ldCBNTUMgaW50ZXJydXB0IHNvdXJjZXMgdG8gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4KKyAgKiAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisgICogICAgIEBhcmcgRVRIX01NQ19JVF9UR0YgICA6IFdoZW4gVHggZ29vZCBmcmFtZSBjb3VudGVyIHJlYWNoZXMgaGFsZiB0aGUgbWF4aW11bSB2YWx1ZQorICAqICAgICBAYXJnIEVUSF9NTUNfSVRfVEdGTVNDOiBXaGVuIFR4IGdvb2QgbXVsdGkgY29sIGNvdW50ZXIgcmVhY2hlcyBoYWxmIHRoZSBtYXhpbXVtIHZhbHVlCisgICogICAgIEBhcmcgRVRIX01NQ19JVF9UR0ZTQyA6IFdoZW4gVHggZ29vZCBzaW5nbGUgY29sIGNvdW50ZXIgcmVhY2hlcyBoYWxmIHRoZSBtYXhpbXVtIHZhbHVlCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9NTUNfVFhfSVRfRElTQUJMRShfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1NQ1JJTVIgfD0gKF9fSU5URVJSVVBUX18pKQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIEVUSCBFeHRlcm5hbCBpbnRlcnJ1cHQgbGluZS4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX1dBS0VVUF9FWFRJX0VOQUJMRV9JVCgpICAgIEVYVEktPklNUiB8PSAoRVRIX0VYVElfTElORV9XQUtFVVApCisKKy8qKgorICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIEVUSCBFeHRlcm5hbCBpbnRlcnJ1cHQgbGluZS4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX1dBS0VVUF9FWFRJX0RJU0FCTEVfSVQoKSAgIEVYVEktPklNUiAmPSB+KEVUSF9FWFRJX0xJTkVfV0FLRVVQKQorCisvKioKKyAgKiBAYnJpZWYgRW5hYmxlIGV2ZW50IG9uIEVUSCBFeHRlcm5hbCBldmVudCBsaW5lLgorICAqIEByZXR2YWwgTm9uZS4KKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX1dBS0VVUF9FWFRJX0VOQUJMRV9FVkVOVCgpICBFWFRJLT5FTVIgfD0gKEVUSF9FWFRJX0xJTkVfV0FLRVVQKQorCisvKioKKyAgKiBAYnJpZWYgRGlzYWJsZSBldmVudCBvbiBFVEggRXh0ZXJuYWwgZXZlbnQgbGluZQorICAqIEByZXR2YWwgTm9uZS4KKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX1dBS0VVUF9FWFRJX0RJU0FCTEVfRVZFTlQoKSBFWFRJLT5FTVIgJj0gfihFVEhfRVhUSV9MSU5FX1dBS0VVUCkKKworLyoqCisgICogQGJyaWVmICBHZXQgZmxhZyBvZiB0aGUgRVRIIEV4dGVybmFsIGludGVycnVwdCBsaW5lLgorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfV0FLRVVQX0VYVElfR0VUX0ZMQUcoKSAgICAgRVhUSS0+UFIgJiAoRVRIX0VYVElfTElORV9XQUtFVVApCisKKy8qKgorICAqIEBicmllZiAgQ2xlYXIgZmxhZyBvZiB0aGUgRVRIIEV4dGVybmFsIGludGVycnVwdCBsaW5lLgorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfV0FLRVVQX0VYVElfQ0xFQVJfRkxBRygpICAgRVhUSS0+UFIgPSAoRVRIX0VYVElfTElORV9XQUtFVVApCisKKy8qKgorICAqIEBicmllZiAgRW5hYmxlcyByaXNpbmcgZWRnZSB0cmlnZ2VyIHRvIHRoZSBFVEggRXh0ZXJuYWwgaW50ZXJydXB0IGxpbmUuCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9XQUtFVVBfRVhUSV9FTkFCTEVfUklTSU5HX0VER0VfVFJJR0dFUigpICBFWFRJLT5SVFNSIHw9IEVUSF9FWFRJX0xJTkVfV0FLRVVQCisKKy8qKgorICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIHJpc2luZyBlZGdlIHRyaWdnZXIgdG8gdGhlIEVUSCBFeHRlcm5hbCBpbnRlcnJ1cHQgbGluZS4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX1dBS0VVUF9FWFRJX0RJU0FCTEVfUklTSU5HX0VER0VfVFJJR0dFUigpICBFWFRJLT5SVFNSICY9IH4oRVRIX0VYVElfTElORV9XQUtFVVApCisKKy8qKgorICAqIEBicmllZiAgRW5hYmxlcyBmYWxsaW5nIGVkZ2UgdHJpZ2dlciB0byB0aGUgRVRIIEV4dGVybmFsIGludGVycnVwdCBsaW5lLgorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfV0FLRVVQX0VYVElfRU5BQkxFX0ZBTExJTkdfRURHRV9UUklHR0VSKCkgIEVYVEktPkZUU1IgfD0gKEVUSF9FWFRJX0xJTkVfV0FLRVVQKQorCisvKioKKyAgKiBAYnJpZWYgIERpc2FibGVzIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIHRvIHRoZSBFVEggRXh0ZXJuYWwgaW50ZXJydXB0IGxpbmUuCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9XQUtFVVBfRVhUSV9ESVNBQkxFX0ZBTExJTkdfRURHRV9UUklHR0VSKCkgIEVYVEktPkZUU1IgJj0gfihFVEhfRVhUSV9MSU5FX1dBS0VVUCkKKworLyoqCisgICogQGJyaWVmICBFbmFibGVzIHJpc2luZy9mYWxsaW5nIGVkZ2UgdHJpZ2dlciB0byB0aGUgRVRIIEV4dGVybmFsIGludGVycnVwdCBsaW5lLgorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfV0FLRVVQX0VYVElfRU5BQkxFX0ZBTExJTkdSSVNJTkdfVFJJR0dFUigpICBkb3tFWFRJLT5SVFNSIHw9IEVUSF9FWFRJX0xJTkVfV0FLRVVQO1wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSS0+RlRTUiB8PSBFVEhfRVhUSV9MSU5FX1dBS0VVUDtcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH13aGlsZSgwKQorCisvKioKKyAgKiBAYnJpZWYgIERpc2FibGVzIHJpc2luZy9mYWxsaW5nIGVkZ2UgdHJpZ2dlciB0byB0aGUgRVRIIEV4dGVybmFsIGludGVycnVwdCBsaW5lLgorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfV0FLRVVQX0VYVElfRElTQUJMRV9GQUxMSU5HUklTSU5HX1RSSUdHRVIoKSAgZG97RVhUSS0+UlRTUiAmPSB+KEVUSF9FWFRJX0xJTkVfV0FLRVVQKTtcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJLT5GVFNSICY9IH4oRVRIX0VYVElfTElORV9XQUtFVVApO1wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH13aGlsZSgwKQorCisvKioKKyAgKiBAYnJpZWYgR2VuZXJhdGUgYSBTb2Z0d2FyZSBpbnRlcnJ1cHQgb24gc2VsZWN0ZWQgRVhUSSBsaW5lLgorICAqIEByZXR2YWwgTm9uZS4KKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX1dBS0VVUF9FWFRJX0dFTkVSQVRFX1NXSVQoKSAgICAgICAgICAgICAgICAgIEVYVEktPlNXSUVSfD0gRVRIX0VYVElfTElORV9XQUtFVVAKKworLyoqCisgICogQH0KKyAgKi8KKy8qIEV4cG9ydGVkIGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKiBAYWRkdG9ncm91cCBFVEhfRXhwb3J0ZWRfRnVuY3Rpb25zCisgICogQHsKKyAgKi8KKworLyogSW5pdGlhbGl6YXRpb24gYW5kIGRlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqIEBhZGR0b2dyb3VwIEVUSF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAxCisgICogQHsKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfSW5pdChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX0RlSW5pdChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7Cit2b2lkIEhBTF9FVEhfTXNwSW5pdChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7Cit2b2lkIEhBTF9FVEhfTXNwRGVJbml0KEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfRE1BVHhEZXNjTGlzdEluaXQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9ETUFEZXNjVHlwZURlZiAqRE1BVHhEZXNjVGFiLCB1aW50OF90KiBUeEJ1ZmYsIHVpbnQzMl90IFR4QnVmZkNvdW50KTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfRE1BUnhEZXNjTGlzdEluaXQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9ETUFEZXNjVHlwZURlZiAqRE1BUnhEZXNjVGFiLCB1aW50OF90ICpSeEJ1ZmYsIHVpbnQzMl90IFJ4QnVmZkNvdW50KTsKKy8qIENhbGxiYWNrcyBSZWdpc3Rlci9VblJlZ2lzdGVyIGZ1bmN0aW9ucyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgKFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9SZWdpc3RlckNhbGxiYWNrKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBIQUxfRVRIX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQsIHBFVEhfQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjayk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1VuUmVnaXN0ZXJDYWxsYmFjayhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgSEFMX0VUSF9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lEKTsKKyNlbmRpZiAvKiBVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KKworLyoqCisgICogQH0KKyAgKi8KKy8qIElPIG9wZXJhdGlvbiBmdW5jdGlvbnMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKiBAYWRkdG9ncm91cCBFVEhfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMgorICAqIEB7CisgICovCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1RyYW5zbWl0RnJhbWUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIHVpbnQzMl90IEZyYW1lTGVuZ3RoKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfR2V0UmVjZWl2ZWRGcmFtZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7CisvKiBDb21tdW5pY2F0aW9uIHdpdGggUEhZIGZ1bmN0aW9ucyovCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1JlYWRQSFlSZWdpc3RlcihFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgdWludDE2X3QgUEhZUmVnLCB1aW50MzJfdCAqUmVnVmFsdWUpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9Xcml0ZVBIWVJlZ2lzdGVyKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCB1aW50MTZfdCBQSFlSZWcsIHVpbnQzMl90IFJlZ1ZhbHVlKTsKKy8qIE5vbi1CbG9ja2luZyBtb2RlOiBJbnRlcnJ1cHQgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfR2V0UmVjZWl2ZWRGcmFtZV9JVChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7Cit2b2lkIEhBTF9FVEhfSVJRSGFuZGxlcihFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7CisvKiBDYWxsYmFjayBpbiBub24gYmxvY2tpbmcgbW9kZXMgKEludGVycnVwdCkgKi8KK3ZvaWQgSEFMX0VUSF9UeENwbHRDYWxsYmFjayhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7Cit2b2lkIEhBTF9FVEhfUnhDcGx0Q2FsbGJhY2soRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOwordm9pZCBIQUxfRVRIX0Vycm9yQ2FsbGJhY2soRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOworLyoqCisgICogQH0KKyAgKi8KKworLyogUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqIEBhZGR0b2dyb3VwIEVUSF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAzCisgICogQHsKKyAgKi8KKworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9TdGFydChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1N0b3AoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9Db25maWdNQUMoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9NQUNJbml0VHlwZURlZiAqbWFjY29uZik7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX0NvbmZpZ0RNQShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgRVRIX0RNQUluaXRUeXBlRGVmICpkbWFjb25mKTsKKy8qKgorICAqIEB9CisgICovCisKKy8qIFBlcmlwaGVyYWwgU3RhdGUgZnVuY3Rpb25zICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKiBAYWRkdG9ncm91cCBFVEhfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwNAorICAqIEB7CisgICovCitIQUxfRVRIX1N0YXRlVHlwZURlZiBIQUxfRVRIX0dldFN0YXRlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKKy8qKgorICAqIEB9CisgICovCisKKy8qKgorICAqIEB9CisgICovCisKKy8qKgorICAqIEB9CisgICovCisKKy8qKgorICAqIEB9CisgICovCisjZW5kaWYgLyogRVRIICovCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBfX1NUTTMyRjd4eF9IQUxfRVRIX0xFR0FDWV9IICovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmN3h4X2hhbF9jYW4uaCBiL0luYy9zdG0zMmY3eHhfaGFsX2Nhbi5oCmluZGV4IDU0MzA4ODcuLmRjNjEzNTMgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY3eHhfaGFsX2Nhbi5oCisrKyBiL0luYy9zdG0zMmY3eHhfaGFsX2Nhbi5oCkBAIC0xMDIsMjEgKzEwMiwyNSBAQAogewogICB1aW50MzJfdCBGaWx0ZXJJZEhpZ2g7ICAgICAgICAgIC8qITwgU3BlY2lmaWVzIHRoZSBmaWx0ZXIgaWRlbnRpZmljYXRpb24gbnVtYmVyIChNU0JzIGZvciBhIDMyLWJpdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiwgZmlyc3Qgb25lIGZvciBhIDE2LWJpdCBjb25maWd1cmF0aW9uKS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDB4MDAwMCBhbmQgTWF4X0RhdGEgPSAweEZGRkYuICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1pbl9EYXRhID0gMHgwMDAwIGFuZCBNYXhfRGF0YSA9IDB4RkZGRi4gKi8KIAogICB1aW50MzJfdCBGaWx0ZXJJZExvdzsgICAgICAgICAgIC8qITwgU3BlY2lmaWVzIHRoZSBmaWx0ZXIgaWRlbnRpZmljYXRpb24gbnVtYmVyIChMU0JzIGZvciBhIDMyLWJpdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiwgc2Vjb25kIG9uZSBmb3IgYSAxNi1iaXQgY29uZmlndXJhdGlvbikuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAweDAwMDAgYW5kIE1heF9EYXRhID0gMHhGRkZGLiAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaW5fRGF0YSA9IDB4MDAwMCBhbmQgTWF4X0RhdGEgPSAweEZGRkYuICovCiAKICAgdWludDMyX3QgRmlsdGVyTWFza0lkSGlnaDsgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgZmlsdGVyIG1hc2sgbnVtYmVyIG9yIGlkZW50aWZpY2F0aW9uIG51bWJlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY29yZGluZyB0byB0aGUgbW9kZSAoTVNCcyBmb3IgYSAzMi1iaXQgY29uZmlndXJhdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0IG9uZSBmb3IgYSAxNi1iaXQgY29uZmlndXJhdGlvbikuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAweDAwMDAgYW5kIE1heF9EYXRhID0gMHhGRkZGLiAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaW5fRGF0YSA9IDB4MDAwMCBhbmQgTWF4X0RhdGEgPSAweEZGRkYuICovCiAKICAgdWludDMyX3QgRmlsdGVyTWFza0lkTG93OyAgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgZmlsdGVyIG1hc2sgbnVtYmVyIG9yIGlkZW50aWZpY2F0aW9uIG51bWJlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY29yZGluZyB0byB0aGUgbW9kZSAoTFNCcyBmb3IgYSAzMi1iaXQgY29uZmlndXJhdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZCBvbmUgZm9yIGEgMTYtYml0IGNvbmZpZ3VyYXRpb24pLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIE1pbl9EYXRhID0gMHgwMDAwIGFuZCBNYXhfRGF0YSA9IDB4RkZGRi4gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWluX0RhdGEgPSAweDAwMDAgYW5kIE1heF9EYXRhID0gMHhGRkZGLiAqLwogCiAgIHVpbnQzMl90IEZpbHRlckZJRk9Bc3NpZ25tZW50OyAgLyohPCBTcGVjaWZpZXMgdGhlIEZJRk8gKDAgb3IgMVUpIHdoaWNoIHdpbGwgYmUgYXNzaWduZWQgdG8gdGhlIGZpbHRlci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgQ0FOX2ZpbHRlcl9GSUZPICovCkBAIC0yOTQsMTEgKzI5OCwxMSBAQAogI2RlZmluZSBIQUxfQ0FOX0VSUk9SX1JYX0ZPVjAgICAgICAgICAoMHgwMDAwMDIwMFUpICAvKiE8IFJ4IEZJRk8wIG92ZXJydW4gZXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KICNkZWZpbmUgSEFMX0NBTl9FUlJPUl9SWF9GT1YxICAgICAgICAgKDB4MDAwMDA0MDBVKSAgLyohPCBSeCBGSUZPMSBvdmVycnVuIGVycm9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAjZGVmaW5lIEhBTF9DQU5fRVJST1JfVFhfQUxTVDAgICAgICAgICgweDAwMDAwODAwVSkgIC8qITwgVHhNYWlsYm94IDAgdHJhbnNtaXQgZmFpbHVyZSBkdWUgdG8gYXJiaXRyYXRpb24gbG9zdCAqLwotI2RlZmluZSBIQUxfQ0FOX0VSUk9SX1RYX1RFUlIwICAgICAgICAoMHgwMDAwMTAwMFUpICAvKiE8IFR4TWFpbGJveCAwIHRyYW5zbWl0IGZhaWx1cmUgZHVlIHRvIHRyYW5zbWl0IGVycm9yICAgICovCisjZGVmaW5lIEhBTF9DQU5fRVJST1JfVFhfVEVSUjAgICAgICAgICgweDAwMDAxMDAwVSkgIC8qITwgVHhNYWlsYm94IDAgdHJhbnNtaXQgZmFpbHVyZSBkdWUgdG8gdHJhbnNtaXQgZXJyb3IgICAqLwogI2RlZmluZSBIQUxfQ0FOX0VSUk9SX1RYX0FMU1QxICAgICAgICAoMHgwMDAwMjAwMFUpICAvKiE8IFR4TWFpbGJveCAxIHRyYW5zbWl0IGZhaWx1cmUgZHVlIHRvIGFyYml0cmF0aW9uIGxvc3QgKi8KLSNkZWZpbmUgSEFMX0NBTl9FUlJPUl9UWF9URVJSMSAgICAgICAgKDB4MDAwMDQwMDBVKSAgLyohPCBUeE1haWxib3ggMSB0cmFuc21pdCBmYWlsdXJlIGR1ZSB0byB0cmFuc21pdCBlcnJvciAgICAqLworI2RlZmluZSBIQUxfQ0FOX0VSUk9SX1RYX1RFUlIxICAgICAgICAoMHgwMDAwNDAwMFUpICAvKiE8IFR4TWFpbGJveCAxIHRyYW5zbWl0IGZhaWx1cmUgZHVlIHRvIHRyYW5zbWl0IGVycm9yICAgKi8KICNkZWZpbmUgSEFMX0NBTl9FUlJPUl9UWF9BTFNUMiAgICAgICAgKDB4MDAwMDgwMDBVKSAgLyohPCBUeE1haWxib3ggMiB0cmFuc21pdCBmYWlsdXJlIGR1ZSB0byBhcmJpdHJhdGlvbiBsb3N0ICovCi0jZGVmaW5lIEhBTF9DQU5fRVJST1JfVFhfVEVSUjIgICAgICAgICgweDAwMDEwMDAwVSkgIC8qITwgVHhNYWlsYm94IDIgdHJhbnNtaXQgZmFpbHVyZSBkdWUgdG8gdHJhbnNtaXQgZXJyb3IgICAgKi8KKyNkZWZpbmUgSEFMX0NBTl9FUlJPUl9UWF9URVJSMiAgICAgICAgKDB4MDAwMTAwMDBVKSAgLyohPCBUeE1haWxib3ggMiB0cmFuc21pdCBmYWlsdXJlIGR1ZSB0byB0cmFuc21pdCBlcnJvciAgICovCiAjZGVmaW5lIEhBTF9DQU5fRVJST1JfVElNRU9VVCAgICAgICAgICgweDAwMDIwMDAwVSkgIC8qITwgVGltZW91dCBlcnJvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogI2RlZmluZSBIQUxfQ0FOX0VSUk9SX05PVF9JTklUSUFMSVpFRCAoMHgwMDA0MDAwMFUpICAvKiE8IFBlcmlwaGVyYWwgbm90IGluaXRpYWxpemVkICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KICNkZWZpbmUgSEFMX0NBTl9FUlJPUl9OT1RfUkVBRFkgICAgICAgKDB4MDAwODAwMDBVKSAgLyohPCBQZXJpcGhlcmFsIG5vdCByZWFkeSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCkBAIC0zMjksNyArMzMzLDggQEAKICNkZWZpbmUgQ0FOX01PREVfTk9STUFMICAgICAgICAgICAgICgweDAwMDAwMDAwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE5vcm1hbCBtb2RlICAgKi8KICNkZWZpbmUgQ0FOX01PREVfTE9PUEJBQ0sgICAgICAgICAgICgodWludDMyX3QpQ0FOX0JUUl9MQktNKSAgICAgICAgICAgICAgICAgICAvKiE8IExvb3BiYWNrIG1vZGUgKi8KICNkZWZpbmUgQ0FOX01PREVfU0lMRU5UICAgICAgICAgICAgICgodWludDMyX3QpQ0FOX0JUUl9TSUxNKSAgICAgICAgICAgICAgICAgICAvKiE8IFNpbGVudCBtb2RlICAgKi8KLSNkZWZpbmUgQ0FOX01PREVfU0lMRU5UX0xPT1BCQUNLICAgICgodWludDMyX3QpKENBTl9CVFJfTEJLTSB8IENBTl9CVFJfU0lMTSkpICAvKiE8IExvb3BiYWNrIGNvbWJpbmVkIHdpdGggc2lsZW50IG1vZGUgKi8KKyNkZWZpbmUgQ0FOX01PREVfU0lMRU5UX0xPT1BCQUNLICAgICgodWludDMyX3QpKENBTl9CVFJfTEJLTSB8IENBTl9CVFJfU0lMTSkpICAvKiE8IExvb3BiYWNrIGNvbWJpbmVkIHdpdGgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpbGVudCBtb2RlICAgKi8KIC8qKgogICAqIEB9CiAgICovCkBAIC02NDQsNyArNjQ5LDggQEAKIAogI2lmIFVTRV9IQUxfQ0FOX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxCiAvKiBDYWxsYmFja3MgUmVnaXN0ZXIvVW5SZWdpc3RlciBmdW5jdGlvbnMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0NBTl9SZWdpc3RlckNhbGxiYWNrKENBTl9IYW5kbGVUeXBlRGVmICpoY2FuLCBIQUxfQ0FOX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQsIHZvaWQgKCogcENhbGxiYWNrKShDQU5fSGFuZGxlVHlwZURlZiAqX2hjYW4pKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9DQU5fUmVnaXN0ZXJDYWxsYmFjayhDQU5fSGFuZGxlVHlwZURlZiAqaGNhbiwgSEFMX0NBTl9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKCogcENhbGxiYWNrKShDQU5fSGFuZGxlVHlwZURlZiAqX2hjYW4pKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9DQU5fVW5SZWdpc3RlckNhbGxiYWNrKENBTl9IYW5kbGVUeXBlRGVmICpoY2FuLCBIQUxfQ0FOX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQpOwogCiAjZW5kaWYgLyogKFVTRV9IQUxfQ0FOX1JFR0lTVEVSX0NBTExCQUNLUykgKi8KQEAgLTY1OCw3ICs2NjQsNyBAQAogICovCiAKIC8qIENvbmZpZ3VyYXRpb24gZnVuY3Rpb25zICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfQ0FOX0NvbmZpZ0ZpbHRlcihDQU5fSGFuZGxlVHlwZURlZiAqaGNhbiwgQ0FOX0ZpbHRlclR5cGVEZWYgKnNGaWx0ZXJDb25maWcpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0NBTl9Db25maWdGaWx0ZXIoQ0FOX0hhbmRsZVR5cGVEZWYgKmhjYW4sIGNvbnN0IENBTl9GaWx0ZXJUeXBlRGVmICpzRmlsdGVyQ29uZmlnKTsKIAogLyoqCiAgKiBAfQpAQCAtNjc0LDE0ICs2ODAsMTYgQEAKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9DQU5fU3RvcChDQU5fSGFuZGxlVHlwZURlZiAqaGNhbik7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfQ0FOX1JlcXVlc3RTbGVlcChDQU5fSGFuZGxlVHlwZURlZiAqaGNhbik7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfQ0FOX1dha2VVcChDQU5fSGFuZGxlVHlwZURlZiAqaGNhbik7Ci11aW50MzJfdCBIQUxfQ0FOX0lzU2xlZXBBY3RpdmUoQ0FOX0hhbmRsZVR5cGVEZWYgKmhjYW4pOwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0NBTl9BZGRUeE1lc3NhZ2UoQ0FOX0hhbmRsZVR5cGVEZWYgKmhjYW4sIENBTl9UeEhlYWRlclR5cGVEZWYgKnBIZWFkZXIsIHVpbnQ4X3QgYURhdGFbXSwgdWludDMyX3QgKnBUeE1haWxib3gpOwordWludDMyX3QgSEFMX0NBTl9Jc1NsZWVwQWN0aXZlKGNvbnN0IENBTl9IYW5kbGVUeXBlRGVmICpoY2FuKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9DQU5fQWRkVHhNZXNzYWdlKENBTl9IYW5kbGVUeXBlRGVmICpoY2FuLCBjb25zdCBDQU5fVHhIZWFkZXJUeXBlRGVmICpwSGVhZGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCBhRGF0YVtdLCB1aW50MzJfdCAqcFR4TWFpbGJveCk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfQ0FOX0Fib3J0VHhSZXF1ZXN0KENBTl9IYW5kbGVUeXBlRGVmICpoY2FuLCB1aW50MzJfdCBUeE1haWxib3hlcyk7Ci11aW50MzJfdCBIQUxfQ0FOX0dldFR4TWFpbGJveGVzRnJlZUxldmVsKENBTl9IYW5kbGVUeXBlRGVmICpoY2FuKTsKLXVpbnQzMl90IEhBTF9DQU5fSXNUeE1lc3NhZ2VQZW5kaW5nKENBTl9IYW5kbGVUeXBlRGVmICpoY2FuLCB1aW50MzJfdCBUeE1haWxib3hlcyk7Ci11aW50MzJfdCBIQUxfQ0FOX0dldFR4VGltZXN0YW1wKENBTl9IYW5kbGVUeXBlRGVmICpoY2FuLCB1aW50MzJfdCBUeE1haWxib3gpOwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0NBTl9HZXRSeE1lc3NhZ2UoQ0FOX0hhbmRsZVR5cGVEZWYgKmhjYW4sIHVpbnQzMl90IFJ4RmlmbywgQ0FOX1J4SGVhZGVyVHlwZURlZiAqcEhlYWRlciwgdWludDhfdCBhRGF0YVtdKTsKLXVpbnQzMl90IEhBTF9DQU5fR2V0UnhGaWZvRmlsbExldmVsKENBTl9IYW5kbGVUeXBlRGVmICpoY2FuLCB1aW50MzJfdCBSeEZpZm8pOwordWludDMyX3QgSEFMX0NBTl9HZXRUeE1haWxib3hlc0ZyZWVMZXZlbChjb25zdCBDQU5fSGFuZGxlVHlwZURlZiAqaGNhbik7Cit1aW50MzJfdCBIQUxfQ0FOX0lzVHhNZXNzYWdlUGVuZGluZyhjb25zdCBDQU5fSGFuZGxlVHlwZURlZiAqaGNhbiwgdWludDMyX3QgVHhNYWlsYm94ZXMpOwordWludDMyX3QgSEFMX0NBTl9HZXRUeFRpbWVzdGFtcChjb25zdCBDQU5fSGFuZGxlVHlwZURlZiAqaGNhbiwgdWludDMyX3QgVHhNYWlsYm94KTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9DQU5fR2V0UnhNZXNzYWdlKENBTl9IYW5kbGVUeXBlRGVmICpoY2FuLCB1aW50MzJfdCBSeEZpZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQU5fUnhIZWFkZXJUeXBlRGVmICpwSGVhZGVyLCB1aW50OF90IGFEYXRhW10pOwordWludDMyX3QgSEFMX0NBTl9HZXRSeEZpZm9GaWxsTGV2ZWwoY29uc3QgQ0FOX0hhbmRsZVR5cGVEZWYgKmhjYW4sIHVpbnQzMl90IFJ4Rmlmbyk7CiAKIC8qKgogICogQH0KQEAgLTcyOSw4ICs3MzcsOCBAQAogICogQHsKICAqLwogLyogUGVyaXBoZXJhbCBTdGF0ZSBhbmQgRXJyb3IgZnVuY3Rpb25zICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLUhBTF9DQU5fU3RhdGVUeXBlRGVmIEhBTF9DQU5fR2V0U3RhdGUoQ0FOX0hhbmRsZVR5cGVEZWYgKmhjYW4pOwotdWludDMyX3QgSEFMX0NBTl9HZXRFcnJvcihDQU5fSGFuZGxlVHlwZURlZiAqaGNhbik7CitIQUxfQ0FOX1N0YXRlVHlwZURlZiBIQUxfQ0FOX0dldFN0YXRlKGNvbnN0IENBTl9IYW5kbGVUeXBlRGVmICpoY2FuKTsKK3VpbnQzMl90IEhBTF9DQU5fR2V0RXJyb3IoY29uc3QgQ0FOX0hhbmRsZVR5cGVEZWYgKmhjYW4pOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0NBTl9SZXNldEVycm9yKENBTl9IYW5kbGVUeXBlRGVmICpoY2FuKTsKIAogLyoqCkBAIC04MDgsNyArODE2LDggQEAKICNkZWZpbmUgSVNfQ0FOX1RYX01BSUxCT1goVFJBTlNNSVRNQUlMQk9YKSAoKChUUkFOU01JVE1BSUxCT1gpID09IENBTl9UWF9NQUlMQk9YMCApIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUUkFOU01JVE1BSUxCT1gpID09IENBTl9UWF9NQUlMQk9YMSApIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUUkFOU01JVE1BSUxCT1gpID09IENBTl9UWF9NQUlMQk9YMiApKQotI2RlZmluZSBJU19DQU5fVFhfTUFJTEJPWF9MSVNUKFRSQU5TTUlUTUFJTEJPWCkgKChUUkFOU01JVE1BSUxCT1gpIDw9IChDQU5fVFhfTUFJTEJPWDAgfCBDQU5fVFhfTUFJTEJPWDEgfCBDQU5fVFhfTUFJTEJPWDIpKQorI2RlZmluZSBJU19DQU5fVFhfTUFJTEJPWF9MSVNUKFRSQU5TTUlUTUFJTEJPWCkgKChUUkFOU01JVE1BSUxCT1gpIDw9IChDQU5fVFhfTUFJTEJPWDAgfCBDQU5fVFhfTUFJTEJPWDEgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENBTl9UWF9NQUlMQk9YMikpCiAjZGVmaW5lIElTX0NBTl9TVERJRChTVERJRCkgICAoKFNURElEKSA8PSAweDdGRlUpCiAjZGVmaW5lIElTX0NBTl9FWFRJRChFWFRJRCkgICAoKEVYVElEKSA8PSAweDFGRkZGRkZGVSkKICNkZWZpbmUgSVNfQ0FOX0RMQyhETEMpICAgICAgICgoRExDKSA8PSA4VSkKZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY3eHhfaGFsX2NlYy5oIGIvSW5jL3N0bTMyZjd4eF9oYWxfY2VjLmgKaW5kZXggZGY5MDhjYy4uNjNiMmU0NyAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjd4eF9oYWxfY2VjLmgKKysrIGIvSW5jL3N0bTMyZjd4eF9oYWxfY2VjLmgKQEAgLTQ4LDcwICs0OCw4MCBAQAogdHlwZWRlZiBzdHJ1Y3QKIHsKICAgdWludDMyX3QgU2lnbmFsRnJlZVRpbWU7ICAgICAgICAgICAgICAgLyohPCBTZXQgU0ZUIGZpZWxkLCBzcGVjaWZpZXMgdGhlIFNpZ25hbCBGcmVlIFRpbWUuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSXQgY2FuIGJlIG9uZSBvZiBAcmVmIENFQ19TaWduYWxfRnJlZV9UaW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSXQgY2FuIGJlIG9uZSBvZiBDRUNfU2lnbmFsX0ZyZWVfVGltZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBiZWxvbmdzIHRvIHRoZSBzZXQgezAsLi4uLDd9IHdoZXJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwIGlzIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIG1lYW5zIDAuNSArIChTaWduYWxGcmVlVGltZSAtIDEpIG5vbWluYWwgZGF0YSBiaXQgcGVyaW9kcyAqLwogCiAgIHVpbnQzMl90IFRvbGVyYW5jZTsgICAgICAgICAgICAgICAgICAgIC8qITwgU2V0IFJYVE9MIGJpdCwgc3BlY2lmaWVzIHRoZSB0b2xlcmFuY2UgYWNjZXB0ZWQgb24gdGhlIHJlY2VpdmVkIHdhdmVmb3JtcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdCBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIENFQ19Ub2xlcmFuY2UgOiBpdCBpcyBlaXRoZXIgQ0VDX1NUQU5EQVJEX1RPTEVSQU5DRQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIENFQ19FWFRFTkRFRF9UT0xFUkFOQ0UgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdCBjYW4gYmUgYSB2YWx1ZSBvZiBDRUNfVG9sZXJhbmNlIDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdCBpcyBlaXRoZXIgQ0VDX1NUQU5EQVJEX1RPTEVSQU5DRSBvciBDRUNfRVhURU5ERURfVE9MRVJBTkNFICovCiAKLSAgdWludDMyX3QgQlJFUnhTdG9wOyAgICAgICAgICAgICAgICAgICAgLyohPCBTZXQgQlJFU1RQIGJpdCBAcmVmIENFQ19CUkVSeFN0b3AgOiBzcGVjaWZpZXMgd2hldGhlciBvciBub3QgYSBCaXQgUmlzaW5nIEVycm9yIHN0b3BzIHRoZSByZWNlcHRpb24uCisgIHVpbnQzMl90IEJSRVJ4U3RvcDsgICAgICAgICAgICAgICAgICAgIC8qITwgU2V0IEJSRVNUUCBiaXQgQ0VDX0JSRVJ4U3RvcCA6IHNwZWNpZmllcyB3aGV0aGVyIG9yIG5vdCBhIEJpdCBSaXNpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciBzdG9wcyB0aGUgcmVjZXB0aW9uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENFQ19OT19SWF9TVE9QX09OX0JSRTogcmVjZXB0aW9uIGlzIG5vdCBzdG9wcGVkLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENFQ19SWF9TVE9QX09OX0JSRTogICAgcmVjZXB0aW9uIGlzIHN0b3BwZWQuICovCiAKLSAgdWludDMyX3QgQlJFRXJyb3JCaXRHZW47ICAgICAgICAgICAgICAgLyohPCBTZXQgQlJFR0VOIGJpdCBAcmVmIENFQ19CUkVFcnJvckJpdEdlbiA6IHNwZWNpZmllcyB3aGV0aGVyIG9yIG5vdCBhbiBFcnJvci1CaXQgaXMgZ2VuZXJhdGVkIG9uIHRoZQorICB1aW50MzJfdCBCUkVFcnJvckJpdEdlbjsgICAgICAgICAgICAgICAvKiE8IFNldCBCUkVHRU4gYml0IENFQ19CUkVFcnJvckJpdEdlbiA6IHNwZWNpZmllcyB3aGV0aGVyIG9yIG5vdCBhbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yLUJpdCBpcyBnZW5lcmF0ZWQgb24gdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0VDIGxpbmUgdXBvbiBCaXQgUmlzaW5nIEVycm9yIGRldGVjdGlvbi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDRUNfQlJFX0VSUk9SQklUX05PX0dFTkVSQVRJT046IG5vIGVycm9yLWJpdCBnZW5lcmF0aW9uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENFQ19CUkVfRVJST1JCSVRfR0VORVJBVElPTjogICAgZXJyb3ItYml0IGdlbmVyYXRpb24gaWYgQlJFU1RQIGlzIHNldC4gKi8KIAotICB1aW50MzJfdCBMQlBFRXJyb3JCaXRHZW47ICAgICAgICAgICAgICAvKiE8IFNldCBMQlBFR0VOIGJpdCBAcmVmIENFQ19MQlBFRXJyb3JCaXRHZW4gOiBzcGVjaWZpZXMgd2hldGhlciBvciBub3QgYW4gRXJyb3ItQml0IGlzIGdlbmVyYXRlZCBvbiB0aGUKKyAgdWludDMyX3QgTEJQRUVycm9yQml0R2VuOyAgICAgICAgICAgICAgLyohPCBTZXQgTEJQRUdFTiBiaXQgQ0VDX0xCUEVFcnJvckJpdEdlbiA6IHNwZWNpZmllcyB3aGV0aGVyIG9yIG5vdCBhbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yLUJpdCBpcyBnZW5lcmF0ZWQgb24gdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0VDIGxpbmUgdXBvbiBMb25nIEJpdCBQZXJpb2QgRXJyb3IgZGV0ZWN0aW9uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENFQ19MQlBFX0VSUk9SQklUX05PX0dFTkVSQVRJT046ICBubyBlcnJvci1iaXQgZ2VuZXJhdGlvbi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDRUNfTEJQRV9FUlJPUkJJVF9HRU5FUkFUSU9OOiAgICAgZXJyb3ItYml0IGdlbmVyYXRpb24uICovCiAKLSAgdWludDMyX3QgQnJvYWRjYXN0TXNnTm9FcnJvckJpdEdlbjsgICAgLyohPCBTZXQgQlJETk9HRU4gYml0IEByZWYgQ0VDX0Jyb2FkQ2FzdE1zZ0Vycm9yQml0R2VuIDogYWxsb3dzIHRvIGF2b2lkIGFuIEVycm9yLUJpdCBnZW5lcmF0aW9uIG9uIHRoZSBDRUMgbGluZQorICB1aW50MzJfdCBCcm9hZGNhc3RNc2dOb0Vycm9yQml0R2VuOyAgICAvKiE8IFNldCBCUkROT0dFTiBiaXQgQ0VDX0Jyb2FkQ2FzdE1zZ0Vycm9yQml0R2VuIDogYWxsb3dzIHRvIGF2b2lkIGFuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3ItQml0IGdlbmVyYXRpb24gb24gdGhlIENFQyBsaW5lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBvbiBhbiBlcnJvciBkZXRlY3RlZCBvbiBhIGJyb2FkY2FzdCBtZXNzYWdlLgogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSXQgc3VwZXJzZWRlcyBCUkVHRU4gYW5kIExCUEVHRU4gYml0cyBmb3IgYSBicm9hZGNhc3QgbWVzc2FnZSBlcnJvciBoYW5kbGluZy4gSXQgY2FuIHRha2UgdHdvIHZhbHVlczoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJdCBzdXBlcnNlZGVzIEJSRUdFTiBhbmQgTEJQRUdFTiBiaXRzIGZvciBhIGJyb2FkY2FzdCBtZXNzYWdlIGVycm9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxpbmcuIEl0IGNhbiB0YWtlIHR3byB2YWx1ZXM6CiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxKSBDRUNfQlJPQURDQVNURVJST1JfRVJST1JCSVRfR0VORVJBVElPTi4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhKSBCUkUgZGV0ZWN0aW9uOiBlcnJvci1iaXQgZ2VuZXJhdGlvbiBvbiB0aGUgQ0VDIGxpbmUgaWYgQlJFU1RQPUNFQ19SWF9TVE9QX09OX0JSRQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBCUkVHRU49Q0VDX0JSRV9FUlJPUkJJVF9OT19HRU5FUkFUSU9OLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEpIEJSRSBkZXRlY3Rpb246IGVycm9yLWJpdCBnZW5lcmF0aW9uIG9uIHRoZSBDRUMgbGluZSBpZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJSRVNUUD1DRUNfUlhfU1RPUF9PTl9CUkUgYW5kIEJSRUdFTj1DRUNfQlJFX0VSUk9SQklUX05PX0dFTkVSQVRJT04uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYikgTEJQRSBkZXRlY3Rpb246IGVycm9yLWJpdCBnZW5lcmF0aW9uIG9uIHRoZSBDRUMgbGluZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIExCUEdFTj1DRUNfTEJQRV9FUlJPUkJJVF9OT19HRU5FUkFUSU9OLgogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMikgQ0VDX0JST0FEQ0FTVEVSUk9SX05PX0VSUk9SQklUX0dFTkVSQVRJT04uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm8gZXJyb3ItYml0IGdlbmVyYXRpb24gaW4gY2FzZSBuZWl0aGVyIGEpIG5vciBiKSBhcmUgc2F0aXNmaWVkLiBBZGRpdGlvbmFsbHksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlcmUgaXMgbm8gZXJyb3ItYml0IGdlbmVyYXRpb24gaW4gY2FzZSBvZiBTaG9ydCBCaXQgUGVyaW9kIEVycm9yIGRldGVjdGlvbiBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgYnJvYWRjYXN0IG1lc3NhZ2Ugd2hpbGUgTFNUTiBiaXQgaXMgc2V0LiAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vIGVycm9yLWJpdCBnZW5lcmF0aW9uIGluIGNhc2UgbmVpdGhlciBhKSBub3IgYikgYXJlIHNhdGlzZmllZC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRpdGlvbmFsbHksIHRoZXJlIGlzIG5vIGVycm9yLWJpdCBnZW5lcmF0aW9uIGluIGNhc2Ugb2YgU2hvcnQgQml0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGVyaW9kIEVycm9yIGRldGVjdGlvbiBpbiBhIGJyb2FkY2FzdCBtZXNzYWdlIHdoaWxlIExTVE4gYml0IGlzIHNldC4gKi8KIAotICB1aW50MzJfdCBTaWduYWxGcmVlVGltZU9wdGlvbjsgICAgICAgICAvKiE8IFNldCBTRlRPUCBiaXQgQHJlZiBDRUNfU0ZUX09wdGlvbiA6IHNwZWNpZmllcyB3aGVuIFNGVCB0aW1lciBzdGFydHMuCisgIHVpbnQzMl90IFNpZ25hbEZyZWVUaW1lT3B0aW9uOyAgICAgICAgIC8qITwgU2V0IFNGVE9QIGJpdCBDRUNfU0ZUX09wdGlvbiA6IHNwZWNpZmllcyB3aGVuIFNGVCB0aW1lciBzdGFydHMuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0VDX1NGVF9TVEFSVF9PTl9UWFNPTSBTRlQ6ICAgIHRpbWVyIHN0YXJ0cyB3aGVuIFRYU09NIGlzIHNldCBieSBzb2Z0d2FyZS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDRUNfU0ZUX1NUQVJUX09OX1RYX1JYX0VORDogIFNGVCB0aW1lciBzdGFydHMgYXV0b21hdGljYWxseSBhdCB0aGUgZW5kIG9mIG1lc3NhZ2UgdHJhbnNtaXNzaW9uL3JlY2VwdGlvbi4gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDRUNfU0ZUX1NUQVJUX09OX1RYX1JYX0VORDogIFNGVCB0aW1lciBzdGFydHMgYXV0b21hdGljYWxseSBhdCB0aGUgZW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgbWVzc2FnZSB0cmFuc21pc3Npb24vcmVjZXB0aW9uLiAqLwogCi0gIHVpbnQzMl90IExpc3Rlbk1vZGU7ICAgICAgICAgICAgICAgICAgIC8qITwgU2V0IExTVE4gYml0IEByZWYgQ0VDX0xpc3RlbmluZ19Nb2RlIDogc3BlY2lmaWVzIGRldmljZSBsaXN0ZW5pbmcgbW9kZS4gSXQgY2FuIHRha2UgdHdvIHZhbHVlczoKKyAgdWludDMyX3QgTGlzdGVuTW9kZTsgICAgICAgICAgICAgICAgICAgLyohPCBTZXQgTFNUTiBiaXQgQ0VDX0xpc3RlbmluZ19Nb2RlIDogc3BlY2lmaWVzIGRldmljZSBsaXN0ZW5pbmcgbW9kZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJdCBjYW4gdGFrZSB0d28gdmFsdWVzOgogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0VDX1JFRFVDRURfTElTVEVOSU5HX01PREU6IENFQyBwZXJpcGhlcmFsIHJlY2VpdmVzIG9ubHkgbWVzc2FnZSBhZGRyZXNzZWQgdG8gaXRzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvd24gYWRkcmVzcyAoT0FSKS4gTWVzc2FnZXMgYWRkcmVzc2VkIHRvIGRpZmZlcmVudCBkZXN0aW5hdGlvbiBhcmUgaWdub3JlZC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDRUNfUkVEVUNFRF9MSVNURU5JTkdfTU9ERTogQ0VDIHBlcmlwaGVyYWwgcmVjZWl2ZXMgb25seSBtZXNzYWdlIGFkZHJlc3NlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gaXRzIG93biBhZGRyZXNzIChPQVIpLiBNZXNzYWdlcyBhZGRyZXNzZWQgdG8gZGlmZmVyZW50IGRlc3RpbmF0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmUgaWdub3JlZC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJyb2FkY2FzdCBtZXNzYWdlcyBhcmUgYWx3YXlzIHJlY2VpdmVkLgogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0VDX0ZVTExfTElTVEVOSU5HX01PREU6IENFQyBwZXJpcGhlcmFsIHJlY2VpdmVzIG1lc3NhZ2VzIGFkZHJlc3NlZCB0byBpdHMgb3duCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzIChPQVIpIHdpdGggcG9zaXRpdmUgYWNrbm93bGVkZ2UuIE1lc3NhZ2VzIGFkZHJlc3NlZCB0byBkaWZmZXJlbnQgZGVzdGluYXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZSByZWNlaXZlZCwgYnV0IHdpdGhvdXQgaW50ZXJmZXJpbmcgd2l0aCB0aGUgQ0VDIGJ1czogbm8gYWNrbm93bGVkZ2Ugc2VudC4gICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0VDX0ZVTExfTElTVEVOSU5HX01PREU6IENFQyBwZXJpcGhlcmFsIHJlY2VpdmVzIG1lc3NhZ2VzIGFkZHJlc3NlZCB0byBpdHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG93biBhZGRyZXNzIChPQVIpIHdpdGggcG9zaXRpdmUgYWNrbm93bGVkZ2UuIE1lc3NhZ2VzIGFkZHJlc3NlZCB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlmZmVyZW50IGRlc3RpbmF0aW9uIGFyZSByZWNlaXZlZCwgYnV0IHdpdGhvdXQgaW50ZXJmZXJpbmcgd2l0aCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENFQyBidXM6IG5vIGFja25vd2xlZGdlIHNlbnQuICAqLwogCi0gIHVpbnQxNl90ICBPd25BZGRyZXNzOyAgICAgICAgICAgICAgICAgLyohPCBPd24gYWRkcmVzc2VzIGNvbmZpZ3VyYXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgQ0VDX09XTl9BRERSRVNTICovCisgIHVpbnQxNl90ICBPd25BZGRyZXNzOyAgICAgICAgICAgICAgICAgIC8qITwgT3duIGFkZHJlc3NlcyBjb25maWd1cmF0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQ0VDX09XTl9BRERSRVNTICovCiAKLSAgdWludDhfdCAgKlJ4QnVmZmVyOyAgICAgICAgICAgICAgICAgICAgLyohPCBDRUMgUnggYnVmZmVyIHBvaW50ZXVyICovCisgIHVpbnQ4X3QgICpSeEJ1ZmZlcjsgICAgICAgICAgICAgICAgICAgIC8qITwgQ0VDIFJ4IGJ1ZmZlciBwb2ludGVyICovCiAKIAogfSBDRUNfSW5pdFR5cGVEZWY7CiAKIC8qKgogICAqIEBicmllZiBIQUwgQ0VDIFN0YXRlIGRlZmluaXRpb24KLSAgKiBAbm90ZSAgSEFMIENFQyBTdGF0ZSB2YWx1ZSBpcyBhIGNvbWJpbmF0aW9uIG9mIDIgZGlmZmVyZW50IHN1YnN0YXRlczogZ1N0YXRlIGFuZCBSeFN0YXRlIChzZWUgQHJlZiBDRUNfU3RhdGVfRGVmaW5pdGlvbikuCisgICogQG5vdGUgIEhBTCBDRUMgU3RhdGUgdmFsdWUgaXMgYSBjb21iaW5hdGlvbiBvZiAyIGRpZmZlcmVudCBzdWJzdGF0ZXM6IGdTdGF0ZSBhbmQgUnhTdGF0ZQorICAgICAgICAgICAoc2VlIENFQ19TdGF0ZV9EZWZpbml0aW9uKS4KICAgKiAgICAgICAgLSBnU3RhdGUgY29udGFpbnMgQ0VDIHN0YXRlIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gZ2xvYmFsIEhhbmRsZSBtYW5hZ2VtZW50CiAgICogICAgICAgICAgYW5kIGFsc28gaW5mb3JtYXRpb24gcmVsYXRlZCB0byBUeCBvcGVyYXRpb25zLgogICAqICAgICAgICAgIGdTdGF0ZSB2YWx1ZSBjb2RpbmcgZm9sbG93IGJlbG93IGRlc2NyaWJlZCBiaXRtYXAgOgpAQCAtMTU5LDM3ICsxNjksMzcgQEAKIHR5cGVkZWYgc3RydWN0CiAjZW5kaWYgLyogVVNFX0hBTF9DRUNfUkVHSVNURVJfQ0FMTEJBQ0tTICovCiB7Ci0gIENFQ19UeXBlRGVmICAgICAgICAgICAgICpJbnN0YW5jZTsgICAgICAvKiE8IENFQyByZWdpc3RlcnMgYmFzZSBhZGRyZXNzICovCisgIENFQ19UeXBlRGVmICAgICAgICAgICAgICpJbnN0YW5jZTsgICAgICAvKiE8IENFQyByZWdpc3RlcnMgYmFzZSBhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIAotICBDRUNfSW5pdFR5cGVEZWYgICAgICAgICBJbml0OyAgICAgICAgICAgLyohPCBDRUMgY29tbXVuaWNhdGlvbiBwYXJhbWV0ZXJzICovCisgIENFQ19Jbml0VHlwZURlZiAgICAgICAgIEluaXQ7ICAgICAgICAgICAvKiE8IENFQyBjb21tdW5pY2F0aW9uIHBhcmFtZXRlcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIAotICB1aW50OF90ICAgICAgICAgICAgICAgICAqcFR4QnVmZlB0cjsgICAgLyohPCBQb2ludGVyIHRvIENFQyBUeCB0cmFuc2ZlciBCdWZmZXIgKi8KKyAgY29uc3QgdWludDhfdCAgICAgICAgICAgKnBUeEJ1ZmZQdHI7ICAgIC8qITwgUG9pbnRlciB0byBDRUMgVHggdHJhbnNmZXIgQnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogCi0gIHVpbnQxNl90ICAgICAgICAgICAgICAgIFR4WGZlckNvdW50OyAgICAvKiE8IENFQyBUeCBUcmFuc2ZlciBDb3VudGVyICovCisgIHVpbnQxNl90ICAgICAgICAgICAgICAgIFR4WGZlckNvdW50OyAgICAvKiE8IENFQyBUeCBUcmFuc2ZlciBDb3VudGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIAotICB1aW50MTZfdCAgICAgICAgICAgICAgICBSeFhmZXJTaXplOyAgICAgLyohPCBDRUMgUnggVHJhbnNmZXIgc2l6ZSwgMDogaGVhZGVyIHJlY2VpdmVkIG9ubHkgKi8KKyAgdWludDE2X3QgICAgICAgICAgICAgICAgUnhYZmVyU2l6ZTsgICAgIC8qITwgQ0VDIFJ4IFRyYW5zZmVyIHNpemUsIDA6IGhlYWRlciByZWNlaXZlZCBvbmx5ICAgICAgICAgICAgICAqLwogCi0gIEhBTF9Mb2NrVHlwZURlZiAgICAgICAgIExvY2s7ICAgICAgICAgICAvKiE8IExvY2tpbmcgb2JqZWN0ICovCisgIEhBTF9Mb2NrVHlwZURlZiAgICAgICAgIExvY2s7ICAgICAgICAgICAvKiE8IExvY2tpbmcgb2JqZWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIAogICBIQUxfQ0VDX1N0YXRlVHlwZURlZiAgICBnU3RhdGU7ICAgICAgICAgLyohPCBDRUMgc3RhdGUgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBnbG9iYWwgSGFuZGxlIG1hbmFnZW1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGFsc28gcmVsYXRlZCB0byBUeCBvcGVyYXRpb25zLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEhBTF9DRUNfU3RhdGVUeXBlRGVmICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEhBTF9DRUNfU3RhdGVUeXBlRGVmICAgICAgKi8KIAogICBIQUxfQ0VDX1N0YXRlVHlwZURlZiAgICBSeFN0YXRlOyAgICAgICAgLyohPCBDRUMgc3RhdGUgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBSeCBvcGVyYXRpb25zLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEhBTF9DRUNfU3RhdGVUeXBlRGVmICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEhBTF9DRUNfU3RhdGVUeXBlRGVmICAgICAgKi8KIAogICB1aW50MzJfdCAgICAgICAgICAgICAgICBFcnJvckNvZGU7ICAgICAgLyohPCBGb3IgZXJyb3JzIGhhbmRsaW5nIHB1cnBvc2VzLCBjb3B5IG9mIElTUiByZWdpc3RlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBjYXNlIGVycm9yIGlzIHJlcG9ydGVkICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGNhc2UgZXJyb3IgaXMgcmVwb3J0ZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIAogI2lmIChVU0VfSEFMX0NFQ19SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKICAgdm9pZCAoKiBUeENwbHRDYWxsYmFjaykoc3RydWN0IF9fQ0VDX0hhbmRsZVR5cGVEZWYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKmhjZWMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDRUMgVHggVHJhbnNmZXIgY29tcGxldGVkIGNhbGxiYWNrICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICpoY2VjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ0VDIFR4IFRyYW5zZmVyIGNvbXBsZXRlZCBjYWxsYmFjayAgKi8KICAgdm9pZCAoKiBSeENwbHRDYWxsYmFjaykoc3RydWN0IF9fQ0VDX0hhbmRsZVR5cGVEZWYgKmhjZWMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IFJ4RnJhbWVTaXplKTsgICAgICAgICAgLyohPCBDRUMgUnggVHJhbnNmZXIgY29tcGxldGVkIGNhbGxiYWNrICovCi0gIHZvaWQgKCogRXJyb3JDYWxsYmFjaykoc3RydWN0IF9fQ0VDX0hhbmRsZVR5cGVEZWYgKmhjZWMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ0VDIGVycm9yIGNhbGxiYWNrICovCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IFJ4RnJhbWVTaXplKTsgICAgICAgICAgICAgICAgIC8qITwgQ0VDIFJ4IFRyYW5zZmVyIGNvbXBsZXRlZCBjYWxsYmFjayAgKi8KKyAgdm9pZCAoKiBFcnJvckNhbGxiYWNrKShzdHJ1Y3QgX19DRUNfSGFuZGxlVHlwZURlZiAqaGNlYyk7ICAgICAgLyohPCBDRUMgZXJyb3IgY2FsbGJhY2sgICAgICAgICAgICAgICAgICAqLwogCi0gIHZvaWQgKCogTXNwSW5pdENhbGxiYWNrKShzdHJ1Y3QgX19DRUNfSGFuZGxlVHlwZURlZiAqaGNlYyk7ICAgICAgICAgICAgICAgLyohPCBDRUMgTXNwIEluaXQgY2FsbGJhY2sgICAgICAgICAgICAgICovCi0gIHZvaWQgKCogTXNwRGVJbml0Q2FsbGJhY2spKHN0cnVjdCBfX0NFQ19IYW5kbGVUeXBlRGVmICpoY2VjKTsgICAgICAgICAgICAgLyohPCBDRUMgTXNwIERlSW5pdCBjYWxsYmFjayAgICAgICAgICAgICovCisgIHZvaWQgKCogTXNwSW5pdENhbGxiYWNrKShzdHJ1Y3QgX19DRUNfSGFuZGxlVHlwZURlZiAqaGNlYyk7ICAgIC8qITwgQ0VDIE1zcCBJbml0IGNhbGxiYWNrICAgICAgICAgICAgICAgKi8KKyAgdm9pZCAoKiBNc3BEZUluaXRDYWxsYmFjaykoc3RydWN0IF9fQ0VDX0hhbmRsZVR5cGVEZWYgKmhjZWMpOyAgLyohPCBDRUMgTXNwIERlSW5pdCBjYWxsYmFjayAgICAgICAgICAgICAqLwogCiAjZW5kaWYgLyogKFVTRV9IQUxfQ0VDX1JFR0lTVEVSX0NBTExCQUNLUykgKi8KIH0gQ0VDX0hhbmRsZVR5cGVEZWY7CkBAIC0yMDIsNyArMjEyLDcgQEAKIHsKICAgSEFMX0NFQ19UWF9DUExUX0NCX0lEICAgICAgPSAweDAwVSwgICAgLyohPCBDRUMgVHggVHJhbnNmZXIgY29tcGxldGVkIGNhbGxiYWNrIElEICAqLwogICBIQUxfQ0VDX1JYX0NQTFRfQ0JfSUQgICAgICA9IDB4MDFVLCAgICAvKiE8IENFQyBSeCBUcmFuc2ZlciBjb21wbGV0ZWQgY2FsbGJhY2sgSUQgICovCi0gIEhBTF9DRUNfRVJST1JfQ0JfSUQgICAgICAgID0gMHgwMlUsICAgIC8qITwgQ0VDIGVycm9yIGNhbGxiYWNrIElEICAgICAgICAgICAgICAgICAqLworICBIQUxfQ0VDX0VSUk9SX0NCX0lEICAgICAgICA9IDB4MDJVLCAgICAvKiE8IENFQyBlcnJvciBjYWxsYmFjayBJRCAgICAgICAgICAgICAgICAgICovCiAgIEhBTF9DRUNfTVNQSU5JVF9DQl9JRCAgICAgID0gMHgwM1UsICAgIC8qITwgQ0VDIE1zcCBJbml0IGNhbGxiYWNrIElEICAgICAgICAgICAgICAgKi8KICAgSEFMX0NFQ19NU1BERUlOSVRfQ0JfSUQgICAgPSAweDA0VSAgICAgLyohPCBDRUMgTXNwIERlSW5pdCBjYWxsYmFjayBJRCAgICAgICAgICAgICAqLwogfSBIQUxfQ0VDX0NhbGxiYWNrSURUeXBlRGVmOwpAQCAtMjEyLDcgKzIyMiw4IEBACiAgICovCiB0eXBlZGVmICB2b2lkICgqcENFQ19DYWxsYmFja1R5cGVEZWYpKENFQ19IYW5kbGVUeXBlRGVmICpoY2VjKTsgIC8qITwgcG9pbnRlciB0byBhbiBDRUMgY2FsbGJhY2sgZnVuY3Rpb24gKi8KIHR5cGVkZWYgIHZvaWQgKCpwQ0VDX1J4Q2FsbGJhY2tUeXBlRGVmKShDRUNfSGFuZGxlVHlwZURlZiAqaGNlYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBSeEZyYW1lU2l6ZSk7ICAvKiE8IHBvaW50ZXIgdG8gYW4gUnggVHJhbnNmZXIgY29tcGxldGVkIGNhbGxiYWNrIGZ1bmN0aW9uICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgUnhGcmFtZVNpemUpOyAgLyohPCBwb2ludGVyIHRvIGFuIFJ4IFRyYW5zZmVyIGNvbXBsZXRlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2sgZnVuY3Rpb24gKi8KICNlbmRpZiAvKiBVU0VfSEFMX0NFQ19SRUdJU1RFUl9DQUxMQkFDS1MgKi8KIC8qKgogICAqIEB9CkBAIC0zNTgsMTYgKzM2OSwxNiBAQAogLyoqIEBkZWZncm91cCBDRUNfT1dOX0FERFJFU1MgICBDRUMgT3duIEFkZHJlc3MKICAgKiBAewogICAqLwotI2RlZmluZSBDRUNfT1dOX0FERFJFU1NfTk9ORSAgICAgICAgICAgKCh1aW50MTZfdCkgMHgwMDAwVSkgICAvKiBSZXNldCB2YWx1ZSAqLwotI2RlZmluZSBDRUNfT1dOX0FERFJFU1NfMCAgICAgICAgICAgICAgKCh1aW50MTZfdCkgMHgwMDAxVSkgICAvKiBMb2dpY2FsIEFkZHJlc3MgMCAqLwotI2RlZmluZSBDRUNfT1dOX0FERFJFU1NfMSAgICAgICAgICAgICAgKCh1aW50MTZfdCkgMHgwMDAyVSkgICAvKiBMb2dpY2FsIEFkZHJlc3MgMSAqLwotI2RlZmluZSBDRUNfT1dOX0FERFJFU1NfMiAgICAgICAgICAgICAgKCh1aW50MTZfdCkgMHgwMDA0VSkgICAvKiBMb2dpY2FsIEFkZHJlc3MgMiAqLwotI2RlZmluZSBDRUNfT1dOX0FERFJFU1NfMyAgICAgICAgICAgICAgKCh1aW50MTZfdCkgMHgwMDA4VSkgICAvKiBMb2dpY2FsIEFkZHJlc3MgMyAqLwotI2RlZmluZSBDRUNfT1dOX0FERFJFU1NfNCAgICAgICAgICAgICAgKCh1aW50MTZfdCkgMHgwMDEwVSkgICAvKiBMb2dpY2FsIEFkZHJlc3MgNCAqLwotI2RlZmluZSBDRUNfT1dOX0FERFJFU1NfNSAgICAgICAgICAgICAgKCh1aW50MTZfdCkgMHgwMDIwVSkgICAvKiBMb2dpY2FsIEFkZHJlc3MgNSAqLwotI2RlZmluZSBDRUNfT1dOX0FERFJFU1NfNiAgICAgICAgICAgICAgKCh1aW50MTZfdCkgMHgwMDQwVSkgICAvKiBMb2dpY2FsIEFkZHJlc3MgNiAqLwotI2RlZmluZSBDRUNfT1dOX0FERFJFU1NfNyAgICAgICAgICAgICAgKCh1aW50MTZfdCkgMHgwMDgwVSkgICAvKiBMb2dpY2FsIEFkZHJlc3MgNyAqLwotI2RlZmluZSBDRUNfT1dOX0FERFJFU1NfOCAgICAgICAgICAgICAgKCh1aW50MTZfdCkgMHgwMTAwVSkgICAvKiBMb2dpY2FsIEFkZHJlc3MgOSAqLworI2RlZmluZSBDRUNfT1dOX0FERFJFU1NfTk9ORSAgICAgICAgICAgKCh1aW50MTZfdCkgMHgwMDAwVSkgICAvKiBSZXNldCB2YWx1ZSAgICAgICAgKi8KKyNkZWZpbmUgQ0VDX09XTl9BRERSRVNTXzAgICAgICAgICAgICAgICgodWludDE2X3QpIDB4MDAwMVUpICAgLyogTG9naWNhbCBBZGRyZXNzIDAgICovCisjZGVmaW5lIENFQ19PV05fQUREUkVTU18xICAgICAgICAgICAgICAoKHVpbnQxNl90KSAweDAwMDJVKSAgIC8qIExvZ2ljYWwgQWRkcmVzcyAxICAqLworI2RlZmluZSBDRUNfT1dOX0FERFJFU1NfMiAgICAgICAgICAgICAgKCh1aW50MTZfdCkgMHgwMDA0VSkgICAvKiBMb2dpY2FsIEFkZHJlc3MgMiAgKi8KKyNkZWZpbmUgQ0VDX09XTl9BRERSRVNTXzMgICAgICAgICAgICAgICgodWludDE2X3QpIDB4MDAwOFUpICAgLyogTG9naWNhbCBBZGRyZXNzIDMgICovCisjZGVmaW5lIENFQ19PV05fQUREUkVTU180ICAgICAgICAgICAgICAoKHVpbnQxNl90KSAweDAwMTBVKSAgIC8qIExvZ2ljYWwgQWRkcmVzcyA0ICAqLworI2RlZmluZSBDRUNfT1dOX0FERFJFU1NfNSAgICAgICAgICAgICAgKCh1aW50MTZfdCkgMHgwMDIwVSkgICAvKiBMb2dpY2FsIEFkZHJlc3MgNSAgKi8KKyNkZWZpbmUgQ0VDX09XTl9BRERSRVNTXzYgICAgICAgICAgICAgICgodWludDE2X3QpIDB4MDA0MFUpICAgLyogTG9naWNhbCBBZGRyZXNzIDYgICovCisjZGVmaW5lIENFQ19PV05fQUREUkVTU183ICAgICAgICAgICAgICAoKHVpbnQxNl90KSAweDAwODBVKSAgIC8qIExvZ2ljYWwgQWRkcmVzcyA3ICAqLworI2RlZmluZSBDRUNfT1dOX0FERFJFU1NfOCAgICAgICAgICAgICAgKCh1aW50MTZfdCkgMHgwMTAwVSkgICAvKiBMb2dpY2FsIEFkZHJlc3MgOSAgKi8KICNkZWZpbmUgQ0VDX09XTl9BRERSRVNTXzkgICAgICAgICAgICAgICgodWludDE2X3QpIDB4MDIwMFUpICAgLyogTG9naWNhbCBBZGRyZXNzIDEwICovCiAjZGVmaW5lIENFQ19PV05fQUREUkVTU18xMCAgICAgICAgICAgICAoKHVpbnQxNl90KSAweDA0MDBVKSAgIC8qIExvZ2ljYWwgQWRkcmVzcyAxMSAqLwogI2RlZmluZSBDRUNfT1dOX0FERFJFU1NfMTEgICAgICAgICAgICAgKCh1aW50MTZfdCkgMHgwODAwVSkgICAvKiBMb2dpY2FsIEFkZHJlc3MgMTIgKi8KQEAgLTQyMSw4ICs0MzIsOCBAQAogLyoqIEBkZWZncm91cCBDRUNfQUxMX0VSUk9SIENFQyBhbGwgUlggb3IgVFggZXJyb3JzIGZsYWdzCiAgICogQHsKICAgKi8KLSNkZWZpbmUgQ0VDX0lTUl9BTExfRVJST1IgICAgICAgICAgICAgICgodWludDMyX3QpQ0VDX0lTUl9SWE9WUnxDRUNfSVNSX0JSRXxDRUNfSVNSX1NCUEV8Q0VDX0lTUl9MQlBFfENFQ19JU1JfUlhBQ0tFfFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDRUNfSVNSX0FSQkxTVHxDRUNfSVNSX1RYVURSfENFQ19JU1JfVFhFUlJ8Q0VDX0lTUl9UWEFDS0UpCisjZGVmaW5lIENFQ19JU1JfQUxMX0VSUk9SICAgICAgICgodWludDMyX3QpQ0VDX0lTUl9SWE9WUnxDRUNfSVNSX0JSRXxDRUNfSVNSX1NCUEV8Q0VDX0lTUl9MQlBFfENFQ19JU1JfUlhBQ0tFfFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENFQ19JU1JfQVJCTFNUfENFQ19JU1JfVFhVRFJ8Q0VDX0lTUl9UWEVSUnxDRUNfSVNSX1RYQUNLRSkKIC8qKgogICAqIEB9CiAgICovCkBAIC00MzAsNyArNDQxLDcgQEAKIC8qKiBAZGVmZ3JvdXAgQ0VDX0lFUl9BTExfUlggQ0VDIGFsbCBSWCBlcnJvcnMgaW50ZXJydXB0cyBlbmFibGluZyBmbGFnCiAgICogQHsKICAgKi8KLSNkZWZpbmUgQ0VDX0lFUl9SWF9BTExfRVJSICAgICAgICAgICAgICAoKHVpbnQzMl90KUNFQ19JRVJfUlhBQ0tFSUV8Q0VDX0lFUl9MQlBFSUV8Q0VDX0lFUl9TQlBFSUV8Q0VDX0lFUl9CUkVJRXxDRUNfSUVSX1JYT1ZSSUUpCisjZGVmaW5lIENFQ19JRVJfUlhfQUxMX0VSUiAgICAgICgodWludDMyX3QpQ0VDX0lFUl9SWEFDS0VJRXxDRUNfSUVSX0xCUEVJRXxDRUNfSUVSX1NCUEVJRXxDRUNfSUVSX0JSRUlFfENFQ19JRVJfUlhPVlJJRSkKIC8qKgogICAqIEB9CiAgICovCkBAIC00MzgsNyArNDQ5LDcgQEAKIC8qKiBAZGVmZ3JvdXAgQ0VDX0lFUl9BTExfVFggQ0VDIGFsbCBUWCBlcnJvcnMgaW50ZXJydXB0cyBlbmFibGluZyBmbGFnCiAgICogQHsKICAgKi8KLSNkZWZpbmUgQ0VDX0lFUl9UWF9BTExfRVJSICAgICAgICAgICAgICAoKHVpbnQzMl90KUNFQ19JRVJfVFhBQ0tFSUV8Q0VDX0lFUl9UWEVSUklFfENFQ19JRVJfVFhVRFJJRXxDRUNfSUVSX0FSQkxTVElFKQorI2RlZmluZSBDRUNfSUVSX1RYX0FMTF9FUlIgICAgICAoKHVpbnQzMl90KUNFQ19JRVJfVFhBQ0tFSUV8Q0VDX0lFUl9UWEVSUklFfENFQ19JRVJfVFhVRFJJRXxDRUNfSUVSX0FSQkxTVElFKQogLyoqCiAgICogQH0KICAgKi8KQEAgLTYyMiw3ICs2MzMsOCBAQAogICAqIEBwYXJhbSAgX19BRERSRVNTX18gT3duIEFkZHJlc3MgdmFsdWUgKENFQyBsb2dpY2FsIGFkZHJlc3MgaXMgaWRlbnRpZmllZCBieSBiaXQgcG9zaXRpb24pCiAgICogQHJldHZhbCBub25lCiAgICovCi0jZGVmaW5lIF9fSEFMX0NFQ19TRVRfT0FSKF9fSEFORExFX18sX19BRERSRVNTX18pICAgU0VUX0JJVCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5DRkdSLCAoX19BRERSRVNTX18pPDwgQ0VDX0NGR1JfT0FSX0xTQl9QT1MpCisjZGVmaW5lIF9fSEFMX0NFQ19TRVRfT0FSKF9fSEFORExFX18sX19BRERSRVNTX18pICAgU0VUX0JJVCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5DRkdSLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX19BRERSRVNTX18pPDwgQ0VDX0NGR1JfT0FSX0xTQl9QT1MpCiAKIC8qKgogICAqIEB9CkBAIC02NjAsOCArNjcyLDggQEAKICAgKi8KIC8qIEkvTyBvcGVyYXRpb24gZnVuY3Rpb25zICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfQ0VDX1RyYW5zbWl0X0lUKENFQ19IYW5kbGVUeXBlRGVmICpoY2VjLCB1aW50OF90IEluaXRpYXRvckFkZHJlc3MsIHVpbnQ4X3QgRGVzdGluYXRpb25BZGRyZXNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpwRGF0YSwgdWludDMyX3QgU2l6ZSk7Ci11aW50MzJfdCBIQUxfQ0VDX0dldExhc3RSZWNlaXZlZEZyYW1lU2l6ZShDRUNfSGFuZGxlVHlwZURlZiAqaGNlYyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnBEYXRhLCB1aW50MzJfdCBTaXplKTsKK3VpbnQzMl90IEhBTF9DRUNfR2V0TGFzdFJlY2VpdmVkRnJhbWVTaXplKGNvbnN0IENFQ19IYW5kbGVUeXBlRGVmICpoY2VjKTsKIHZvaWQgSEFMX0NFQ19DaGFuZ2VSeEJ1ZmZlcihDRUNfSGFuZGxlVHlwZURlZiAqaGNlYywgdWludDhfdCAqUnhidWZmZXIpOwogdm9pZCBIQUxfQ0VDX0lSUUhhbmRsZXIoQ0VDX0hhbmRsZVR5cGVEZWYgKmhjZWMpOwogdm9pZCBIQUxfQ0VDX1R4Q3BsdENhbGxiYWNrKENFQ19IYW5kbGVUeXBlRGVmICpoY2VjKTsKQEAgLTY3NSw4ICs2ODcsOCBAQAogICAqIEB7CiAgICovCiAvKiBQZXJpcGhlcmFsIFN0YXRlIGZ1bmN0aW9ucyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotSEFMX0NFQ19TdGF0ZVR5cGVEZWYgSEFMX0NFQ19HZXRTdGF0ZShDRUNfSGFuZGxlVHlwZURlZiAqaGNlYyk7Ci11aW50MzJfdCBIQUxfQ0VDX0dldEVycm9yKENFQ19IYW5kbGVUeXBlRGVmICpoY2VjKTsKK0hBTF9DRUNfU3RhdGVUeXBlRGVmIEhBTF9DRUNfR2V0U3RhdGUoY29uc3QgQ0VDX0hhbmRsZVR5cGVEZWYgKmhjZWMpOwordWludDMyX3QgSEFMX0NFQ19HZXRFcnJvcihjb25zdCBDRUNfSGFuZGxlVHlwZURlZiAqaGNlYyk7CiAvKioKICAgKiBAfQogICAqLwpAQCAtNzMxLDggKzc0Myw5IEBACiAjZGVmaW5lIElTX0NFQ19MQlBFRVJST1JCSVRHRU4oX19FUlJPUkJJVEdFTl9fKSAoKChfX0VSUk9SQklUR0VOX18pID09IENFQ19MQlBFX0VSUk9SQklUX05PX0dFTkVSQVRJT04pIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fRVJST1JCSVRHRU5fXykgPT0gQ0VDX0xCUEVfRVJST1JCSVRfR0VORVJBVElPTikpCiAKLSNkZWZpbmUgSVNfQ0VDX0JST0FEQ0FTVEVSUk9SX05PX0VSUk9SQklUX0dFTkVSQVRJT04oX19FUlJPUkJJVEdFTl9fKSAoKChfX0VSUk9SQklUR0VOX18pID09IENFQ19CUk9BRENBU1RFUlJPUl9FUlJPUkJJVF9HRU5FUkFUSU9OKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19FUlJPUkJJVEdFTl9fKSA9PSBDRUNfQlJPQURDQVNURVJST1JfTk9fRVJST1JCSVRfR0VORVJBVElPTikpCisjZGVmaW5lIElTX0NFQ19CUk9BRENBU1RFUlJPUl9OT19FUlJPUkJJVF9HRU5FUkFUSU9OKF9fRVJST1JCSVRHRU5fXykgXAorICAoKChfX0VSUk9SQklUR0VOX18pID09IENFQ19CUk9BRENBU1RFUlJPUl9FUlJPUkJJVF9HRU5FUkFUSU9OKSB8fCBcCisgICAoKF9fRVJST1JCSVRHRU5fXykgPT0gQ0VDX0JST0FEQ0FTVEVSUk9SX05PX0VSUk9SQklUX0dFTkVSQVRJT04pKQogCiAjZGVmaW5lIElTX0NFQ19TRlRPUChfX1NGVE9QX18pICAgICAgICAgICgoKF9fU0ZUT1BfXykgPT0gQ0VDX1NGVF9TVEFSVF9PTl9UWFNPTSkgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1NGVE9QX18pID09IENFQ19TRlRfU1RBUlRfT05fVFhfUlhfRU5EKSkKQEAgLTc4OSw0ICs4MDIsMyBAQAogI2VuZGlmCiAKICNlbmRpZiAvKiBTVE0zMkY3eHhIQUxfQ0VDX0ggKi8KLQpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjd4eF9oYWxfY29uZl90ZW1wbGF0ZS5oIGIvSW5jL3N0bTMyZjd4eF9oYWxfY29uZl90ZW1wbGF0ZS5oCmluZGV4IDA3NWMxZWEuLjVhZTIxZDQgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY3eHhfaGFsX2NvbmZfdGVtcGxhdGUuaAorKysgYi9JbmMvc3RtMzJmN3h4X2hhbF9jb25mX3RlbXBsYXRlLmgKQEAgLTQ0LDcgKzQ0LDggQEAKICNkZWZpbmUgSEFMX0RDTUlfTU9EVUxFX0VOQUJMRUQgCiAjZGVmaW5lIEhBTF9ETUFfTU9EVUxFX0VOQUJMRUQKICNkZWZpbmUgSEFMX0RNQTJEX01PRFVMRV9FTkFCTEVEIAotI2RlZmluZSBIQUxfRVRIX01PRFVMRV9FTkFCTEVEIAorI2RlZmluZSBIQUxfRVRIX01PRFVMRV9FTkFCTEVECisvKiAjZGVmaW5lIEhBTF9FVEhfTEVHQUNZX01PRFVMRV9FTkFCTEVEICovCiAjZGVmaW5lIEhBTF9FWFRJX01PRFVMRV9FTkFCTEVEIAogI2RlZmluZSBIQUxfRkxBU0hfTU9EVUxFX0VOQUJMRUQgCiAjZGVmaW5lIEhBTF9OQU5EX01PRFVMRV9FTkFCTEVECkBAIC0xNDYsNyArMTQ3LDcgQEAKICNkZWZpbmUgIFRJQ0tfSU5UX1BSSU9SSVRZICAgICAgICAgICAgMHgwRlUgLyohPCB0aWNrIGludGVycnVwdCBwcmlvcml0eSAqLwogI2RlZmluZSAgVVNFX1JUT1MgICAgICAgICAgICAgICAgICAgICAwVQogI2RlZmluZSAgUFJFRkVUQ0hfRU5BQkxFICAgICAgICAgICAgICAxVSAvKiBUbyBlbmFibGUgcHJlZmV0Y2ggKi8KLSNkZWZpbmUgIEFSVF9BQ0NMRVJBVE9SX0VOQUJMRSAgICAgICAgMVUgLyogVG8gZW5hYmxlIEFSVCBBY2NlbGVyYXRvciAqLworI2RlZmluZSAgQVJUX0FDQ0VMRVJBVE9SX0VOQUJMRSAgICAgICAxVSAvKiBUbyBlbmFibGUgQVJUIEFjY2VsZXJhdG9yICovCiAKICNkZWZpbmUgIFVTRV9IQUxfQURDX1JFR0lTVEVSX0NBTExCQUNLUyAgICAgICAgIDBVIC8qIEFEQyByZWdpc3RlciBjYWxsYmFjayBkaXNhYmxlZCAgICAgICAqLwogI2RlZmluZSAgVVNFX0hBTF9DQU5fUkVHSVNURVJfQ0FMTEJBQ0tTICAgICAgICAgMFUgLyogQ0FOIHJlZ2lzdGVyIGNhbGxiYWNrIGRpc2FibGVkICAgICAgICovCkBAIC0yMDcsOCArMjA4LDggQEAKICNkZWZpbmUgTUFDX0FERFI1ICAgMFUKIAogLyogRGVmaW5pdGlvbiBvZiB0aGUgRXRoZXJuZXQgZHJpdmVyIGJ1ZmZlcnMgc2l6ZSBhbmQgY291bnQgKi8gICAKLSNkZWZpbmUgRVRIX1JYX0JVRl9TSVpFICAgICAgICAgICAgICAgIEVUSF9NQVhfUEFDS0VUX1NJWkUgLyogYnVmZmVyIHNpemUgZm9yIHJlY2VpdmUgICAgICAgICAgICAgICAqLwotI2RlZmluZSBFVEhfVFhfQlVGX1NJWkUgICAgICAgICAgICAgICAgRVRIX01BWF9QQUNLRVRfU0laRSAvKiBidWZmZXIgc2l6ZSBmb3IgdHJhbnNtaXQgICAgICAgICAgICAgICovCisjZGVmaW5lIEVUSF9SWF9CVUZfU0laRSAgICAgICAgICAgICAgICAxNTI4VSAgICAvKiBFVEggTWF4IGJ1ZmZlciBzaXplIGZvciByZWNlaXZlICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgRVRIX1RYX0JVRl9TSVpFICAgICAgICAgICAgICAgIDE1MjhVICAgIC8qIEVUSCBNYXggYnVmZmVyIHNpemUgZm9yIHRyYW5zbWl0ICAgICAgICAgICAgICAqLwogI2RlZmluZSBFVEhfUlhCVUZOQiAgICAgICAgICAgICAgICAgICAgNFUgICAgICAgLyogNCBSeCBidWZmZXJzIG9mIHNpemUgRVRIX1JYX0JVRl9TSVpFICAqLwogI2RlZmluZSBFVEhfVFhCVUZOQiAgICAgICAgICAgICAgICAgICAgNFUgICAgICAgLyogNCBUeCBidWZmZXJzIG9mIHNpemUgRVRIX1RYX0JVRl9TSVpFICAqLwogCkBAIC0zMzAsNiArMzMxLDEwIEBACiAgICNpbmNsdWRlICJzdG0zMmY3eHhfaGFsX2V0aC5oIgogI2VuZGlmIC8qIEhBTF9FVEhfTU9EVUxFX0VOQUJMRUQgKi8KIAorI2lmZGVmIEhBTF9FVEhfTEVHQUNZX01PRFVMRV9FTkFCTEVECisgICNpbmNsdWRlICJzdG0zMmY3eHhfaGFsX2V0aF9sZWdhY3kuaCIKKyNlbmRpZiAvKiBIQUxfRVRIX0xFR0FDWV9NT0RVTEVfRU5BQkxFRCAqLworCiAjaWZkZWYgSEFMX0VYVElfTU9EVUxFX0VOQUJMRUQKICAgI2luY2x1ZGUgInN0bTMyZjd4eF9oYWxfZXh0aS5oIgogI2VuZGlmIC8qIEhBTF9FWFRJX01PRFVMRV9FTkFCTEVEICovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmN3h4X2hhbF9ldGguaCBiL0luYy9zdG0zMmY3eHhfaGFsX2V0aC5oCmluZGV4IDdlNGFlNmYuLjdkMWY2ZTkgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY3eHhfaGFsX2V0aC5oCisrKyBiL0luYy9zdG0zMmY3eHhfaGFsX2V0aC5oCkBAIC0yNzYsOSArMjc2LDYgQEAKICAgUHJlYW1ibGVMZW5ndGg7ICAgICAgICAgICAgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBQcmVhbWJsZSBMZW5ndGggZm9yIFRyYW5zbWl0IHBhY2tldHMgKEZ1bGwgRHVwbGV4IG1vZGUpLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9QcmVhbWJsZV9MZW5ndGggKi8KIAotICBGdW5jdGlvbmFsU3RhdGUKLSAgVW5pY2FzdFNsb3dQcm90b2NvbFBhY2tldERldGVjdDsgICAvKiE8IEVuYWJsZSBvciBkaXNhYmxlcyB0aGUgRGV0ZWN0aW9uIG9mIFNsb3cgUHJvdG9jb2wgUGFja2V0cyB3aXRoIHVuaWNhc3QgYWRkcmVzcy4gKi8KLQogICBGdW5jdGlvbmFsU3RhdGUgIFNsb3dQcm90b2NvbERldGVjdDsgICAgICAgICAgLyohPCBFbmFibGUgb3IgZGlzYWJsZXMgdGhlIFNsb3cgUHJvdG9jb2wgRGV0ZWN0aW9uLiAqLwogCiAgIEZ1bmN0aW9uYWxTdGF0ZSAgQ1JDQ2hlY2tpbmdSeFBhY2tldHM7ICAgICAgICAvKiE8IEVuYWJsZSBvciBkaXNhYmxlcyB0aGUgQ1JDIENoZWNraW5nIGZvciBSZWNlaXZlZCBQYWNrZXRzLiAqLwpAQCAtNDA0LDcgKzQwMSw3IEBACiB0eXBlZGVmIGVudW0KIHsKICAgSEFMX0VUSF9NSUlfTU9ERSAgICAgICAgICAgICA9IDB4MDBVLCAgIC8qITwgIE1lZGlhIEluZGVwZW5kZW50IEludGVyZmFjZSAgICAgICAgICAgICAgICovCi0gIEhBTF9FVEhfUk1JSV9NT0RFICAgICAgICAgICAgPSAoKHVpbnQzMl90KVNZU0NGR19QTUNfTUlJX1JNSUlfU0VMKSAgICAvKiE8ICAgUmVkdWNlZCBNZWRpYSBJbmRlcGVuZGVudCBJbnRlcmZhY2UgICAgICAgKi8KKyAgSEFMX0VUSF9STUlJX01PREUgICAgICAgICAgICA9IFNZU0NGR19QTUNfTUlJX1JNSUlfU0VMICAgIC8qITwgICBSZWR1Y2VkIE1lZGlhIEluZGVwZW5kZW50IEludGVyZmFjZSAgICAgICAqLwogfSBFVEhfTWVkaWFJbnRlcmZhY2VUeXBlRGVmOwogLyoqCiAgICoKQEAgLTY5NCw1MSArNjkxLDUxIEBACiAvKioKICAgKiBAYnJpZWYgIEJpdCBkZWZpbml0aW9uIG9mIFRERVMwIHJlZ2lzdGVyOiBETUEgVHggZGVzY3JpcHRvciBzdGF0dXMgcmVnaXN0ZXIKICAgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19PV04gICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDBVKSAgLyohPCBPV04gYml0OiBkZXNjcmlwdG9yIGlzIG93bmVkIGJ5IERNQSBlbmdpbmUgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19JQyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDBVKSAgLyohPCBJbnRlcnJ1cHQgb24gQ29tcGxldGlvbiAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX0xTICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMFUpICAvKiE8IExhc3QgU2VnbWVudCAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX0ZTICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMFUpICAvKiE8IEZpcnN0IFNlZ21lbnQgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19EQyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDBVKSAgLyohPCBEaXNhYmxlIENSQyAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX0RQICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMFUpICAvKiE8IERpc2FibGUgUGFkZGluZyAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX1RUU0UgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMFUpICAvKiE8IFRyYW5zbWl0IFRpbWUgU3RhbXAgRW5hYmxlICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0lDICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwQzAwMDAwVSkgIC8qITwgQ2hlY2tzdW0gSW5zZXJ0aW9uIENvbnRyb2w6IDQgY2FzZXMgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19DSUNfQllQQVNTICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKSAgLyohPCBEbyBOb3RoaW5nOiBDaGVja3N1bSBFbmdpbmUgaXMgYnlwYXNzZWQgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19DSUNfSVBWNEhFQURFUiAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDBVKSAgLyohPCBJUFY0IGhlYWRlciBDaGVja3N1bSBJbnNlcnRpb24gKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19DSUNfVENQVURQSUNNUF9TRUdNRU5UICAoKHVpbnQzMl90KTB4MDA4MDAwMDBVKSAgLyohPCBUQ1AvVURQL0lDTVAgQ2hlY2tzdW0gSW5zZXJ0aW9uIGNhbGN1bGF0ZWQgb3ZlciBzZWdtZW50IG9ubHkgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19DSUNfVENQVURQSUNNUF9GVUxMICAgICAoKHVpbnQzMl90KTB4MDBDMDAwMDBVKSAgLyohPCBUQ1AvVURQL0lDTVAgQ2hlY2tzdW0gSW5zZXJ0aW9uIGZ1bGx5IGNhbGN1bGF0ZWQgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19URVIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDBVKSAgLyohPCBUcmFuc21pdCBFbmQgb2YgUmluZyAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX1RDSCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMFUpICAvKiE8IFNlY29uZCBBZGRyZXNzIENoYWluZWQgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19UVFNTICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDBVKSAgLyohPCBUeCBUaW1lIFN0YW1wIFN0YXR1cyAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX0lIRSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMFUpICAvKiE8IElQIEhlYWRlciBFcnJvciAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX0VTICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMFUpICAvKiE8IEVycm9yIHN1bW1hcnk6IE9SIG9mIHRoZSBmb2xsb3dpbmcgYml0czogVUUgfHwgRUQgfHwgRUMgfHwgTENPIHx8IE5DIHx8IExDQSB8fCBGRiB8fCBKVCAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX0pUICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMFUpICAvKiE8IEphYmJlciBUaW1lb3V0ICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfRkYgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwVSkgIC8qITwgRnJhbWUgRmx1c2hlZDogRE1BL01UTCBmbHVzaGVkIHRoZSBmcmFtZSBkdWUgdG8gU1cgZmx1c2ggKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19QQ0UgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDBVKSAgLyohPCBQYXlsb2FkIENoZWNrc3VtIEVycm9yICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfTENBICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwVSkgIC8qITwgTG9zcyBvZiBDYXJyaWVyOiBjYXJyaWVyIGxvc3QgZHVyaW5nIHRyYW5zbWlzc2lvbiAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX05DICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMFUpICAvKiE8IE5vIENhcnJpZXI6IG5vIGNhcnJpZXIgc2lnbmFsIGZyb20gdGhlIHRyYW5zY2VpdmVyICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfTENPICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwVSkgIC8qITwgTGF0ZSBDb2xsaXNpb246IHRyYW5zbWlzc2lvbiBhYm9ydGVkIGR1ZSB0byBjb2xsaXNpb24gKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19FQyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDBVKSAgLyohPCBFeGNlc3NpdmUgQ29sbGlzaW9uOiB0cmFuc21pc3Npb24gYWJvcnRlZCBhZnRlciAxNiBjb2xsaXNpb25zICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfVkYgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwVSkgIC8qITwgVkxBTiBGcmFtZSAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX0NDICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA3OFUpICAvKiE8IENvbGxpc2lvbiBDb3VudCAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX0VEICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNFUpICAvKiE8IEV4Y2Vzc2l2ZSBEZWZlcnJhbCAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX1VGICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMlUpICAvKiE8IFVuZGVyZmxvdyBFcnJvcjogbGF0ZSBkYXRhIGFycml2YWwgZnJvbSB0aGUgbWVtb3J5ICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfREIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxVSkgIC8qITwgRGVmZXJyZWQgQml0ICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfT1dOICAgICAgICAgICAgICAgICAgICAgMHg4MDAwMDAwMFUgIC8qITwgT1dOIGJpdDogZGVzY3JpcHRvciBpcyBvd25lZCBieSBETUEgZW5naW5lICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfSUMgICAgICAgICAgICAgICAgICAgICAgMHg0MDAwMDAwMFUgIC8qITwgSW50ZXJydXB0IG9uIENvbXBsZXRpb24gKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19MUyAgICAgICAgICAgICAgICAgICAgICAweDIwMDAwMDAwVSAgLyohPCBMYXN0IFNlZ21lbnQgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19GUyAgICAgICAgICAgICAgICAgICAgICAweDEwMDAwMDAwVSAgLyohPCBGaXJzdCBTZWdtZW50ICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfREMgICAgICAgICAgICAgICAgICAgICAgMHgwODAwMDAwMFUgIC8qITwgRGlzYWJsZSBDUkMgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19EUCAgICAgICAgICAgICAgICAgICAgICAweDA0MDAwMDAwVSAgLyohPCBEaXNhYmxlIFBhZGRpbmcgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19UVFNFICAgICAgICAgICAgICAgICAgICAweDAyMDAwMDAwVSAgLyohPCBUcmFuc21pdCBUaW1lIFN0YW1wIEVuYWJsZSAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0NJQyAgICAgICAgICAgICAgICAgICAgIDB4MDBDMDAwMDBVICAvKiE8IENoZWNrc3VtIEluc2VydGlvbiBDb250cm9sOiA0IGNhc2VzICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0lDX0JZUEFTUyAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgIC8qITwgRG8gTm90aGluZzogQ2hlY2tzdW0gRW5naW5lIGlzIGJ5cGFzc2VkICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0lDX0lQVjRIRUFERVIgICAgICAgICAgMHgwMDQwMDAwMFUgIC8qITwgSVBWNCBoZWFkZXIgQ2hlY2tzdW0gSW5zZXJ0aW9uICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0lDX1RDUFVEUElDTVBfU0VHTUVOVCAgMHgwMDgwMDAwMFUgIC8qITwgVENQL1VEUC9JQ01QIENoZWNrc3VtIEluc2VydGlvbiBjYWxjdWxhdGVkIG92ZXIgc2VnbWVudCBvbmx5ICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0lDX1RDUFVEUElDTVBfRlVMTCAgICAgMHgwMEMwMDAwMFUgIC8qITwgVENQL1VEUC9JQ01QIENoZWNrc3VtIEluc2VydGlvbiBmdWxseSBjYWxjdWxhdGVkICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfVEVSICAgICAgICAgICAgICAgICAgICAgMHgwMDIwMDAwMFUgIC8qITwgVHJhbnNtaXQgRW5kIG9mIFJpbmcgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19UQ0ggICAgICAgICAgICAgICAgICAgICAweDAwMTAwMDAwVSAgLyohPCBTZWNvbmQgQWRkcmVzcyBDaGFpbmVkICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfVFRTUyAgICAgICAgICAgICAgICAgICAgMHgwMDAyMDAwMFUgIC8qITwgVHggVGltZSBTdGFtcCBTdGF0dXMgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19JSEUgICAgICAgICAgICAgICAgICAgICAweDAwMDEwMDAwVSAgLyohPCBJUCBIZWFkZXIgRXJyb3IgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19FUyAgICAgICAgICAgICAgICAgICAgICAweDAwMDA4MDAwVSAgLyohPCBFcnJvciBzdW1tYXJ5OiBPUiBvZiB0aGUgZm9sbG93aW5nIGJpdHM6IFVFIHx8IEVEIHx8IEVDIHx8IExDTyB8fCBOQyB8fCBMQ0EgfHwgRkYgfHwgSlQgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19KVCAgICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwVSAgLyohPCBKYWJiZXIgVGltZW91dCAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0ZGICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDIwMDBVICAvKiE8IEZyYW1lIEZsdXNoZWQ6IERNQS9NVEwgZmx1c2hlZCB0aGUgZnJhbWUgZHVlIHRvIFNXIGZsdXNoICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfUENFICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMTAwMFUgIC8qITwgUGF5bG9hZCBDaGVja3N1bSBFcnJvciAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0xDQSAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDA4MDBVICAvKiE8IExvc3Mgb2YgQ2FycmllcjogY2FycmllciBsb3N0IGR1cmluZyB0cmFuc21pc3Npb24gKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19OQyAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwNDAwVSAgLyohPCBObyBDYXJyaWVyOiBubyBjYXJyaWVyIHNpZ25hbCBmcm9tIHRoZSB0cmFuc2NlaXZlciAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0xDTyAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAyMDBVICAvKiE8IExhdGUgQ29sbGlzaW9uOiB0cmFuc21pc3Npb24gYWJvcnRlZCBkdWUgdG8gY29sbGlzaW9uICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfRUMgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDEwMFUgIC8qITwgRXhjZXNzaXZlIENvbGxpc2lvbjogdHJhbnNtaXNzaW9uIGFib3J0ZWQgYWZ0ZXIgMTYgY29sbGlzaW9ucyAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX1ZGICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwODBVICAvKiE8IFZMQU4gRnJhbWUgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19DQyAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDc4VSAgLyohPCBDb2xsaXNpb24gQ291bnQgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19FRCAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA0VSAgLyohPCBFeGNlc3NpdmUgRGVmZXJyYWwgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19VRiAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAyVSAgLyohPCBVbmRlcmZsb3cgRXJyb3I6IGxhdGUgZGF0YSBhcnJpdmFsIGZyb20gdGhlIG1lbW9yeSAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0RCICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDFVICAvKiE8IERlZmVycmVkIEJpdCAqLwogCiAvKioKICAgKiBAYnJpZWYgIEJpdCBkZWZpbml0aW9uIG9mIFRERVMxIHJlZ2lzdGVyCiAgICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfVEJTMiAgKCh1aW50MzJfdCkweDFGRkYwMDAwVSkgIC8qITwgVHJhbnNtaXQgQnVmZmVyMiBTaXplICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfVEJTMSAgKCh1aW50MzJfdCkweDAwMDAxRkZGVSkgIC8qITwgVHJhbnNtaXQgQnVmZmVyMSBTaXplICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfVEJTMiAgICAgICAgICAgICAgICAgICAgMHgxRkZGMDAwMFUgIC8qITwgVHJhbnNtaXQgQnVmZmVyMiBTaXplICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfVEJTMSAgICAgICAgICAgICAgICAgICAgMHgwMDAwMUZGRlUgIC8qITwgVHJhbnNtaXQgQnVmZmVyMSBTaXplICovCiAKIC8qKgogICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgVERFUzIgcmVnaXN0ZXIKICAgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19CMUFQICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKSAgLyohPCBCdWZmZXIxIEFkZHJlc3MgUG9pbnRlciAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0IxQVAgICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkZVICAvKiE8IEJ1ZmZlcjEgQWRkcmVzcyBQb2ludGVyICovCiAKIC8qKgogICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgVERFUzMgcmVnaXN0ZXIKICAgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19CMkFQICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKSAgLyohPCBCdWZmZXIyIEFkZHJlc3MgUG9pbnRlciAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0IyQVAgICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkZVICAvKiE8IEJ1ZmZlcjIgQWRkcmVzcyBQb2ludGVyICovCiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBUREVTNiB8ICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zbWl0IFRpbWUgU3RhbXAgTG93IFszMTowXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKQEAgLTc0NywxMCArNzQ0LDEwIEBACiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAogLyogQml0IGRlZmluaXRpb24gb2YgVERFUzYgcmVnaXN0ZXIgKi8KLSNkZWZpbmUgRVRIX0RNQVBUUFRYREVTQ19UVFNMICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKSAgLyogVHJhbnNtaXQgVGltZSBTdGFtcCBMb3cgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFRYREVTQ19UVFNMICAgICAgICAgICAgICAgICAweEZGRkZGRkZGVSAgLyogVHJhbnNtaXQgVGltZSBTdGFtcCBMb3cgKi8KIAogLyogQml0IGRlZmluaXRpb24gb2YgVERFUzcgcmVnaXN0ZXIgKi8KLSNkZWZpbmUgRVRIX0RNQVBUUFRYREVTQ19UVFNIICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKSAgLyogVHJhbnNtaXQgVGltZSBTdGFtcCBIaWdoICovCisjZGVmaW5lIEVUSF9ETUFQVFBUWERFU0NfVFRTSCAgICAgICAgICAgICAgICAgMHhGRkZGRkZGRlUgIC8qIFRyYW5zbWl0IFRpbWUgU3RhbXAgSGlnaCAqLwogCiAvKioKICAgKiBAfQpAQCAtNzc3LDQ0ICs3NzQsNDQgQEAKIC8qKgogICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgUkRFUzAgcmVnaXN0ZXI6IERNQSBSeCBkZXNjcmlwdG9yIHN0YXR1cyByZWdpc3RlcgogICAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX09XTiAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMFUpICAvKiE8IE9XTiBiaXQ6IGRlc2NyaXB0b3IgaXMgb3duZWQgYnkgRE1BIGVuZ2luZSAgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19BRk0gICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDBVKSAgLyohPCBEQSBGaWx0ZXIgRmFpbCBmb3IgdGhlIHJ4IGZyYW1lICAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX0ZMICAgICAgICAgICgodWludDMyX3QpMHgzRkZGMDAwMFUpICAvKiE8IFJlY2VpdmUgZGVzY3JpcHRvciBmcmFtZSBsZW5ndGggICovCi0jZGVmaW5lIEVUSF9ETUFSWERFU0NfRVMgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwVSkgIC8qITwgRXJyb3Igc3VtbWFyeTogT1Igb2YgdGhlIGZvbGxvd2luZyBiaXRzOiBERSB8fCBPRSB8fCBJUEMgfHwgTEMgfHwgUldUIHx8IFJFIHx8IENFICovCi0jZGVmaW5lIEVUSF9ETUFSWERFU0NfREUgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwVSkgIC8qITwgRGVzY3JpcHRvciBlcnJvcjogbm8gbW9yZSBkZXNjcmlwdG9ycyBmb3IgcmVjZWl2ZSBmcmFtZSAgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19TQUYgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDBVKSAgLyohPCBTQSBGaWx0ZXIgRmFpbCBmb3IgdGhlIHJlY2VpdmVkIGZyYW1lICovCi0jZGVmaW5lIEVUSF9ETUFSWERFU0NfTEUgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwVSkgIC8qITwgRnJhbWUgc2l6ZSBub3QgbWF0Y2hpbmcgd2l0aCBsZW5ndGggZmllbGQgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19PRSAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDBVKSAgLyohPCBPdmVyZmxvdyBFcnJvcjogRnJhbWUgd2FzIGRhbWFnZWQgZHVlIHRvIGJ1ZmZlciBvdmVyZmxvdyAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX1ZMQU4gICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMFUpICAvKiE8IFZMQU4gVGFnOiByZWNlaXZlZCBmcmFtZSBpcyBhIFZMQU4gZnJhbWUgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19GUyAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDBVKSAgLyohPCBGaXJzdCBkZXNjcmlwdG9yIG9mIHRoZSBmcmFtZSAgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19MUyAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDBVKSAgLyohPCBMYXN0IGRlc2NyaXB0b3Igb2YgdGhlIGZyYW1lICAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX0lQVjRIQ0UgICAgICgodWludDMyX3QpMHgwMDAwMDA4MFUpICAvKiE8IElQQyBDaGVja3N1bSBFcnJvcjogUnggSXB2NCBoZWFkZXIgY2hlY2tzdW0gZXJyb3IgICAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX0xDICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MFUpICAvKiE8IExhdGUgY29sbGlzaW9uIG9jY3VycmVkIGR1cmluZyByZWNlcHRpb24gICAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX0ZUICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMFUpICAvKiE8IEZyYW1lIHR5cGUgLSBFdGhlcm5ldCwgb3RoZXJ3aXNlIDgwMi4zICAgICovCi0jZGVmaW5lIEVUSF9ETUFSWERFU0NfUldUICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwVSkgIC8qITwgUmVjZWl2ZSBXYXRjaGRvZyBUaW1lb3V0OiB3YXRjaGRvZyB0aW1lciBleHBpcmVkIGR1cmluZyByZWNlcHRpb24gICAgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19SRSAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDhVKSAgLyohPCBSZWNlaXZlIGVycm9yOiBlcnJvciByZXBvcnRlZCBieSBNSUkgaW50ZXJmYWNlICAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX0RCRSAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNFUpICAvKiE8IERyaWJibGUgYml0IGVycm9yOiBmcmFtZSBjb250YWlucyBub24gaW50IG11bHRpcGxlIG9mIDggYml0cyAgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19DRSAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDJVKSAgLyohPCBDUkMgZXJyb3IgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19NQU1QQ0UgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDFVKSAgLyohPCBSeCBNQUMgQWRkcmVzcy9QYXlsb2FkIENoZWNrc3VtIEVycm9yOiBSeCBNQUMgYWRkcmVzcyBtYXRjaGVkLyBSeCBQYXlsb2FkIENoZWNrc3VtIEVycm9yICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfT1dOICAgICAgICAgMHg4MDAwMDAwMFUgIC8qITwgT1dOIGJpdDogZGVzY3JpcHRvciBpcyBvd25lZCBieSBETUEgZW5naW5lICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0FGTSAgICAgICAgIDB4NDAwMDAwMDBVICAvKiE8IERBIEZpbHRlciBGYWlsIGZvciB0aGUgcnggZnJhbWUgICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfRkwgICAgICAgICAgMHgzRkZGMDAwMFUgIC8qITwgUmVjZWl2ZSBkZXNjcmlwdG9yIGZyYW1lIGxlbmd0aCAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19FUyAgICAgICAgICAweDAwMDA4MDAwVSAgLyohPCBFcnJvciBzdW1tYXJ5OiBPUiBvZiB0aGUgZm9sbG93aW5nIGJpdHM6IERFIHx8IE9FIHx8IElQQyB8fCBMQyB8fCBSV1QgfHwgUkUgfHwgQ0UgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19ERSAgICAgICAgICAweDAwMDA0MDAwVSAgLyohPCBEZXNjcmlwdG9yIGVycm9yOiBubyBtb3JlIGRlc2NyaXB0b3JzIGZvciByZWNlaXZlIGZyYW1lICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX1NBRiAgICAgICAgIDB4MDAwMDIwMDBVICAvKiE8IFNBIEZpbHRlciBGYWlsIGZvciB0aGUgcmVjZWl2ZWQgZnJhbWUgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19MRSAgICAgICAgICAweDAwMDAxMDAwVSAgLyohPCBGcmFtZSBzaXplIG5vdCBtYXRjaGluZyB3aXRoIGxlbmd0aCBmaWVsZCAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX09FICAgICAgICAgIDB4MDAwMDA4MDBVICAvKiE8IE92ZXJmbG93IEVycm9yOiBGcmFtZSB3YXMgZGFtYWdlZCBkdWUgdG8gYnVmZmVyIG92ZXJmbG93ICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfVkxBTiAgICAgICAgMHgwMDAwMDQwMFUgIC8qITwgVkxBTiBUYWc6IHJlY2VpdmVkIGZyYW1lIGlzIGEgVkxBTiBmcmFtZSAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0ZTICAgICAgICAgIDB4MDAwMDAyMDBVICAvKiE8IEZpcnN0IGRlc2NyaXB0b3Igb2YgdGhlIGZyYW1lICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0xTICAgICAgICAgIDB4MDAwMDAxMDBVICAvKiE8IExhc3QgZGVzY3JpcHRvciBvZiB0aGUgZnJhbWUgICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfSVBWNEhDRSAgICAgMHgwMDAwMDA4MFUgIC8qITwgSVBDIENoZWNrc3VtIEVycm9yOiBSeCBJcHY0IGhlYWRlciBjaGVja3N1bSBlcnJvciAgICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfTEMgICAgICAgICAgMHgwMDAwMDA0MFUgIC8qITwgTGF0ZSBjb2xsaXNpb24gb2NjdXJyZWQgZHVyaW5nIHJlY2VwdGlvbiAgICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfRlQgICAgICAgICAgMHgwMDAwMDAyMFUgIC8qITwgRnJhbWUgdHlwZSAtIEV0aGVybmV0LCBvdGhlcndpc2UgODAyLjMgICAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19SV1QgICAgICAgICAweDAwMDAwMDEwVSAgLyohPCBSZWNlaXZlIFdhdGNoZG9nIFRpbWVvdXQ6IHdhdGNoZG9nIHRpbWVyIGV4cGlyZWQgZHVyaW5nIHJlY2VwdGlvbiAgICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX1JFICAgICAgICAgIDB4MDAwMDAwMDhVICAvKiE8IFJlY2VpdmUgZXJyb3I6IGVycm9yIHJlcG9ydGVkIGJ5IE1JSSBpbnRlcmZhY2UgICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfREJFICAgICAgICAgMHgwMDAwMDAwNFUgIC8qITwgRHJpYmJsZSBiaXQgZXJyb3I6IGZyYW1lIGNvbnRhaW5zIG5vbiBpbnQgbXVsdGlwbGUgb2YgOCBiaXRzICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0NFICAgICAgICAgIDB4MDAwMDAwMDJVICAvKiE8IENSQyBlcnJvciAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX01BTVBDRSAgICAgIDB4MDAwMDAwMDFVICAvKiE8IFJ4IE1BQyBBZGRyZXNzL1BheWxvYWQgQ2hlY2tzdW0gRXJyb3I6IFJ4IE1BQyBhZGRyZXNzIG1hdGNoZWQvIFJ4IFBheWxvYWQgQ2hlY2tzdW0gRXJyb3IgKi8KIAogLyoqCiAgICogQGJyaWVmICBCaXQgZGVmaW5pdGlvbiBvZiBSREVTMSByZWdpc3RlcgogICAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX0RJQyAgICgodWludDMyX3QpMHg4MDAwMDAwMFUpICAvKiE8IERpc2FibGUgSW50ZXJydXB0IG9uIENvbXBsZXRpb24gKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19SQlMyICAoKHVpbnQzMl90KTB4MUZGRjAwMDBVKSAgLyohPCBSZWNlaXZlIEJ1ZmZlcjIgU2l6ZSAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX1JFUiAgICgodWludDMyX3QpMHgwMDAwODAwMFUpICAvKiE8IFJlY2VpdmUgRW5kIG9mIFJpbmcgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19SQ0ggICAoKHVpbnQzMl90KTB4MDAwMDQwMDBVKSAgLyohPCBTZWNvbmQgQWRkcmVzcyBDaGFpbmVkICovCi0jZGVmaW5lIEVUSF9ETUFSWERFU0NfUkJTMSAgKCh1aW50MzJfdCkweDAwMDAxRkZGVSkgIC8qITwgUmVjZWl2ZSBCdWZmZXIxIFNpemUgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19ESUMgICAgICAgICAweDgwMDAwMDAwVSAgLyohPCBEaXNhYmxlIEludGVycnVwdCBvbiBDb21wbGV0aW9uICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfUkJTMiAgICAgICAgMHgxRkZGMDAwMFUgIC8qITwgUmVjZWl2ZSBCdWZmZXIyIFNpemUgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19SRVIgICAgICAgICAweDAwMDA4MDAwVSAgLyohPCBSZWNlaXZlIEVuZCBvZiBSaW5nICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfUkNIICAgICAgICAgMHgwMDAwNDAwMFUgIC8qITwgU2Vjb25kIEFkZHJlc3MgQ2hhaW5lZCAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX1JCUzEgICAgICAgIDB4MDAwMDFGRkZVICAvKiE8IFJlY2VpdmUgQnVmZmVyMSBTaXplICovCiAKIC8qKgogICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgUkRFUzIgcmVnaXN0ZXIKICAgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19CMUFQICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKSAgLyohPCBCdWZmZXIxIEFkZHJlc3MgUG9pbnRlciAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0IxQVAgICAgICAgIDB4RkZGRkZGRkZVICAvKiE8IEJ1ZmZlcjEgQWRkcmVzcyBQb2ludGVyICovCiAKIC8qKgogICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgUkRFUzMgcmVnaXN0ZXIKICAgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19CMkFQICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKSAgLyohPCBCdWZmZXIyIEFkZHJlc3MgUG9pbnRlciAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0IyQVAgICAgICAgIDB4RkZGRkZGRkZVICAvKiE8IEJ1ZmZlcjIgQWRkcmVzcyBQb2ludGVyICovCiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFJERVM0IHwgICAgICAgICAgICAgICAgICAgUmVzZXJ2ZWRbMzE6MTVdICAgICAgICAgICAgICB8ICAgICAgICAgICAgIEV4dGVuZGVkIFN0YXR1cyBbMTQ6MF0gICAgICAgICAgICAgICAgICAgICAgICAgIHwKQEAgLTgyNyw0NyArODI0LDQ3IEBACiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAogLyogQml0IGRlZmluaXRpb24gb2YgUkRFUzQgcmVnaXN0ZXIgKi8KLSNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19QVFBWICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMFUpICAvKiBQVFAgVmVyc2lvbiAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUEZUICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwVSkgIC8qIFBUUCBGcmFtZSBUeXBlICovCi0jZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDBGMDBVKSAgLyogUFRQIE1lc3NhZ2UgVHlwZSAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUE1UX1NZTkMgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwVSkgIC8qIFNZTkMgbWVzc2FnZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhbGwgY2xvY2sgdHlwZXMpICovCi0jZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfRk9MTE9XVVAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDBVKSAgLyogRm9sbG93VXAgbWVzc2FnZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhbGwgY2xvY2sgdHlwZXMpICovCi0jZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfREVMQVlSRVEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAzMDBVKSAgLyogRGVsYXlSZXEgbWVzc2FnZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhbGwgY2xvY2sgdHlwZXMpICovCi0jZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfREVMQVlSRVNQICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDBVKSAgLyogRGVsYXlSZXNwIG1lc3NhZ2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYWxsIGNsb2NrIHR5cGVzKSAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUE1UX1BERUxBWVJFUV9BTk5PVU5DRSAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNTAwVSkgIC8qIFBkZWxheVJlcSBtZXNzYWdlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBlZXItdG8tcGVlciB0cmFuc3BhcmVudCBjbG9jaykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgQW5ub3VuY2UgbWVzc2FnZSAoT3JkaW5hcnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgQm91bmRhcnkgY2xvY2spICovCi0jZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfUERFTEFZUkVTUF9NQU5BRyAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA2MDBVKSAgLyogUGRlbGF5UmVzcCBtZXNzYWdlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBlZXItdG8tcGVlciB0cmFuc3BhcmVudCBjbG9jaykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgTWFuYWdlbWVudCBtZXNzYWdlIChPcmRpbmFyeQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBCb3VuZGFyeSBjbG9jaykgICovCi0jZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfUERFTEFZUkVTUEZPTExPV1VQX1NJR05BTCAoKHVpbnQzMl90KTB4MDAwMDA3MDBVKSAgLyogUGRlbGF5UmVzcEZvbGxvd1VwIG1lc3NhZ2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwZWVyLXRvLXBlZXIgdHJhbnNwYXJlbnQgY2xvY2spCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgU2lnbmFsaW5nIG1lc3NhZ2UgKE9yZGluYXJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgQm91bmRhcnkgY2xvY2spICovCi0jZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBWNlBSICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODBVKSAgLyogSVB2NiBQYWNrZXQgUmVjZWl2ZWQgKi8KLSNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19JUFY0UFIgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MFUpICAvKiBJUHY0IFBhY2tldCBSZWNlaXZlZCAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQQ0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwVSkgIC8qIElQIENoZWNrc3VtIEJ5cGFzc2VkICovCi0jZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTBVKSAgLyogSVAgUGF5bG9hZCBFcnJvciAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQSEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4VSkgIC8qIElQIEhlYWRlciBFcnJvciAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA3VSkgIC8qIElQIFBheWxvYWQgVHlwZSAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQUFRfVURQICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxVSkgIC8qIFVEUCBwYXlsb2FkIGVuY2Fwc3VsYXRlZCBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBJUCBkYXRhZ3JhbSAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQUFRfVENQICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyVSkgIC8qIFRDUCBwYXlsb2FkIGVuY2Fwc3VsYXRlZCBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBJUCBkYXRhZ3JhbSAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQUFRfSUNNUCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAzVSkgIC8qIElDTVAgcGF5bG9hZCBlbmNhcHN1bGF0ZWQgaW4KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19QVFBWICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDIwMDBVICAvKiBQVFAgVmVyc2lvbiAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUEZUICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMTAwMFUgIC8qIFBUUCBGcmFtZSBUeXBlICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVQgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwRjAwVSAgLyogUFRQIE1lc3NhZ2UgVHlwZSAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUE1UX1NZTkMgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDEwMFUgIC8qIFNZTkMgbWVzc2FnZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYWxsIGNsb2NrIHR5cGVzKSAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUE1UX0ZPTExPV1VQICAgICAgICAgICAgICAgICAgMHgwMDAwMDIwMFUgIC8qIEZvbGxvd1VwIG1lc3NhZ2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFsbCBjbG9jayB0eXBlcykgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19QVFBNVF9ERUxBWVJFUSAgICAgICAgICAgICAgICAgIDB4MDAwMDAzMDBVICAvKiBEZWxheVJlcSBtZXNzYWdlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhbGwgY2xvY2sgdHlwZXMpICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfREVMQVlSRVNQICAgICAgICAgICAgICAgICAweDAwMDAwNDAwVSAgLyogRGVsYXlSZXNwIG1lc3NhZ2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFsbCBjbG9jayB0eXBlcykgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19QVFBNVF9QREVMQVlSRVFfQU5OT1VOQ0UgICAgICAgIDB4MDAwMDA1MDBVICAvKiBQZGVsYXlSZXEgbWVzc2FnZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGVlci10by1wZWVyIHRyYW5zcGFyZW50IGNsb2NrKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgQW5ub3VuY2UgbWVzc2FnZSAoT3JkaW5hcnkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIEJvdW5kYXJ5IGNsb2NrKSAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUE1UX1BERUxBWVJFU1BfTUFOQUcgICAgICAgICAgMHgwMDAwMDYwMFUgIC8qIFBkZWxheVJlc3AgbWVzc2FnZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGVlci10by1wZWVyIHRyYW5zcGFyZW50IGNsb2NrKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgTWFuYWdlbWVudCBtZXNzYWdlIChPcmRpbmFyeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgQm91bmRhcnkgY2xvY2spICAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUE1UX1BERUxBWVJFU1BGT0xMT1dVUF9TSUdOQUwgMHgwMDAwMDcwMFUgIC8qIFBkZWxheVJlc3BGb2xsb3dVcCBtZXNzYWdlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBlZXItdG8tcGVlciB0cmFuc3BhcmVudCBjbG9jaykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgU2lnbmFsaW5nIG1lc3NhZ2UgKE9yZGluYXJ5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIEJvdW5kYXJ5IGNsb2NrKSAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQVjZQUiAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDA4MFUgIC8qIElQdjYgUGFja2V0IFJlY2VpdmVkICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBWNFBSICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDQwVSAgLyogSVB2NCBQYWNrZXQgUmVjZWl2ZWQgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19JUENCICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMjBVICAvKiBJUCBDaGVja3N1bSBCeXBhc3NlZCAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAxMFUgIC8qIElQIFBheWxvYWQgRXJyb3IgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19JUEhFICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDhVICAvKiBJUCBIZWFkZXIgRXJyb3IgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19JUFBUICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDdVICAvKiBJUCBQYXlsb2FkIFR5cGUgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19JUFBUX1VEUCAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDFVICAvKiBVRFAgcGF5bG9hZCBlbmNhcHN1bGF0ZWQgaW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIElQIGRhdGFncmFtICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBQVF9UQ1AgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAyVSAgLyogVENQIHBheWxvYWQgZW5jYXBzdWxhdGVkIGluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBJUCBkYXRhZ3JhbSAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQUFRfSUNNUCAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwM1UgIC8qIElDTVAgcGF5bG9hZCBlbmNhcHN1bGF0ZWQgaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgSVAgZGF0YWdyYW0gKi8KIAogLyogQml0IGRlZmluaXRpb24gb2YgUkRFUzYgcmVnaXN0ZXIgKi8KLSNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19SVFNMICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKSAgLyogUmVjZWl2ZSBUaW1lIFN0YW1wIExvdyAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1JUU0wgIDB4RkZGRkZGRkZVICAvKiBSZWNlaXZlIFRpbWUgU3RhbXAgTG93ICovCiAKIC8qIEJpdCBkZWZpbml0aW9uIG9mIFJERVM3IHJlZ2lzdGVyICovCi0jZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUlRTSCAgKCh1aW50MzJfdCkweEZGRkZGRkZGVSkgIC8qIFJlY2VpdmUgVGltZSBTdGFtcCBIaWdoICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUlRTSCAgMHhGRkZGRkZGRlUgIC8qIFJlY2VpdmUgVGltZSBTdGFtcCBIaWdoICovCiAKIC8qKgogICAqIEB9CkBAIC04NzYsMTMgKzg3MywxMyBAQAogLyoqIEBkZWZncm91cCBFVEhfRnJhbWVfc2V0dGluZ3MgRVRIIGZyYW1lIHNldHRpbmdzCiAgICogQHsKICAgKi8KLSNkZWZpbmUgRVRIX01BWF9QQUNLRVRfU0laRSAgICAgICgodWludDMyX3QpMTUyOFUpICAgIC8qITwgRVRIX0hFQURFUiArIDIqVkxBTl9UQUcgKyBNQVhfRVRIX1BBWUxPQUQgKyBFVEhfQ1JDICovCi0jZGVmaW5lIEVUSF9IRUFERVIgICAgICAgICAgICAgICAoKHVpbnQzMl90KTE0VSkgICAgLyohPCA2IGJ5dGUgRGVzdCBhZGRyLCA2IGJ5dGUgU3JjIGFkZHIsIDIgYnl0ZSBsZW5ndGgvdHlwZSAqLwotI2RlZmluZSBFVEhfQ1JDICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCk0VSkgICAgLyohPCBFdGhlcm5ldCBDUkMgKi8KLSNkZWZpbmUgRVRIX1ZMQU5fVEFHICAgICAgICAgICAgICgodWludDMyX3QpNFUpICAgIC8qITwgb3B0aW9uYWwgODAyLjFxIFZMQU4gVGFnICovCi0jZGVmaW5lIEVUSF9NSU5fUEFZTE9BRCAgICAgICAgICAoKHVpbnQzMl90KTQ2VSkgICAgLyohPCBNaW5pbXVtIEV0aGVybmV0IHBheWxvYWQgc2l6ZSAqLwotI2RlZmluZSBFVEhfTUFYX1BBWUxPQUQgICAgICAgICAgKCh1aW50MzJfdCkxNTAwVSkgICAgLyohPCBNYXhpbXVtIEV0aGVybmV0IHBheWxvYWQgc2l6ZSAqLwotI2RlZmluZSBFVEhfSlVNQk9fRlJBTUVfUEFZTE9BRCAgKCh1aW50MzJfdCk5MDAwVSkgICAgLyohPCBKdW1ibyBmcmFtZSBwYXlsb2FkIHNpemUgKi8KKyNkZWZpbmUgRVRIX01BWF9QQUNLRVRfU0laRSAgICAgIDE1MjhVICAgIC8qITwgRVRIX0hFQURFUiArIDIqVkxBTl9UQUcgKyBNQVhfRVRIX1BBWUxPQUQgKyBFVEhfQ1JDICovCisjZGVmaW5lIEVUSF9IRUFERVIgICAgICAgICAgICAgICAxNFUgICAgLyohPCA2IGJ5dGUgRGVzdCBhZGRyLCA2IGJ5dGUgU3JjIGFkZHIsIDIgYnl0ZSBsZW5ndGgvdHlwZSAqLworI2RlZmluZSBFVEhfQ1JDICAgICAgICAgICAgICAgICAgNFUgICAgLyohPCBFdGhlcm5ldCBDUkMgKi8KKyNkZWZpbmUgRVRIX1ZMQU5fVEFHICAgICAgICAgICAgIDRVICAgIC8qITwgb3B0aW9uYWwgODAyLjFxIFZMQU4gVGFnICovCisjZGVmaW5lIEVUSF9NSU5fUEFZTE9BRCAgICAgICAgICA0NlUgICAgLyohPCBNaW5pbXVtIEV0aGVybmV0IHBheWxvYWQgc2l6ZSAqLworI2RlZmluZSBFVEhfTUFYX1BBWUxPQUQgICAgICAgICAgMTUwMFUgICAgLyohPCBNYXhpbXVtIEV0aGVybmV0IHBheWxvYWQgc2l6ZSAqLworI2RlZmluZSBFVEhfSlVNQk9fRlJBTUVfUEFZTE9BRCAgOTAwMFUgICAgLyohPCBKdW1ibyBmcmFtZSBwYXlsb2FkIHNpemUgKi8KIC8qKgogICAqIEB9CiAgICovCkBAIC04OTAsMTQgKzg4NywxNCBAQAogLyoqIEBkZWZncm91cCBFVEhfRXJyb3JfQ29kZSBFVEggRXJyb3IgQ29kZQogICAqIEB7CiAgICovCi0jZGVmaW5lIEhBTF9FVEhfRVJST1JfTk9ORSAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpICAgLyohPCBObyBlcnJvciAgICAgICAgICAgICovCi0jZGVmaW5lIEhBTF9FVEhfRVJST1JfUEFSQU0gICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMVUpICAgLyohPCBCdXN5IGVycm9yICAgICAgICAgICovCi0jZGVmaW5lIEhBTF9FVEhfRVJST1JfQlVTWSAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMlUpICAgLyohPCBQYXJhbWV0ZXIgZXJyb3IgICAgICovCi0jZGVmaW5lIEhBTF9FVEhfRVJST1JfVElNRU9VVCAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNFUpICAgLyohPCBUaW1lb3V0IGVycm9yICAgICAgICovCi0jZGVmaW5lIEhBTF9FVEhfRVJST1JfRE1BICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOFUpICAgLyohPCBETUEgdHJhbnNmZXIgZXJyb3IgICovCi0jZGVmaW5lIEhBTF9FVEhfRVJST1JfTUFDICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMFUpICAgLyohPCBNQUMgdHJhbnNmZXIgZXJyb3IgICovCisjZGVmaW5lIEhBTF9FVEhfRVJST1JfTk9ORSAgICAgICAgICAgICAweDAwMDAwMDAwVSAgIC8qITwgTm8gZXJyb3IgICAgICAgICAgICAqLworI2RlZmluZSBIQUxfRVRIX0VSUk9SX1BBUkFNICAgICAgICAgICAgMHgwMDAwMDAwMVUgICAvKiE8IEJ1c3kgZXJyb3IgICAgICAgICAgKi8KKyNkZWZpbmUgSEFMX0VUSF9FUlJPUl9CVVNZICAgICAgICAgICAgIDB4MDAwMDAwMDJVICAgLyohPCBQYXJhbWV0ZXIgZXJyb3IgICAgICovCisjZGVmaW5lIEhBTF9FVEhfRVJST1JfVElNRU9VVCAgICAgICAgICAweDAwMDAwMDA0VSAgIC8qITwgVGltZW91dCBlcnJvciAgICAgICAqLworI2RlZmluZSBIQUxfRVRIX0VSUk9SX0RNQSAgICAgICAgICAgICAgMHgwMDAwMDAwOFUgICAvKiE8IERNQSB0cmFuc2ZlciBlcnJvciAgKi8KKyNkZWZpbmUgSEFMX0VUSF9FUlJPUl9NQUMgICAgICAgICAgICAgIDB4MDAwMDAwMTBVICAgLyohPCBNQUMgdHJhbnNmZXIgZXJyb3IgICovCiAjaWYgKFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQotI2RlZmluZSBIQUxfRVRIX0VSUk9SX0lOVkFMSURfQ0FMTEJBQ0sgKCh1aW50MzJfdCkweDAwMDAwMDIwVSkgICAgLyohPCBJbnZhbGlkIENhbGxiYWNrIGVycm9yICAqLworI2RlZmluZSBIQUxfRVRIX0VSUk9SX0lOVkFMSURfQ0FMTEJBQ0sgMHgwMDAwMDAyMFUgICAgLyohPCBJbnZhbGlkIENhbGxiYWNrIGVycm9yICAqLwogI2VuZGlmIC8qIFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogLyoqCiAgICogQH0KQEAgLTkwNiwxMiArOTAzLDEyIEBACiAvKiogQGRlZmdyb3VwIEVUSF9UeF9QYWNrZXRfQXR0cmlidXRlcyBFVEggVHggUGFja2V0IEF0dHJpYnV0ZXMKICAgKiBAewogICAqLwotI2RlZmluZSBFVEhfVFhfUEFDS0VUU19GRUFUVVJFU19DU1VNICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMVUpCi0jZGVmaW5lIEVUSF9UWF9QQUNLRVRTX0ZFQVRVUkVTX1NBSUMgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyVSkKLSNkZWZpbmUgRVRIX1RYX1BBQ0tFVFNfRkVBVFVSRVNfVkxBTlRBRyAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDRVKQotI2RlZmluZSBFVEhfVFhfUEFDS0VUU19GRUFUVVJFU19JTk5FUlZMQU5UQUcgICgodWludDMyX3QpMHgwMDAwMDAwOFUpCi0jZGVmaW5lIEVUSF9UWF9QQUNLRVRTX0ZFQVRVUkVTX1RTTyAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwVSkKLSNkZWZpbmUgRVRIX1RYX1BBQ0tFVFNfRkVBVFVSRVNfQ1JDUEFEICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjBVKQorI2RlZmluZSBFVEhfVFhfUEFDS0VUU19GRUFUVVJFU19DU1VNICAgICAgICAgIDB4MDAwMDAwMDFVCisjZGVmaW5lIEVUSF9UWF9QQUNLRVRTX0ZFQVRVUkVTX1NBSUMgICAgICAgICAgMHgwMDAwMDAwMlUKKyNkZWZpbmUgRVRIX1RYX1BBQ0tFVFNfRkVBVFVSRVNfVkxBTlRBRyAgICAgICAweDAwMDAwMDA0VQorI2RlZmluZSBFVEhfVFhfUEFDS0VUU19GRUFUVVJFU19JTk5FUlZMQU5UQUcgIDB4MDAwMDAwMDhVCisjZGVmaW5lIEVUSF9UWF9QQUNLRVRTX0ZFQVRVUkVTX1RTTyAgICAgICAgICAgMHgwMDAwMDAxMFUKKyNkZWZpbmUgRVRIX1RYX1BBQ0tFVFNfRkVBVFVSRVNfQ1JDUEFEICAgICAgICAweDAwMDAwMDIwVQogLyoqCiAgICogQH0KICAgKi8KQEAgLTkzMCw3ICs5MjcsNyBAQAogICAqIEB7CiAgICovCiAjZGVmaW5lIEVUSF9DUkNfUEFEX0RJU0FCTEUgICAgICAodWludDMyX3QpKEVUSF9ETUFUWERFU0NfRFAgfCBFVEhfRE1BVFhERVNDX0RDKQotI2RlZmluZSBFVEhfQ1JDX1BBRF9JTlNFUlQgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKKyNkZWZpbmUgRVRIX0NSQ19QQURfSU5TRVJUICAgICAgIDB4MDAwMDAwMDBVCiAjZGVmaW5lIEVUSF9DUkNfSU5TRVJUICAgICAgICAgICBFVEhfRE1BVFhERVNDX0RQCiAvKioKICAgKiBAfQpAQCAtOTk3LDcgKzk5NCw3IEBACiAgICogQHsKICAgKi8KICNkZWZpbmUgRVRIX0RNQUFSQklUUkFUSU9OX1JYICAgICAgICBFVEhfRE1BTVJfREEKLSNkZWZpbmUgRVRIX0RNQUFSQklUUkFUSU9OX1JYMV9UWDEgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorI2RlZmluZSBFVEhfRE1BQVJCSVRSQVRJT05fUlgxX1RYMSAgIDB4MDAwMDAwMDBVCiAjZGVmaW5lIEVUSF9ETUFBUkJJVFJBVElPTl9SWDJfVFgxICAgRVRIX0RNQU1SX1BSXzJfMQogI2RlZmluZSBFVEhfRE1BQVJCSVRSQVRJT05fUlgzX1RYMSAgIEVUSF9ETUFNUl9QUl8zXzEKICNkZWZpbmUgRVRIX0RNQUFSQklUUkFUSU9OX1JYNF9UWDEgICBFVEhfRE1BTVJfUFJfNF8xCkBAIC0xMDA2LDcgKzEwMDMsNyBAQAogI2RlZmluZSBFVEhfRE1BQVJCSVRSQVRJT05fUlg3X1RYMSAgIEVUSF9ETUFNUl9QUl83XzEKICNkZWZpbmUgRVRIX0RNQUFSQklUUkFUSU9OX1JYOF9UWDEgICBFVEhfRE1BTVJfUFJfOF8xCiAjZGVmaW5lIEVUSF9ETUFBUkJJVFJBVElPTl9UWCAgICAgICAgKEVUSF9ETUFNUl9UWFBSIHwgRVRIX0RNQU1SX0RBKQotI2RlZmluZSBFVEhfRE1BQVJCSVRSQVRJT05fVFgxX1JYMSAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisjZGVmaW5lIEVUSF9ETUFBUkJJVFJBVElPTl9UWDFfUlgxICAgMHgwMDAwMDAwMFUKICNkZWZpbmUgRVRIX0RNQUFSQklUUkFUSU9OX1RYMl9SWDEgICAoRVRIX0RNQU1SX1RYUFIgfCBFVEhfRE1BTVJfUFJfMl8xKQogI2RlZmluZSBFVEhfRE1BQVJCSVRSQVRJT05fVFgzX1JYMSAgIChFVEhfRE1BTVJfVFhQUiB8IEVUSF9ETUFNUl9QUl8zXzEpCiAjZGVmaW5lIEVUSF9ETUFBUkJJVFJBVElPTl9UWDRfUlgxICAgKEVUSF9ETUFNUl9UWFBSIHwgRVRIX0RNQU1SX1BSXzRfMSkKQEAgLTEwMjMsNyArMTAyMCw3IEBACiAgICovCiAjZGVmaW5lIEVUSF9CVVJTVExFTkdUSF9GSVhFRCAgICAgICAgICAgRVRIX0RNQUJNUl9GQgogI2RlZmluZSBFVEhfQlVSU1RMRU5HVEhfTUlYRUQgICAgICAgICAgIEVUSF9ETUFCTVJfTUIKLSNkZWZpbmUgRVRIX0JVUlNUTEVOR1RIX1VOU1BFQ0lGSUVEICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorI2RlZmluZSBFVEhfQlVSU1RMRU5HVEhfVU5TUEVDSUZJRUQgICAgIDB4MDAwMDAwMDBVCiAvKioKICAgKiBAfQogICAqLwpAQCAtMTA4OSwxMiArMTA4NiwxMiBAQAogLyoqIEBkZWZncm91cCBFVEhfRE1BX1N0YXR1c19GbGFncyBFVEggRE1BIFN0YXR1cyBGbGFncwogICAqIEB7CiAgICovCi0jZGVmaW5lIEVUSF9ETUFfUlhfTk9fRVJST1JfRkxBRyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKKyNkZWZpbmUgRVRIX0RNQV9SWF9OT19FUlJPUl9GTEFHICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVQogI2RlZmluZSBFVEhfRE1BX1JYX0RFU0NfUkVBRF9FUlJPUl9GTEFHICAgICAgICAgIChFVEhfRE1BQ1NSX1JFQl9CSVRfMiB8IEVUSF9ETUFDU1JfUkVCX0JJVF8xIHwgRVRIX0RNQUNTUl9SRUJfQklUXzApCiAjZGVmaW5lIEVUSF9ETUFfUlhfREVTQ19XUklURV9FUlJPUl9GTEFHICAgICAgICAgKEVUSF9ETUFDU1JfUkVCX0JJVF8yIHwgRVRIX0RNQUNTUl9SRUJfQklUXzEpCiAjZGVmaW5lIEVUSF9ETUFfUlhfQlVGRkVSX1JFQURfRVJST1JfRkxBRyAgICAgICAgKEVUSF9ETUFDU1JfUkVCX0JJVF8yIHwgRVRIX0RNQUNTUl9SRUJfQklUXzApCiAjZGVmaW5lIEVUSF9ETUFfUlhfQlVGRkVSX1dSSVRFX0VSUk9SX0ZMQUcgICAgICAgIEVUSF9ETUFDU1JfUkVCX0JJVF8yCi0jZGVmaW5lIEVUSF9ETUFfVFhfTk9fRVJST1JfRkxBRyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKKyNkZWZpbmUgRVRIX0RNQV9UWF9OT19FUlJPUl9GTEFHICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVQogI2RlZmluZSBFVEhfRE1BX1RYX0RFU0NfUkVBRF9FUlJPUl9GTEFHICAgICAgICAgIChFVEhfRE1BQ1NSX1RFQl9CSVRfMiB8IEVUSF9ETUFDU1JfVEVCX0JJVF8xIHwgRVRIX0RNQUNTUl9URUJfQklUXzApCiAjZGVmaW5lIEVUSF9ETUFfVFhfREVTQ19XUklURV9FUlJPUl9GTEFHICAgICAgICAgKEVUSF9ETUFDU1JfVEVCX0JJVF8yIHwgRVRIX0RNQUNTUl9URUJfQklUXzEpCiAjZGVmaW5lIEVUSF9ETUFfVFhfQlVGRkVSX1JFQURfRVJST1JfRkxBRyAgICAgICAgKEVUSF9ETUFDU1JfVEVCX0JJVF8yIHwgRVRIX0RNQUNTUl9URUJfQklUXzApCkBAIC0xMTkxLDcgKzExODgsNyBAQAogLyoqIEBkZWZncm91cCBFVEhfU3BlZWQgIEVUSCBTcGVlZAogICAqIEB7CiAgICovCi0jZGVmaW5lIEVUSF9TUEVFRF8xME0gICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisjZGVmaW5lIEVUSF9TUEVFRF8xME0gICAgICAgIDB4MDAwMDAwMDBVCiAjZGVmaW5lIEVUSF9TUEVFRF8xMDBNICAgICAgIDB4MDAwMDQwMDBVCiAvKioKICAgKiBAfQpAQCAtMTIwMSw3ICsxMTk4LDcgQEAKICAgKiBAewogICAqLwogI2RlZmluZSBFVEhfRlVMTERVUExFWF9NT0RFICAgICAgIEVUSF9NQUNDUl9ETQotI2RlZmluZSBFVEhfSEFMRkRVUExFWF9NT0RFICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisjZGVmaW5lIEVUSF9IQUxGRFVQTEVYX01PREUgICAgICAgMHgwMDAwMDAwMFUKIC8qKgogICAqIEB9CiAgICovCkBAIC0xMjMwLDcgKzEyMjcsNyBAQAogLyoqIEBkZWZncm91cCBFVEhfU291cmNlX0FkZHJfQ29udHJvbCBFVEggU291cmNlIEFkZHIgQ29udHJvbAogICAqIEB7CiAgICovCi0jZGVmaW5lIEVUSF9TT1VSQ0VBRERSRVNTX0RJU0FCTEUgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCisjZGVmaW5lIEVUSF9TT1VSQ0VBRERSRVNTX0RJU0FCTEUgICAgICAgICAgIDB4MDAwMDAwMDBVCiAjZGVmaW5lIEVUSF9TT1VSQ0VBRERSRVNTX0lOU0VSVF9BRERSMCAgICAgIEVUSF9NQUNDUl9TQVJDX0lOU0FERFIwCiAjZGVmaW5lIEVUSF9TT1VSQ0VBRERSRVNTX0lOU0VSVF9BRERSMSAgICAgIEVUSF9NQUNDUl9TQVJDX0lOU0FERFIxCiAjZGVmaW5lIEVUSF9TT1VSQ0VBRERSRVNTX1JFUExBQ0VfQUREUjAgICAgIEVUSF9NQUNDUl9TQVJDX1JFUEFERFIwCkBAIC0xMjYyLDEwICsxMjU5LDEwIEBACiAvKiogQGRlZmdyb3VwIEVUSF9NQUNfYWRkcmVzc2VzIEVUSCBNQUMgYWRkcmVzc2VzCiAgICogQHsKICAgKi8KLSNkZWZpbmUgRVRIX01BQ19BRERSRVNTMCAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKLSNkZWZpbmUgRVRIX01BQ19BRERSRVNTMSAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4VSkKLSNkZWZpbmUgRVRIX01BQ19BRERSRVNTMiAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwVSkKLSNkZWZpbmUgRVRIX01BQ19BRERSRVNTMyAgICAgKCh1aW50MzJfdCkweDAwMDAwMDE4VSkKKyNkZWZpbmUgRVRIX01BQ19BRERSRVNTMCAgICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgRVRIX01BQ19BRERSRVNTMSAgICAgMHgwMDAwMDAwOFUKKyNkZWZpbmUgRVRIX01BQ19BRERSRVNTMiAgICAgMHgwMDAwMDAxMFUKKyNkZWZpbmUgRVRIX01BQ19BRERSRVNTMyAgICAgMHgwMDAwMDAxOFUKIC8qKgogICAqIEB9CiAgICovCkBAIC0xMzA0LDExICsxMzAxLDExIEBACiAvKiogQGRlZmdyb3VwIEhBTF9FVEhfU3RhdGVUeXBlRGVmIEVUSCBTdGF0ZXMKICAgKiBAewogICAqLwotI2RlZmluZSBIQUxfRVRIX1NUQVRFX1JFU0VUICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpICAgIC8qITwgUGVyaXBoZXJhbCBub3QgeWV0IEluaXRpYWxpemVkIG9yIGRpc2FibGVkICovCi0jZGVmaW5lIEhBTF9FVEhfU1RBVEVfUkVBRFkgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwVSkgICAgLyohPCBQZXJpcGhlcmFsIENvbW11bmljYXRpb24gc3RhcnRlZCAgICAgICAgICAgKi8KLSNkZWZpbmUgSEFMX0VUSF9TVEFURV9CVVNZICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjNVKSAgICAvKiE8IGFuIGludGVybmFsIHByb2Nlc3MgaXMgb25nb2luZyAgICAgICAgICAgICAqLwotI2RlZmluZSBIQUxfRVRIX1NUQVRFX1NUQVJURUQgICAgICgodWludDMyX3QpMHgwMDAwMDAyM1UpICAgIC8qITwgYW4gaW50ZXJuYWwgcHJvY2VzcyBpcyBzdGFydGVkICAgICAgICAgICAgICovCi0jZGVmaW5lIEhBTF9FVEhfU1RBVEVfRVJST1IgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMEUwVSkgICAgLyohPCBFcnJvciBTdGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgSEFMX0VUSF9TVEFURV9SRVNFVCAgICAgICAweDAwMDAwMDAwVSAgICAvKiE8IFBlcmlwaGVyYWwgbm90IHlldCBJbml0aWFsaXplZCBvciBkaXNhYmxlZCAqLworI2RlZmluZSBIQUxfRVRIX1NUQVRFX1JFQURZICAgICAgIDB4MDAwMDAwMTBVICAgIC8qITwgUGVyaXBoZXJhbCBDb21tdW5pY2F0aW9uIHN0YXJ0ZWQgICAgICAgICAgICovCisjZGVmaW5lIEhBTF9FVEhfU1RBVEVfQlVTWSAgICAgICAgMHgwMDAwMDAyM1UgICAgLyohPCBhbiBpbnRlcm5hbCBwcm9jZXNzIGlzIG9uZ29pbmcgICAgICAgICAgICAgKi8KKyNkZWZpbmUgSEFMX0VUSF9TVEFURV9TVEFSVEVEICAgICAweDAwMDAwMDIzVSAgICAvKiE8IGFuIGludGVybmFsIHByb2Nlc3MgaXMgc3RhcnRlZCAgICAgICAgICAgICAqLworI2RlZmluZSBIQUxfRVRIX1NUQVRFX0VSUk9SICAgICAgIDB4MDAwMDAwRTBVICAgIC8qITwgRXJyb3IgU3RhdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAvKioKICAgKiBAfQogICAqLwpAQCAtMTM0NCw3ICsxMzQxLDcgQEAKICAgKiBAewogICAqLwogI2RlZmluZSBFVEhfTUVESUFfSU5URVJGQUNFX01JSSAgICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBFVEhfTUVESUFfSU5URVJGQUNFX1JNSUkgICAgICAoKHVpbnQzMl90KVNZU0NGR19QTUNfTUlJX1JNSUlfU0VMKQorI2RlZmluZSBFVEhfTUVESUFfSU5URVJGQUNFX1JNSUkgICAgICAoU1lTQ0ZHX1BNQ19NSUlfUk1JSV9TRUwpCiAvKioKICAgKiBAfQogICAqLwpAQCAtMTgwNSw4ICsxODAyLDggQEAKIC8qKiBAZGVmZ3JvdXAgRVRIX1BUUF9Db25maWdfU3RhdHVzIEVUSCBQVFAgQ29uZmlnIFN0YXR1cwogICAqIEB7CiAgICovCi0jZGVmaW5lIEhBTF9FVEhfUFRQX05PVF9DT05GSUdVUkFURUQgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkgICAgLyohPCBFVEggUFRQIENvbmZpZ3VyYXRpb24gbm90IGRvbmUgKi8KLSNkZWZpbmUgSEFMX0VUSF9QVFBfQ09ORklHVVJBVEVEICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDFVKSAgICAvKiE8IEVUSCBQVFAgQ29uZmlndXJhdGlvbiBkb25lICAgICAqLworI2RlZmluZSBIQUxfRVRIX1BUUF9OT1RfQ09ORklHVVJBVEVEICAgICAgICAweDAwMDAwMDAwVSAgICAvKiE8IEVUSCBQVFAgQ29uZmlndXJhdGlvbiBub3QgZG9uZSAqLworI2RlZmluZSBIQUxfRVRIX1BUUF9DT05GSUdVUkFURUQgICAgICAgICAgICAweDAwMDAwMDAxVSAgICAvKiE8IEVUSCBQVFAgQ29uZmlndXJhdGlvbiBkb25lICAgICAqLwogLyoqCiAgICogQH0KICAgKi8KQEAgLTE5MjgsNyArMTkyNSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBfX0lOVEVSUlVQVF9fKSkgPT0gKCBfX0lOVEVSUlVQVF9fKSkKIAogLyohPCBFeHRlcm5hbCBpbnRlcnJ1cHQgbGluZSAxOSBDb25uZWN0ZWQgdG8gdGhlIEVUSCB3YWtldXAgRVhUSSBMaW5lICovCi0jZGVmaW5lIEVUSF9XQUtFVVBfRVhUSV9MSU5FICAoKHVpbnQzMl90KTB4MDAwODAwMDBVKQorI2RlZmluZSBFVEhfV0FLRVVQX0VYVElfTElORSAgMHgwMDA4MDAwMFUKIAogLyoqCiAgICogQGJyaWVmIEVuYWJsZSB0aGUgRVRIIFdBS0VVUCBFeHRpIExpbmUuCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmN3h4X2hhbF9oY2QuaCBiL0luYy9zdG0zMmY3eHhfaGFsX2hjZC5oCmluZGV4IDQzM2E4MDguLjUxNzc0ODIgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY3eHhfaGFsX2hjZC5oCisrKyBiL0luYy9zdG0zMmY3eHhfaGFsX2hjZC5oCkBAIC0xNTksNiArMTU5LDEwIEBACiAKICNkZWZpbmUgX19IQUxfSENEX0dFVF9GTEFHKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAgKChVU0JfUmVhZEludGVycnVwdHMoKF9fSEFORExFX18pLT5JbnN0YW5jZSlcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiAoX19JTlRFUlJVUFRfXykpID09IChfX0lOVEVSUlVQVF9fKSkKKworI2RlZmluZSBfX0hBTF9IQ0RfR0VUX0NIX0ZMQUcoX19IQU5ETEVfXywgX19jaG51bV9fLCBfX0lOVEVSUlVQVF9fKSBcCisgICgoVVNCX1JlYWRDaEludGVycnVwdHMoKF9fSEFORExFX18pLT5JbnN0YW5jZSwgKF9fY2hudW1fXykpICYgKF9fSU5URVJSVVBUX18pKSA9PSAoX19JTlRFUlJVUFRfXykpCisKICNkZWZpbmUgX19IQUxfSENEX0NMRUFSX0ZMQUcoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5HSU5UU1RTKSA9IChfX0lOVEVSUlVQVF9fKSkKICNkZWZpbmUgX19IQUxfSENEX0lTX0lOVkFMSURfSU5URVJSVVBUKF9fSEFORExFX18pICAgICAgICAgKFVTQl9SZWFkSW50ZXJydXB0cygoX19IQU5ETEVfXyktPkluc3RhbmNlKSA9PSAwVSkKIApkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjd4eF9oYWxfaTJjLmggYi9JbmMvc3RtMzJmN3h4X2hhbF9pMmMuaAppbmRleCBmOGU2N2Q2Li5kZDYxZTc1IDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmN3h4X2hhbF9pMmMuaAorKysgYi9JbmMvc3RtMzJmN3h4X2hhbF9pMmMuaApAQCAtMjE3LDYgKzIxNywxMCBAQAogCiAgIF9fSU8gdWludDMyX3QgICAgICAgICAgICAgIEFkZHJFdmVudENvdW50OyAvKiE8IEkyQyBBZGRyZXNzIEV2ZW50IGNvdW50ZXIgICAgICAgICAgICAgICAgICovCiAKKyAgX19JTyB1aW50MzJfdCAgICAgICAgICAgICAgRGV2YWRkcmVzczsgICAgIC8qITwgSTJDIFRhcmdldCBkZXZpY2UgYWRkcmVzcyAgICAgICAgICAgICAgICAgKi8KKworICBfX0lPIHVpbnQzMl90ICAgICAgICAgICAgICBNZW1hZGRyZXNzOyAgICAgLyohPCBJMkMgVGFyZ2V0IG1lbW9yeSBhZGRyZXNzICAgICAgICAgICAgICAgICAqLworCiAjaWYgKFVTRV9IQUxfSTJDX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQogICB2b2lkICgqIE1hc3RlclR4Q3BsdENhbGxiYWNrKShzdHJ1Y3QgX19JMkNfSGFuZGxlVHlwZURlZiAqaGkyYyk7CiAgIC8qITwgSTJDIE1hc3RlciBUeCBUcmFuc2ZlciBjb21wbGV0ZWQgY2FsbGJhY2sgKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY3eHhfaGFsX2lyZGEuaCBiL0luYy9zdG0zMmY3eHhfaGFsX2lyZGEuaAppbmRleCBmZTdiNTY1Li43MmJlMDdjIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmN3h4X2hhbF9pcmRhLmgKKysrIGIvSW5jL3N0bTMyZjd4eF9oYWxfaXJkYS5oCkBAIC0zNjEsNiArMzYxLDkgQEAKICAgKiAgICAgICAgICAgLSAweFhYWFggIDogRmxhZyBtYXNrIGluIHRoZSBJU1IgcmVnaXN0ZXIKICAgKiBAewogICAqLworI2lmIGRlZmluZWQoVVNBUlRfSVNSX1JFQUNLKQorI2RlZmluZSBJUkRBX0ZMQUdfUkVBQ0sgICAgICAgICAgICAgICAgICAgICBVU0FSVF9JU1JfUkVBQ0sgICAgICAgICAvKiE8IElSREEgcmVjZWl2ZSBlbmFibGUgYWNrbm93bGVkZ2UgZmxhZyAgICAgICovCisjZW5kaWYgLyogVVNBUlRfSVNSX1JFQUNLICovCiAjZGVmaW5lIElSREFfRkxBR19URUFDSyAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0lTUl9URUFDSyAgICAgICAgIC8qITwgSVJEQSB0cmFuc21pdCBlbmFibGUgYWNrbm93bGVkZ2UgZmxhZyAgICAgKi8KICNkZWZpbmUgSVJEQV9GTEFHX0JVU1kgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfSVNSX0JVU1kgICAgICAgICAgLyohPCBJUkRBIGJ1c3kgZmxhZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogI2RlZmluZSBJUkRBX0ZMQUdfQUJSRiAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9JU1JfQUJSRiAgICAgICAgICAvKiE8IElSREEgYXV0byBCYXVkIHJhdGUgZmxhZyAgICAgICAgICAgICAgICAgICovCkBAIC01MjAsNiArNTIzLDkgQEAKICAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBJUkRBIEhhbmRsZS4KICAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgZmxhZyB0byBjaGVjay4KICAgKiAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKKyNpZiBkZWZpbmVkKFVTQVJUX0lTUl9SRUFDSykKKyAgKiAgICAgICAgICAgIEBhcmcgQHJlZiBJUkRBX0ZMQUdfUkVBQ0sgUmVjZWl2ZSBlbmFibGUgYWNrbm93bGVkZ2UgZmxhZworI2VuZGlmCiAgICogICAgICAgICAgICBAYXJnIEByZWYgSVJEQV9GTEFHX1RFQUNLIFRyYW5zbWl0IGVuYWJsZSBhY2tub3dsZWRnZSBmbGFnCiAgICogICAgICAgICAgICBAYXJnIEByZWYgSVJEQV9GTEFHX0JVU1kgIEJ1c3kgZmxhZwogICAqICAgICAgICAgICAgQGFyZyBAcmVmIElSREFfRkxBR19BQlJGICBBdXRvIEJhdWQgcmF0ZSBkZXRlY3Rpb24gZmxhZwpAQCAtODI0LDggKzgzMCw4IEBACiAgICovCiAKIC8qIFBlcmlwaGVyYWwgU3RhdGUgYW5kIEVycm9yIGZ1bmN0aW9ucyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1IQUxfSVJEQV9TdGF0ZVR5cGVEZWYgSEFMX0lSREFfR2V0U3RhdGUoSVJEQV9IYW5kbGVUeXBlRGVmICpoaXJkYSk7Ci11aW50MzJfdCAgICAgICAgICAgICAgSEFMX0lSREFfR2V0RXJyb3IoSVJEQV9IYW5kbGVUeXBlRGVmICpoaXJkYSk7CitIQUxfSVJEQV9TdGF0ZVR5cGVEZWYgSEFMX0lSREFfR2V0U3RhdGUoY29uc3QgSVJEQV9IYW5kbGVUeXBlRGVmICpoaXJkYSk7Cit1aW50MzJfdCAgICAgICAgICAgICAgSEFMX0lSREFfR2V0RXJyb3IoY29uc3QgSVJEQV9IYW5kbGVUeXBlRGVmICpoaXJkYSk7CiAKIC8qKgogICAqIEB9CmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmN3h4X2hhbF9scHRpbS5oIGIvSW5jL3N0bTMyZjd4eF9oYWxfbHB0aW0uaAppbmRleCBjYmVhZjJjLi4wZTQ5YmNkIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmN3h4X2hhbF9scHRpbS5oCisrKyBiL0luYy9zdG0zMmY3eHhfaGFsX2xwdGltLmgKQEAgLTc5MywxMSArNzkzLDEzIEBACiAjZGVmaW5lIElTX0xQVElNX0NPVU5URVJfU09VUkNFKF9fU09VUkNFX18pICAgICAoKChfX1NPVVJDRV9fKSA9PSBMUFRJTV9DT1VOVEVSU09VUkNFX0lOVEVSTkFMKSB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1NPVVJDRV9fKSA9PSBMUFRJTV9DT1VOVEVSU09VUkNFX0VYVEVSTkFMKSkKIAotI2RlZmluZSBJU19MUFRJTV9BVVRPUkVMT0FEKF9fQVVUT1JFTE9BRF9fKSAgICAgKChfX0FVVE9SRUxPQURfXykgPD0gMHgwMDAwRkZGRlVMKQorI2RlZmluZSBJU19MUFRJTV9BVVRPUkVMT0FEKF9fQVVUT1JFTE9BRF9fKSAgICAgKCgweDAwMDAwMDAxVUwgPD0gKF9fQVVUT1JFTE9BRF9fKSkgJiZcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0FVVE9SRUxPQURfXykgPD0gMHgwMDAwRkZGRlVMKSkKIAogI2RlZmluZSBJU19MUFRJTV9DT01QQVJFKF9fQ09NUEFSRV9fKSAgICAgICAgICAgKChfX0NPTVBBUkVfXykgPD0gMHgwMDAwRkZGRlVMKQogCi0jZGVmaW5lIElTX0xQVElNX1BFUklPRChfX1BFUklPRF9fKSAgICAgICAgICAgICAoKF9fUEVSSU9EX18pIDw9IDB4MDAwMEZGRkZVTCkKKyNkZWZpbmUgSVNfTFBUSU1fUEVSSU9EKF9fUEVSSU9EX18pICAgICAgICAgICAgICgoMHgwMDAwMDAwMVVMIDw9IChfX1BFUklPRF9fKSkgJiZcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1BFUklPRF9fKSA8PSAweDAwMDBGRkZGVUwpKQogCiAjZGVmaW5lIElTX0xQVElNX1BVTFNFKF9fUFVMU0VfXykgICAgICAgICAgICAgICAoKF9fUFVMU0VfXykgPD0gMHgwMDAwRkZGRlVMKQogCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmN3h4X2hhbF9wY2QuaCBiL0luYy9zdG0zMmY3eHhfaGFsX3BjZC5oCmluZGV4IDk1NzJmZTEuLjc5MTM2ZjAgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY3eHhfaGFsX3BjZC5oCisrKyBiL0luYy9zdG0zMmY3eHhfaGFsX3BjZC5oCkBAIC0xMDYsNiArMTA2LDcgQEAKICAgdWludDMyX3QgICAgICAgICAgICAgICAgU2V0dXBbMTJdOyAgIC8qITwgU2V0dXAgcGFja2V0IGJ1ZmZlciAgICAgICAgICAgICAgICovCiAgIFBDRF9MUE1fU3RhdGVUeXBlRGVmICAgIExQTV9TdGF0ZTsgICAvKiE8IExQTSBTdGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAqLwogICB1aW50MzJfdCAgICAgICAgICAgICAgICBCRVNMOworICB1aW50MzJfdCAgICAgICAgICAgICAgICBGcmFtZU51bWJlcjsgLyohPCBTdG9yZSBDdXJyZW50IEZyYW1lIG51bWJlciAgICAgICAgKi8KIAogCiAgIHVpbnQzMl90IGxwbV9hY3RpdmU7ICAgICAgICAgICAgICAgICAvKiE8IEVuYWJsZSBvciBkaXNhYmxlIHRoZSBMaW5rIFBvd2VyIE1hbmFnZW1lbnQgLgpAQCAtMjg0LDEyICsyODUsMTAgQEAKICAgKiBAfQogICAqLwogCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUENEX1JlZ2lzdGVyQ2FsbGJhY2soUENEX0hhbmRsZVR5cGVEZWYgKmhwY2QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1BDRF9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lELAorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1BDRF9SZWdpc3RlckNhbGxiYWNrKFBDRF9IYW5kbGVUeXBlRGVmICpocGNkLCBIQUxfUENEX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcFBDRF9DYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKTsKIAotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1BDRF9VblJlZ2lzdGVyQ2FsbGJhY2soUENEX0hhbmRsZVR5cGVEZWYgKmhwY2QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfUENEX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1BDRF9VblJlZ2lzdGVyQ2FsbGJhY2soUENEX0hhbmRsZVR5cGVEZWYgKmhwY2QsIEhBTF9QQ0RfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJRCk7CiAKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0RfUmVnaXN0ZXJEYXRhT3V0U3RhZ2VDYWxsYmFjayhQQ0RfSGFuZGxlVHlwZURlZiAqaHBjZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwUENEX0RhdGFPdXRTdGFnZUNhbGxiYWNrVHlwZURlZiBwQ2FsbGJhY2spOwpAQCAtMzExLDkgKzMxMCw3IEBACiAKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0RfVW5SZWdpc3Rlcklzb0luSW5jcGx0Q2FsbGJhY2soUENEX0hhbmRsZVR5cGVEZWYgKmhwY2QpOwogCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUENEX1JlZ2lzdGVyTHBtQ2FsbGJhY2soUENEX0hhbmRsZVR5cGVEZWYgKmhwY2QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcFBDRF9McG1DYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKTsKLQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1BDRF9SZWdpc3RlckxwbUNhbGxiYWNrKFBDRF9IYW5kbGVUeXBlRGVmICpocGNkLCBwUENEX0xwbUNhbGxiYWNrVHlwZURlZiBwQ2FsbGJhY2spOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1BDRF9VblJlZ2lzdGVyTHBtQ2FsbGJhY2soUENEX0hhbmRsZVR5cGVEZWYgKmhwY2QpOwogI2VuZGlmIC8qIFVTRV9IQUxfUENEX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogLyoqCkBAIC0zNTMsMTkgKzM1MCwxNCBAQAogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1BDRF9EZXZDb25uZWN0KFBDRF9IYW5kbGVUeXBlRGVmICpocGNkKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0RfRGV2RGlzY29ubmVjdChQQ0RfSGFuZGxlVHlwZURlZiAqaHBjZCk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUENEX1NldEFkZHJlc3MoUENEX0hhbmRsZVR5cGVEZWYgKmhwY2QsIHVpbnQ4X3QgYWRkcmVzcyk7Ci1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUENEX0VQX09wZW4oUENEX0hhbmRsZVR5cGVEZWYgKmhwY2QsIHVpbnQ4X3QgZXBfYWRkciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBlcF9tcHMsIHVpbnQ4X3QgZXBfdHlwZSk7Ci0KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0RfRVBfT3BlbihQQ0RfSGFuZGxlVHlwZURlZiAqaHBjZCwgdWludDhfdCBlcF9hZGRyLCB1aW50MTZfdCBlcF9tcHMsIHVpbnQ4X3QgZXBfdHlwZSk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUENEX0VQX0Nsb3NlKFBDRF9IYW5kbGVUeXBlRGVmICpocGNkLCB1aW50OF90IGVwX2FkZHIpOwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1BDRF9FUF9SZWNlaXZlKFBDRF9IYW5kbGVUeXBlRGVmICpocGNkLCB1aW50OF90IGVwX2FkZHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqcEJ1ZiwgdWludDMyX3QgbGVuKTsKLQotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1BDRF9FUF9UcmFuc21pdChQQ0RfSGFuZGxlVHlwZURlZiAqaHBjZCwgdWludDhfdCBlcF9hZGRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpwQnVmLCB1aW50MzJfdCBsZW4pOwotCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUENEX0VQX1JlY2VpdmUoUENEX0hhbmRsZVR5cGVEZWYgKmhwY2QsIHVpbnQ4X3QgZXBfYWRkciwgdWludDhfdCAqcEJ1ZiwgdWludDMyX3QgbGVuKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0RfRVBfVHJhbnNtaXQoUENEX0hhbmRsZVR5cGVEZWYgKmhwY2QsIHVpbnQ4X3QgZXBfYWRkciwgdWludDhfdCAqcEJ1ZiwgdWludDMyX3QgbGVuKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0RfRVBfU2V0U3RhbGwoUENEX0hhbmRsZVR5cGVEZWYgKmhwY2QsIHVpbnQ4X3QgZXBfYWRkcik7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUENEX0VQX0NsclN0YWxsKFBDRF9IYW5kbGVUeXBlRGVmICpocGNkLCB1aW50OF90IGVwX2FkZHIpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1BDRF9FUF9GbHVzaChQQ0RfSGFuZGxlVHlwZURlZiAqaHBjZCwgdWludDhfdCBlcF9hZGRyKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0RfRVBfQWJvcnQoUENEX0hhbmRsZVR5cGVEZWYgKmhwY2QsIHVpbnQ4X3QgZXBfYWRkcik7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUENEX0FjdGl2YXRlUmVtb3RlV2FrZXVwKFBDRF9IYW5kbGVUeXBlRGVmICpocGNkKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0RfRGVBY3RpdmF0ZVJlbW90ZVdha2V1cChQQ0RfSGFuZGxlVHlwZURlZiAqaHBjZCk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUENEX1NldFRlc3RNb2RlKFBDRF9IYW5kbGVUeXBlRGVmICpocGNkLCB1aW50OF90IHRlc3Rtb2RlKTsKZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY3eHhfaGFsX3FzcGkuaCBiL0luYy9zdG0zMmY3eHhfaGFsX3FzcGkuaAppbmRleCBlMGRiZjljLi4zYzkwYWQzIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmN3h4X2hhbF9xc3BpLmgKKysrIGIvSW5jL3N0bTMyZjd4eF9oYWxfcXNwaS5oCkBAIC00NTYsNyArNDU2LDcgQEAKICAgKiBAewogICAqLwogLyoqIEBicmllZiBSZXNldCBRU1BJIGhhbmRsZSBzdGF0ZS4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gOiBRU1BJIGhhbmRsZS4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gUVNQSSBoYW5kbGUuCiAgICogQHJldHZhbCBOb25lCiAgICovCiAjaWYgKFVTRV9IQUxfUVNQSV9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKQEAgLTQ3MCwyMCArNDcwLDIwIEBACiAjZW5kaWYKIAogLyoqIEBicmllZiAgRW5hYmxlIHRoZSBRU1BJIHBlcmlwaGVyYWwuCi0gICogQHBhcmFtICBfX0hBTkRMRV9fIDogc3BlY2lmaWVzIHRoZSBRU1BJIEhhbmRsZS4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBRU1BJIEhhbmRsZS4KICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KICNkZWZpbmUgX19IQUxfUVNQSV9FTkFCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgICAgIFNFVF9CSVQoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IsIFFVQURTUElfQ1JfRU4pCiAKIC8qKiBAYnJpZWYgIERpc2FibGUgdGhlIFFTUEkgcGVyaXBoZXJhbC4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gOiBzcGVjaWZpZXMgdGhlIFFTUEkgSGFuZGxlLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFFTUEkgSGFuZGxlLgogICAqIEByZXR2YWwgTm9uZQogICAqLwogI2RlZmluZSBfX0hBTF9RU1BJX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgICAgQ0xFQVJfQklUKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSLCBRVUFEU1BJX0NSX0VOKQogCiAvKiogQGJyaWVmICBFbmFibGUgdGhlIHNwZWNpZmllZCBRU1BJIGludGVycnVwdC4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gOiBzcGVjaWZpZXMgdGhlIFFTUEkgSGFuZGxlLgotICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyA6IHNwZWNpZmllcyB0aGUgUVNQSSBpbnRlcnJ1cHQgc291cmNlIHRvIGVuYWJsZS4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBRU1BJIEhhbmRsZS4KKyAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBRU1BJIGludGVycnVwdCBzb3VyY2UgdG8gZW5hYmxlLgogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICBAYXJnIFFTUElfSVRfVE86IFFTUEkgVGltZW91dCBpbnRlcnJ1cHQKICAgKiAgICAgICAgICAgIEBhcmcgUVNQSV9JVF9TTTogUVNQSSBTdGF0dXMgbWF0Y2ggaW50ZXJydXB0CkBAIC00OTYsOCArNDk2LDggQEAKIAogCiAvKiogQGJyaWVmICBEaXNhYmxlIHRoZSBzcGVjaWZpZWQgUVNQSSBpbnRlcnJ1cHQuCi0gICogQHBhcmFtICBfX0hBTkRMRV9fIDogc3BlY2lmaWVzIHRoZSBRU1BJIEhhbmRsZS4KLSAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gOiBzcGVjaWZpZXMgdGhlIFFTUEkgaW50ZXJydXB0IHNvdXJjZSB0byBkaXNhYmxlLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFFTUEkgSGFuZGxlLgorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIFFTUEkgaW50ZXJydXB0IHNvdXJjZSB0byBkaXNhYmxlLgogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICBAYXJnIFFTUElfSVRfVE86IFFTUEkgVGltZW91dCBpbnRlcnJ1cHQKICAgKiAgICAgICAgICAgIEBhcmcgUVNQSV9JVF9TTTogUVNQSSBTdGF0dXMgbWF0Y2ggaW50ZXJydXB0CkBAIC01MDksOCArNTA5LDggQEAKICNkZWZpbmUgX19IQUxfUVNQSV9ESVNBQkxFX0lUKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgIENMRUFSX0JJVCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5DUiwgKF9fSU5URVJSVVBUX18pKQogCiAvKiogQGJyaWVmICBDaGVjayB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgUVNQSSBpbnRlcnJ1cHQgc291cmNlIGlzIGVuYWJsZWQgb3Igbm90LgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyA6IHNwZWNpZmllcyB0aGUgUVNQSSBIYW5kbGUuCi0gICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIDogc3BlY2lmaWVzIHRoZSBRU1BJIGludGVycnVwdCBzb3VyY2UgdG8gY2hlY2suCisgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUVNQSSBIYW5kbGUuCisgICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIHNwZWNpZmllcyB0aGUgUVNQSSBpbnRlcnJ1cHQgc291cmNlIHRvIGNoZWNrLgogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICBAYXJnIFFTUElfSVRfVE86IFFTUEkgVGltZW91dCBpbnRlcnJ1cHQKICAgKiAgICAgICAgICAgIEBhcmcgUVNQSV9JVF9TTTogUVNQSSBTdGF0dXMgbWF0Y2ggaW50ZXJydXB0CkBAIC01MjMsOCArNTIzLDggQEAKIAogLyoqCiAgICogQGJyaWVmICBDaGVjayB3aGV0aGVyIHRoZSBzZWxlY3RlZCBRU1BJIGZsYWcgaXMgc2V0IG9yIG5vdC4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gOiBzcGVjaWZpZXMgdGhlIFFTUEkgSGFuZGxlLgotICAqIEBwYXJhbSAgX19GTEFHX18gOiBzcGVjaWZpZXMgdGhlIFFTUEkgZmxhZyB0byBjaGVjay4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBRU1BJIEhhbmRsZS4KKyAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgUVNQSSBmbGFnIHRvIGNoZWNrLgogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICBAYXJnIFFTUElfRkxBR19CVVNZOiBRU1BJIEJ1c3kgZmxhZwogICAqICAgICAgICAgICAgQGFyZyBRU1BJX0ZMQUdfVE86ICAgUVNQSSBUaW1lb3V0IGZsYWcKQEAgLTUzNyw4ICs1MzcsOCBAQAogI2RlZmluZSBfX0hBTF9RU1BJX0dFVF9GTEFHKF9fSEFORExFX18sIF9fRkxBR19fKSAgICAgICAgICAgKChSRUFEX0JJVCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5TUiwgKF9fRkxBR19fKSkgIT0gMFUpID8gU0VUIDogUkVTRVQpCiAKIC8qKiBAYnJpZWYgIENsZWFycyB0aGUgc3BlY2lmaWVkIFFTUEkncyBmbGFnIHN0YXR1cy4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gOiBzcGVjaWZpZXMgdGhlIFFTUEkgSGFuZGxlLgotICAqIEBwYXJhbSAgX19GTEFHX18gOiBzcGVjaWZpZXMgdGhlIFFTUEkgY2xlYXIgcmVnaXN0ZXIgZmxhZyB0aGF0IG5lZWRzIHRvIGJlIHNldAorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFFTUEkgSGFuZGxlLgorICAqIEBwYXJhbSAgX19GTEFHX18gc3BlY2lmaWVzIHRoZSBRU1BJIGNsZWFyIHJlZ2lzdGVyIGZsYWcgdGhhdCBuZWVkcyB0byBiZSBzZXQKICAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgogICAqICAgICAgICAgICAgQGFyZyBRU1BJX0ZMQUdfVE86IFFTUEkgVGltZW91dCBmbGFnCiAgICogICAgICAgICAgICBAYXJnIFFTUElfRkxBR19TTTogUVNQSSBTdGF0dXMgbWF0Y2ggZmxhZwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjd4eF9oYWxfcnRjLmggYi9JbmMvc3RtMzJmN3h4X2hhbF9ydGMuaAppbmRleCA1Y2QzZDE5Li4yOWNiMzZiIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmN3h4X2hhbF9ydGMuaAorKysgYi9JbmMvc3RtMzJmN3h4X2hhbF9ydGMuaApAQCAtMTcsMTQgKzE3LDE1IEBACiAgICovCiAKIC8qIERlZmluZSB0byBwcmV2ZW50IHJlY3Vyc2l2ZSBpbmNsdXNpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0jaWZuZGVmIF9fU1RNMzJGN3h4X0hBTF9SVENfSAotI2RlZmluZSBfX1NUTTMyRjd4eF9IQUxfUlRDX0gKKyNpZm5kZWYgU1RNMzJGN3h4X0hBTF9SVENfSAorI2RlZmluZSBTVE0zMkY3eHhfSEFMX1JUQ19ICiAKICNpZmRlZiBfX2NwbHVzcGx1cwotIGV4dGVybiAiQyIgeworZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAogLyogSW5jbHVkZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwogI2luY2x1ZGUgInN0bTMyZjd4eF9oYWxfZGVmLmgiCiAKIC8qKiBAYWRkdG9ncm91cCBTVE0zMkY3eHhfSEFMX0RyaXZlcgpAQCAtMzYsNiArMzcsNyBAQAogICAqLwogCiAvKiBFeHBvcnRlZCB0eXBlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCiAvKiogQGRlZmdyb3VwIFJUQ19FeHBvcnRlZF9UeXBlcyBSVEMgRXhwb3J0ZWQgVHlwZXMKICAgKiBAewogICAqLwpAQCAtNTAsOCArNTIsNyBAQAogICBIQUxfUlRDX1NUQVRFX0JVU1kgICAgICAgICAgICAgID0gMHgwMlUsICAvKiE8IFJUQyBwcm9jZXNzIGlzIG9uZ29pbmcgICAgICAgICAgICAgICovCiAgIEhBTF9SVENfU1RBVEVfVElNRU9VVCAgICAgICAgICAgPSAweDAzVSwgIC8qITwgUlRDIHRpbWVvdXQgc3RhdGUgICAgICAgICAgICAgICAgICAgKi8KICAgSEFMX1JUQ19TVEFURV9FUlJPUiAgICAgICAgICAgICA9IDB4MDRVICAgLyohPCBSVEMgZXJyb3Igc3RhdGUgICAgICAgICAgICAgICAgICAgICAqLwotCi19SEFMX1JUQ1N0YXRlVHlwZURlZjsKK30gSEFMX1JUQ1N0YXRlVHlwZURlZjsKIAogLyoqCiAgICogQGJyaWVmICBSVEMgQ29uZmlndXJhdGlvbiBTdHJ1Y3R1cmUgZGVmaW5pdGlvbgpAQCAtNjUsMTcgKzY2LDE3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAweDAwIGFuZCBNYXhfRGF0YSA9IDB4N0YgKi8KIAogICB1aW50MzJfdCBTeW5jaFByZWRpdjsgICAgIC8qITwgU3BlY2lmaWVzIHRoZSBSVEMgU3luY2hyb25vdXMgUHJlZGl2aWRlciB2YWx1ZS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDB4MDAgYW5kIE1heF9EYXRhID0gMHg3RkZGICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAweDAwMDAgYW5kIE1heF9EYXRhID0gMHg3RkZGICovCiAKICAgdWludDMyX3QgT3V0UHV0OyAgICAgICAgICAvKiE8IFNwZWNpZmllcyB3aGljaCBzaWduYWwgd2lsbCBiZSByb3V0ZWQgdG8gdGhlIFJUQyBvdXRwdXQuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIFJUQ0V4X091dHB1dF9zZWxlY3Rpb25fRGVmaW5pdGlvbnMgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgUlRDX091dHB1dF9zZWxlY3Rpb25fRGVmaW5pdGlvbnMgKi8KIAogICB1aW50MzJfdCBPdXRQdXRQb2xhcml0eTsgIC8qITwgU3BlY2lmaWVzIHRoZSBwb2xhcml0eSBvZiB0aGUgb3V0cHV0IHNpZ25hbC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgUlRDX091dHB1dF9Qb2xhcml0eV9EZWZpbml0aW9ucyAqLwogCiAgIHVpbnQzMl90IE91dFB1dFR5cGU7ICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIFJUQyBPdXRwdXQgUGluIG1vZGUuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIFJUQ19PdXRwdXRfVHlwZV9BTEFSTV9PVVQgKi8KLX1SVENfSW5pdFR5cGVEZWY7Cit9IFJUQ19Jbml0VHlwZURlZjsKIAogLyoqCiAgICogQGJyaWVmICBSVEMgVGltZSBzdHJ1Y3R1cmUgZGVmaW5pdGlvbgpAQCAtODMsOCArODQsOCBAQAogdHlwZWRlZiBzdHJ1Y3QKIHsKICAgdWludDhfdCBIb3VyczsgICAgICAgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgUlRDIFRpbWUgSG91ci4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDAgYW5kIE1heF9EYXRhID0gMTIgaWYgdGhlIFJUQ19Ib3VyRm9ybWF0XzEyIGlzIHNlbGVjdGVkLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIE1pbl9EYXRhID0gMCBhbmQgTWF4X0RhdGEgPSAyMyBpZiB0aGUgUlRDX0hvdXJGb3JtYXRfMjQgaXMgc2VsZWN0ZWQgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAwIGFuZCBNYXhfRGF0YSA9IDEyIGlmIHRoZSBSVENfSG91ckZvcm1hdF8xMiBpcyBzZWxlY3RlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIE1pbl9EYXRhID0gMCBhbmQgTWF4X0RhdGEgPSAyMyBpZiB0aGUgUlRDX0hvdXJGb3JtYXRfMjQgaXMgc2VsZWN0ZWQgKi8KIAogICB1aW50OF90IE1pbnV0ZXM7ICAgICAgICAgIC8qITwgU3BlY2lmaWVzIHRoZSBSVEMgVGltZSBNaW51dGVzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIE1pbl9EYXRhID0gMCBhbmQgTWF4X0RhdGEgPSA1OSAqLwpAQCAtOTIsMjUgKzkzLDI1IEBACiAgIHVpbnQ4X3QgU2Vjb25kczsgICAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIFJUQyBUaW1lIFNlY29uZHMuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAwIGFuZCBNYXhfRGF0YSA9IDU5ICovCiAKKyAgdWludDhfdCBUaW1lRm9ybWF0OyAgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgUlRDIEFNL1BNIFRpbWUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIFJUQ19BTV9QTV9EZWZpbml0aW9ucyAqLworCiAgIHVpbnQzMl90IFN1YlNlY29uZHM7ICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIFJUQ19TU1IgUlRDIFN1YiBTZWNvbmQgcmVnaXN0ZXIgY29udGVudC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNvcnJlc3BvbmRzIHRvIGEgdGltZSB1bml0IHJhbmdlIGJldHdlZW4gWzAtMV0gU2Vjb25kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIFsxIFNlYyAvIFNlY29uZEZyYWN0aW9uICsxXSBncmFudWxhcml0eSAqLwogCiAgIHVpbnQzMl90IFNlY29uZEZyYWN0aW9uOyAgLyohPCBTcGVjaWZpZXMgdGhlIHJhbmdlIG9yIGdyYW51bGFyaXR5IG9mIFN1YiBTZWNvbmQgcmVnaXN0ZXIgY29udGVudAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ycmVzcG9uZGluZyB0byBTeW5jaHJvbm91cyBwcmUtc2NhbGVyIGZhY3RvciB2YWx1ZSAoUFJFRElWX1MpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3JyZXNwb25kaW5nIHRvIFN5bmNocm9ub3VzIHByZXNjYWxlciBmYWN0b3IgdmFsdWUgKFBSRURJVl9TKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY29ycmVzcG9uZHMgdG8gYSB0aW1lIHVuaXQgcmFuZ2UgYmV0d2VlbiBbMC0xXSBTZWNvbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggWzEgU2VjIC8gU2Vjb25kRnJhY3Rpb24gKzFdIGdyYW51bGFyaXR5LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBmaWVsZCB3aWxsIGJlIHVzZWQgb25seSBieSBIQUxfUlRDX0dldFRpbWUgZnVuY3Rpb24gKi8KIAotICB1aW50OF90IFRpbWVGb3JtYXQ7ICAgICAgIC8qITwgU3BlY2lmaWVzIHRoZSBSVEMgQU0vUE0gVGltZS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgUlRDX0FNX1BNX0RlZmluaXRpb25zICovCisgIHVpbnQzMl90IERheUxpZ2h0U2F2aW5nOyAgLyohPCBUaGlzIGludGVyZmFjZSBpcyBkZXByZWNhdGVkLiBUbyBtYW5hZ2UgRGF5bGlnaHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNhdmluZyBUaW1lLCBwbGVhc2UgdXNlIEhBTF9SVENfRFNUX3h4eCBmdW5jdGlvbnMgKi8KIAotICB1aW50MzJfdCBEYXlMaWdodFNhdmluZzsgIC8qITwgVGhpcyBpbnRlcmZhY2UgaXMgZGVwcmVjYXRlZC4gVG8gbWFuYWdlIERheWxpZ2h0IFNhdmluZyBUaW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxlYXNlIHVzZSBIQUxfUlRDX0RTVF94eHggZnVuY3Rpb25zICovCi0KLSAgdWludDMyX3QgU3RvcmVPcGVyYXRpb247ICAvKiE8IFRoaXMgaW50ZXJmYWNlIGlzIGRlcHJlY2F0ZWQuIFRvIG1hbmFnZSBEYXlsaWdodCBTYXZpbmcgVGltZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsZWFzZSB1c2UgSEFMX1JUQ19EU1RfeHh4IGZ1bmN0aW9ucyAqLwotfVJUQ19UaW1lVHlwZURlZjsKKyAgdWludDMyX3QgU3RvcmVPcGVyYXRpb247ICAvKiE8IFRoaXMgaW50ZXJmYWNlIGlzIGRlcHJlY2F0ZWQuIFRvIG1hbmFnZSBEYXlsaWdodAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2F2aW5nIFRpbWUsIHBsZWFzZSB1c2UgSEFMX1JUQ19EU1RfeHh4IGZ1bmN0aW9ucyAqLworfSBSVENfVGltZVR5cGVEZWY7CiAKIC8qKgogICAqIEBicmllZiAgUlRDIERhdGUgc3RydWN0dXJlIGRlZmluaXRpb24KQEAgLTEyOSw3ICsxMzAsNyBAQAogICB1aW50OF90IFllYXI7ICAgICAvKiE8IFNwZWNpZmllcyB0aGUgUlRDIERhdGUgWWVhci4KICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAwIGFuZCBNYXhfRGF0YSA9IDk5ICovCiAKLX1SVENfRGF0ZVR5cGVEZWY7Cit9IFJUQ19EYXRlVHlwZURlZjsKIAogLyoqCiAgICogQGJyaWVmICBSVEMgQWxhcm0gc3RydWN0dXJlIGRlZmluaXRpb24KQEAgLTE0NSw3ICsxNDYsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIFJUQ19BbGFybV9TdWJfU2Vjb25kc19NYXNrc19EZWZpbml0aW9ucyAqLwogCiAgIHVpbnQzMl90IEFsYXJtRGF0ZVdlZWtEYXlTZWw7ICAvKiE8IFNwZWNpZmllcyB0aGUgUlRDIEFsYXJtIGlzIG9uIERhdGUgb3IgV2Vla0RheS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIFJUQ19BbGFybURhdGVXZWVrRGF5X0RlZmluaXRpb25zICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgUlRDX0FsYXJtRGF0ZVdlZWtEYXlfRGVmaW5pdGlvbnMgKi8KIAogICB1aW50OF90IEFsYXJtRGF0ZVdlZWtEYXk7ICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIFJUQyBBbGFybSBEYXRlL1dlZWtEYXkuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIHRoZSBBbGFybSBEYXRlIGlzIHNlbGVjdGVkLCB0aGlzIHBhcmFtZXRlciBtdXN0IGJlIHNldCB0byBhIHZhbHVlIGluIHRoZSAxLTMxIHJhbmdlLgpAQCAtMTUzLDcgKzE1NCw3IEBACiAKICAgdWludDMyX3QgQWxhcm07ICAgICAgICAgICAgICAgIC8qITwgU3BlY2lmaWVzIHRoZSBhbGFybSAuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgUlRDX0FsYXJtc19EZWZpbml0aW9ucyAqLwotfVJUQ19BbGFybVR5cGVEZWY7Cit9IFJUQ19BbGFybVR5cGVEZWY7CiAKIC8qKgogICAqIEBicmllZiAgUlRDIEhhbmRsZSBTdHJ1Y3R1cmUgZGVmaW5pdGlvbgpAQCAtMTYyLDcgKzE2Myw3IEBACiB0eXBlZGVmIHN0cnVjdCBfX1JUQ19IYW5kbGVUeXBlRGVmCiAjZWxzZQogdHlwZWRlZiBzdHJ1Y3QKLSNlbmRpZiAvKiAoVVNFX0hBTF9SVENfUkVHSVNURVJfQ0FMTEJBQ0tTKSAqLworI2VuZGlmIC8qIFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogewogICBSVENfVHlwZURlZiAgICAgICAgICAgICAgICAgKkluc3RhbmNlOyAgLyohPCBSZWdpc3RlciBiYXNlIGFkZHJlc3MgICAgKi8KIApAQCAtMTczLDI3ICsxNzQsMjcgQEAKICAgX19JTyBIQUxfUlRDU3RhdGVUeXBlRGVmICAgIFN0YXRlOyAgICAgIC8qITwgVGltZSBjb21tdW5pY2F0aW9uIHN0YXRlICovCiAKICNpZiAoVVNFX0hBTF9SVENfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCi0gIHZvaWQgICgqIEFsYXJtQUV2ZW50Q2FsbGJhY2spICAgICAgKCBzdHJ1Y3QgX19SVENfSGFuZGxlVHlwZURlZiAqIGhydGMpOyAgLyohPCBSVEMgQWxhcm0gQSBFdmVudCBjYWxsYmFjayAgICAgICAgICovCisgIHZvaWQgKCogQWxhcm1BRXZlbnRDYWxsYmFjaykgICAgICAoc3RydWN0IF9fUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOyAgLyohPCBSVEMgQWxhcm0gQSBFdmVudCBjYWxsYmFjayAgICAgICAgICovCiAKLSAgdm9pZCAgKCogQWxhcm1CRXZlbnRDYWxsYmFjaykgICAgICAoIHN0cnVjdCBfX1JUQ19IYW5kbGVUeXBlRGVmICogaHJ0Yyk7ICAvKiE8IFJUQyBBbGFybSBCIEV2ZW50IGNhbGxiYWNrICAgICAgICAgKi8KKyAgdm9pZCAoKiBBbGFybUJFdmVudENhbGxiYWNrKSAgICAgIChzdHJ1Y3QgX19SVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7ICAvKiE8IFJUQyBBbGFybSBCIEV2ZW50IGNhbGxiYWNrICAgICAgICAgKi8KIAotICB2b2lkICAoKiBUaW1lU3RhbXBFdmVudENhbGxiYWNrKSAgICggc3RydWN0IF9fUlRDX0hhbmRsZVR5cGVEZWYgKiBocnRjKTsgIC8qITwgUlRDIFRpbWVTdGFtcCBFdmVudCBjYWxsYmFjayAgICAgICAqLworICB2b2lkICgqIFRpbWVTdGFtcEV2ZW50Q2FsbGJhY2spICAgKHN0cnVjdCBfX1JUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsgIC8qITwgUlRDIFRpbWVzdGFtcCBFdmVudCBjYWxsYmFjayAgICAgICAqLwogCi0gIHZvaWQgICgqIFdha2VVcFRpbWVyRXZlbnRDYWxsYmFjaykgKCBzdHJ1Y3QgX19SVENfSGFuZGxlVHlwZURlZiAqIGhydGMpOyAgLyohPCBSVEMgV2FrZVVwVGltZXIgRXZlbnQgY2FsbGJhY2sgICAgICovCisgIHZvaWQgKCogV2FrZVVwVGltZXJFdmVudENhbGxiYWNrKSAoc3RydWN0IF9fUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOyAgLyohPCBSVEMgV2FrZVVwVGltZXIgRXZlbnQgY2FsbGJhY2sgICAgICovCiAKLSAgdm9pZCAgKCogVGFtcGVyMUV2ZW50Q2FsbGJhY2spICAgICAoIHN0cnVjdCBfX1JUQ19IYW5kbGVUeXBlRGVmICogaHJ0Yyk7ICAvKiE8IFJUQyBUYW1wZXIgMSBFdmVudCBjYWxsYmFjayAgICAgICAgKi8KKyAgdm9pZCAoKiBUYW1wZXIxRXZlbnRDYWxsYmFjaykgICAgIChzdHJ1Y3QgX19SVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7ICAvKiE8IFJUQyBUYW1wZXIgMSBFdmVudCBjYWxsYmFjayAgICAgICAgKi8KIAotICB2b2lkICAoKiBUYW1wZXIyRXZlbnRDYWxsYmFjaykgICAgICggc3RydWN0IF9fUlRDX0hhbmRsZVR5cGVEZWYgKiBocnRjKTsgIC8qITwgUlRDIFRhbXBlciAyIEV2ZW50IGNhbGxiYWNrICAgICAgICAqLworICB2b2lkICgqIFRhbXBlcjJFdmVudENhbGxiYWNrKSAgICAgKHN0cnVjdCBfX1JUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsgIC8qITwgUlRDIFRhbXBlciAyIEV2ZW50IGNhbGxiYWNrICAgICAgICAqLwogCi0gIHZvaWQgICgqIFRhbXBlcjNFdmVudENhbGxiYWNrKSAgICAgKCBzdHJ1Y3QgX19SVENfSGFuZGxlVHlwZURlZiAqIGhydGMpOyAgLyohPCBSVEMgVGFtcGVyIDMgRXZlbnQgY2FsbGJhY2sgICAgICAgICovCisgIHZvaWQgKCogVGFtcGVyM0V2ZW50Q2FsbGJhY2spICAgICAoc3RydWN0IF9fUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOyAgLyohPCBSVEMgVGFtcGVyIDMgRXZlbnQgY2FsbGJhY2sgICAgICAgICovCiAKLSAgdm9pZCAgKCogTXNwSW5pdENhbGxiYWNrKSAgICAgICAgICAoIHN0cnVjdCBfX1JUQ19IYW5kbGVUeXBlRGVmICogaHJ0Yyk7ICAvKiE8IFJUQyBNc3AgSW5pdCBjYWxsYmFjayAgICAgICAgICAgICAgKi8KKyAgdm9pZCAoKiBNc3BJbml0Q2FsbGJhY2spICAgICAgICAgIChzdHJ1Y3QgX19SVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7ICAvKiE8IFJUQyBNc3AgSW5pdCBjYWxsYmFjayAgICAgICAgICAgICAgKi8KIAotICB2b2lkICAoKiBNc3BEZUluaXRDYWxsYmFjaykgICAgICAgICggc3RydWN0IF9fUlRDX0hhbmRsZVR5cGVEZWYgKiBocnRjKTsgIC8qITwgUlRDIE1zcCBEZUluaXQgY2FsbGJhY2sgICAgICAgICAgICAqLworICB2b2lkICgqIE1zcERlSW5pdENhbGxiYWNrKSAgICAgICAgKHN0cnVjdCBfX1JUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsgIC8qITwgUlRDIE1zcCBEZUluaXQgY2FsbGJhY2sgICAgICAgICAgICAqLwogCi0jZW5kaWYgLyogKFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUykgKi8KKyNlbmRpZiAvKiBVU0VfSEFMX1JUQ19SRUdJU1RFUl9DQUxMQkFDS1MgKi8KIAotfVJUQ19IYW5kbGVUeXBlRGVmOworfSBSVENfSGFuZGxlVHlwZURlZjsKIAogI2lmIChVU0VfSEFMX1JUQ19SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKIC8qKgpAQCAtMjAxLDIxICsyMDIsMjEgQEAKICAgKi8KIHR5cGVkZWYgZW51bQogewotICBIQUxfUlRDX0FMQVJNX0FfRVZFTlRfQ0JfSUQgICAgICAgICAgID0gMHgwMHUsICAgIC8qITwgUlRDIEFsYXJtIEEgRXZlbnQgQ2FsbGJhY2sgSUQgICAgICAgKi8KLSAgSEFMX1JUQ19BTEFSTV9CX0VWRU5UX0NCX0lEICAgICAgICAgICA9IDB4MDF1LCAgICAvKiE8IFJUQyBBbGFybSBCIEV2ZW50IENhbGxiYWNrIElEICAgICAgICovCi0gIEhBTF9SVENfVElNRVNUQU1QX0VWRU5UX0NCX0lEICAgICAgICAgPSAweDAydSwgICAgLyohPCBSVEMgVGltZVN0YW1wIEV2ZW50IENhbGxiYWNrIElEICAgICAqLwotICBIQUxfUlRDX1dBS0VVUFRJTUVSX0VWRU5UX0NCX0lEICAgICAgID0gMHgwM3UsICAgIC8qITwgUlRDIFdha2UtVXAgVGltZXIgRXZlbnQgQ2FsbGJhY2sgSUQgKi8KLSAgSEFMX1JUQ19UQU1QRVIxX0VWRU5UX0NCX0lEICAgICAgICAgICA9IDB4MDR1LCAgICAvKiE8IFJUQyBUYW1wZXIgMSBDYWxsYmFjayBJRCAgICAgICAgICAgICovCi0gIEhBTF9SVENfVEFNUEVSMl9FVkVOVF9DQl9JRCAgICAgICAgICAgPSAweDA1dSwgICAgLyohPCBSVEMgVGFtcGVyIDIgQ2FsbGJhY2sgSUQgICAgICAgICAgICAqLwotICBIQUxfUlRDX1RBTVBFUjNfRVZFTlRfQ0JfSUQgICAgICAgICAgID0gMHgwNnUsICAgIC8qITwgUlRDIFRhbXBlciAzIENhbGxiYWNrIElEICAgICAgICAgICAgKi8KLSAgSEFMX1JUQ19NU1BJTklUX0NCX0lEICAgICAgICAgICAgICAgICA9IDB4MEV1LCAgICAvKiE8IFJUQyBNc3AgSW5pdCBjYWxsYmFjayBJRCAgICAgICAgICAgICovCi0gIEhBTF9SVENfTVNQREVJTklUX0NCX0lEICAgICAgICAgICAgICAgPSAweDBGdSAgICAgLyohPCBSVEMgTXNwIERlSW5pdCBjYWxsYmFjayBJRCAgICAgICAgICAqLwotfUhBTF9SVENfQ2FsbGJhY2tJRFR5cGVEZWY7CisgIEhBTF9SVENfQUxBUk1fQV9FVkVOVF9DQl9JRCAgICAgICAgICAgPSAweDAwVSwgICAgLyohPCBSVEMgQWxhcm0gQSBFdmVudCBDYWxsYmFjayBJRCAgICAgICAqLworICBIQUxfUlRDX0FMQVJNX0JfRVZFTlRfQ0JfSUQgICAgICAgICAgID0gMHgwMVUsICAgIC8qITwgUlRDIEFsYXJtIEIgRXZlbnQgQ2FsbGJhY2sgSUQgICAgICAgKi8KKyAgSEFMX1JUQ19USU1FU1RBTVBfRVZFTlRfQ0JfSUQgICAgICAgICA9IDB4MDJVLCAgICAvKiE8IFJUQyBUaW1lc3RhbXAgRXZlbnQgQ2FsbGJhY2sgSUQgICAgICovCisgIEhBTF9SVENfV0FLRVVQVElNRVJfRVZFTlRfQ0JfSUQgICAgICAgPSAweDAzVSwgICAgLyohPCBSVEMgV2FrZXVwIFRpbWVyIEV2ZW50IENhbGxiYWNrIElEICAqLworICBIQUxfUlRDX1RBTVBFUjFfRVZFTlRfQ0JfSUQgICAgICAgICAgID0gMHgwNFUsICAgIC8qITwgUlRDIFRhbXBlciAxIENhbGxiYWNrIElEICAgICAgICAgICAgKi8KKyAgSEFMX1JUQ19UQU1QRVIyX0VWRU5UX0NCX0lEICAgICAgICAgICA9IDB4MDVVLCAgICAvKiE8IFJUQyBUYW1wZXIgMiBDYWxsYmFjayBJRCAgICAgICAgICAgICovCisgIEhBTF9SVENfVEFNUEVSM19FVkVOVF9DQl9JRCAgICAgICAgICAgPSAweDA2VSwgICAgLyohPCBSVEMgVGFtcGVyIDMgQ2FsbGJhY2sgSUQgICAgICAgICAgICAqLworICBIQUxfUlRDX01TUElOSVRfQ0JfSUQgICAgICAgICAgICAgICAgID0gMHgwRVUsICAgIC8qITwgUlRDIE1zcCBJbml0IGNhbGxiYWNrIElEICAgICAgICAgICAgKi8KKyAgSEFMX1JUQ19NU1BERUlOSVRfQ0JfSUQgICAgICAgICAgICAgICA9IDB4MEZVICAgICAvKiE8IFJUQyBNc3AgRGVJbml0IGNhbGxiYWNrIElEICAgICAgICAgICovCit9IEhBTF9SVENfQ2FsbGJhY2tJRFR5cGVEZWY7CiAKIC8qKgogICAqIEBicmllZiAgSEFMIFJUQyBDYWxsYmFjayBwb2ludGVyIGRlZmluaXRpb24KICAgKi8KLXR5cGVkZWYgIHZvaWQgKCpwUlRDX0NhbGxiYWNrVHlwZURlZikoUlRDX0hhbmRsZVR5cGVEZWYgKiBocnRjKTsgLyohPCBwb2ludGVyIHRvIGFuIFJUQyBjYWxsYmFjayBmdW5jdGlvbiAqLwordHlwZWRlZiAgdm9pZCAoKnBSVENfQ2FsbGJhY2tUeXBlRGVmKShSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7ICAvKiE8IHBvaW50ZXIgdG8gYW4gUlRDIGNhbGxiYWNrIGZ1bmN0aW9uICovCiAjZW5kaWYgLyogVVNFX0hBTF9SVENfUkVHSVNURVJfQ0FMTEJBQ0tTICovCiAKIC8qKgpAQCAtMjIzLDYgKzIyNCw3IEBACiAgICovCiAKIC8qIEV4cG9ydGVkIGNvbnN0YW50cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKIC8qKiBAZGVmZ3JvdXAgUlRDX0V4cG9ydGVkX0NvbnN0YW50cyBSVEMgRXhwb3J0ZWQgQ29uc3RhbnRzCiAgICogQHsKICAgKi8KQEAgLTIzMSwxNyArMjMzLDI3IEBACiAgICogQHsKICAgKi8KICNkZWZpbmUgUlRDX0hPVVJGT1JNQVRfMjQgICAgICAgICAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIFJUQ19IT1VSRk9STUFUXzEyICAgICAgICAgICAgICAweDAwMDAwMDQwVQorI2RlZmluZSBSVENfSE9VUkZPUk1BVF8xMiAgICAgICAgICAgICAgUlRDX0NSX0ZNVAogLyoqCiAgICogQH0KICAgKi8KIAorLyoqIEBkZWZncm91cCBSVENfT3V0cHV0X3NlbGVjdGlvbl9EZWZpbml0aW9ucyBSVEMgT3V0cHV0IFNlbGVjdGlvbiBEZWZpbml0aW9ucworICAqIEB7CisgICovCisjZGVmaW5lIFJUQ19PVVRQVVRfRElTQUJMRSAgICAgICAgICAgICAweDAwMDAwMDAwVQorI2RlZmluZSBSVENfT1VUUFVUX0FMQVJNQSAgICAgICAgICAgICAgUlRDX0NSX09TRUxfMAorI2RlZmluZSBSVENfT1VUUFVUX0FMQVJNQiAgICAgICAgICAgICAgUlRDX0NSX09TRUxfMQorI2RlZmluZSBSVENfT1VUUFVUX1dBS0VVUCAgICAgICAgICAgICAgUlRDX0NSX09TRUwKKy8qKgorICAqIEB9CisgICovCiAKIC8qKiBAZGVmZ3JvdXAgUlRDX091dHB1dF9Qb2xhcml0eV9EZWZpbml0aW9ucyBSVEMgT3V0cHV0IFBvbGFyaXR5IERlZmluaXRpb25zCiAgICogQHsKICAgKi8KICNkZWZpbmUgUlRDX09VVFBVVF9QT0xBUklUWV9ISUdIICAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIFJUQ19PVVRQVVRfUE9MQVJJVFlfTE9XICAgICAgICAweDAwMTAwMDAwVQorI2RlZmluZSBSVENfT1VUUFVUX1BPTEFSSVRZX0xPVyAgICAgICAgUlRDX0NSX1BPTAogLyoqCiAgICogQH0KICAgKi8KQEAgLTI1MCw3ICsyNjIsNyBAQAogICAqIEB7CiAgICovCiAjZGVmaW5lIFJUQ19PVVRQVVRfVFlQRV9PUEVORFJBSU4gICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBSVENfT1VUUFVUX1RZUEVfUFVTSFBVTEwgICAgICAgUlRDX09SX0FMQVJNVFlQRSAgLyogMHgwMDAwMDAwOCAqLworI2RlZmluZSBSVENfT1VUUFVUX1RZUEVfUFVTSFBVTEwgICAgICAgUlRDX09SX0FMQVJNVFlQRQogLyoqCiAgICogQH0KICAgKi8KQEAgLTI1OCw4ICsyNzAsOCBAQAogLyoqIEBkZWZncm91cCBSVENfQU1fUE1fRGVmaW5pdGlvbnMgUlRDIEFNIFBNIERlZmluaXRpb25zCiAgICogQHsKICAgKi8KLSNkZWZpbmUgUlRDX0hPVVJGT1JNQVQxMl9BTSAgICAgICAgICAgICgodWludDhfdCkweDAwVSkKLSNkZWZpbmUgUlRDX0hPVVJGT1JNQVQxMl9QTSAgICAgICAgICAgICgodWludDhfdCkweDQwVSkKKyNkZWZpbmUgUlRDX0hPVVJGT1JNQVQxMl9BTSAgICAgICAgICAgICgodWludDhfdCkweDAwKQorI2RlZmluZSBSVENfSE9VUkZPUk1BVDEyX1BNICAgICAgICAgICAgKCh1aW50OF90KTB4MDEpCiAvKioKICAgKiBAfQogICAqLwpAQCAtMjY3LDggKzI3OSw4IEBACiAvKiogQGRlZmdyb3VwIFJUQ19EYXlMaWdodFNhdmluZ19EZWZpbml0aW9ucyBSVEMgRGF5TGlnaHQgU2F2aW5nIERlZmluaXRpb25zCiAgICogQHsKICAgKi8KLSNkZWZpbmUgUlRDX0RBWUxJR0hUU0FWSU5HX1NVQjFIICAgICAgIDB4MDAwMjAwMDBVCi0jZGVmaW5lIFJUQ19EQVlMSUdIVFNBVklOR19BREQxSCAgICAgICAweDAwMDEwMDAwVQorI2RlZmluZSBSVENfREFZTElHSFRTQVZJTkdfU1VCMUggICAgICAgUlRDX0NSX1NVQjFICisjZGVmaW5lIFJUQ19EQVlMSUdIVFNBVklOR19BREQxSCAgICAgICBSVENfQ1JfQUREMUgKICNkZWZpbmUgUlRDX0RBWUxJR0hUU0FWSU5HX05PTkUgICAgICAgIDB4MDAwMDAwMDBVCiAvKioKICAgKiBAfQpAQCAtMjc4LDcgKzI5MCw3IEBACiAgICogQHsKICAgKi8KICNkZWZpbmUgUlRDX1NUT1JFT1BFUkFUSU9OX1JFU0VUICAgICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBSVENfU1RPUkVPUEVSQVRJT05fU0VUICAgICAgICAgIDB4MDAwNDAwMDBVCisjZGVmaW5lIFJUQ19TVE9SRU9QRVJBVElPTl9TRVQgICAgICAgICAgUlRDX0NSX0JLUAogLyoqCiAgICogQH0KICAgKi8KQEAgLTI5MiwyMiArMzA0LDIxIEBACiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBSVENfTW9udGhfRGF0ZV9EZWZpbml0aW9ucyBSVEMgTW9udGggRGF0ZSBEZWZpbml0aW9ucworLyoqIEBkZWZncm91cCBSVENfTW9udGhfRGF0ZV9EZWZpbml0aW9ucyBSVEMgTW9udGggRGF0ZSBEZWZpbml0aW9ucyAoaW4gQkNEIGZvcm1hdCkKICAgKiBAewogICAqLwotLyogQ29kZWQgaW4gQkNEIGZvcm1hdCAqLwotI2RlZmluZSBSVENfTU9OVEhfSkFOVUFSWSAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDFVKQotI2RlZmluZSBSVENfTU9OVEhfRkVCUlVBUlkgICAgICAgICAgICAgKCh1aW50OF90KTB4MDJVKQotI2RlZmluZSBSVENfTU9OVEhfTUFSQ0ggICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDNVKQotI2RlZmluZSBSVENfTU9OVEhfQVBSSUwgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDRVKQotI2RlZmluZSBSVENfTU9OVEhfTUFZICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDVVKQotI2RlZmluZSBSVENfTU9OVEhfSlVORSAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDZVKQotI2RlZmluZSBSVENfTU9OVEhfSlVMWSAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDdVKQotI2RlZmluZSBSVENfTU9OVEhfQVVHVVNUICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDhVKQotI2RlZmluZSBSVENfTU9OVEhfU0VQVEVNQkVSICAgICAgICAgICAgKCh1aW50OF90KTB4MDlVKQotI2RlZmluZSBSVENfTU9OVEhfT0NUT0JFUiAgICAgICAgICAgICAgKCh1aW50OF90KTB4MTBVKQotI2RlZmluZSBSVENfTU9OVEhfTk9WRU1CRVIgICAgICAgICAgICAgKCh1aW50OF90KTB4MTFVKQotI2RlZmluZSBSVENfTU9OVEhfREVDRU1CRVIgICAgICAgICAgICAgKCh1aW50OF90KTB4MTJVKQorI2RlZmluZSBSVENfTU9OVEhfSkFOVUFSWSAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDEpCisjZGVmaW5lIFJUQ19NT05USF9GRUJSVUFSWSAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgwMikKKyNkZWZpbmUgUlRDX01PTlRIX01BUkNIICAgICAgICAgICAgICAgICgodWludDhfdCkweDAzKQorI2RlZmluZSBSVENfTU9OVEhfQVBSSUwgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDQpCisjZGVmaW5lIFJUQ19NT05USF9NQVkgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgwNSkKKyNkZWZpbmUgUlRDX01PTlRIX0pVTkUgICAgICAgICAgICAgICAgICgodWludDhfdCkweDA2KQorI2RlZmluZSBSVENfTU9OVEhfSlVMWSAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDcpCisjZGVmaW5lIFJUQ19NT05USF9BVUdVU1QgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgwOCkKKyNkZWZpbmUgUlRDX01PTlRIX1NFUFRFTUJFUiAgICAgICAgICAgICgodWludDhfdCkweDA5KQorI2RlZmluZSBSVENfTU9OVEhfT0NUT0JFUiAgICAgICAgICAgICAgKCh1aW50OF90KTB4MTApCisjZGVmaW5lIFJUQ19NT05USF9OT1ZFTUJFUiAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgxMSkKKyNkZWZpbmUgUlRDX01PTlRIX0RFQ0VNQkVSICAgICAgICAgICAgICgodWludDhfdCkweDEyKQogLyoqCiAgICogQH0KICAgKi8KQEAgLTMxNSwxMyArMzI2LDEzIEBACiAvKiogQGRlZmdyb3VwIFJUQ19XZWVrRGF5X0RlZmluaXRpb25zIFJUQyBXZWVrRGF5IERlZmluaXRpb25zCiAgICogQHsKICAgKi8KLSNkZWZpbmUgUlRDX1dFRUtEQVlfTU9OREFZICAgICAgICAgICAgICgodWludDhfdCkweDAxVSkKLSNkZWZpbmUgUlRDX1dFRUtEQVlfVFVFU0RBWSAgICAgICAgICAgICgodWludDhfdCkweDAyVSkKLSNkZWZpbmUgUlRDX1dFRUtEQVlfV0VETkVTREFZICAgICAgICAgICgodWludDhfdCkweDAzVSkKLSNkZWZpbmUgUlRDX1dFRUtEQVlfVEhVUlNEQVkgICAgICAgICAgICgodWludDhfdCkweDA0VSkKLSNkZWZpbmUgUlRDX1dFRUtEQVlfRlJJREFZICAgICAgICAgICAgICgodWludDhfdCkweDA1VSkKLSNkZWZpbmUgUlRDX1dFRUtEQVlfU0FUVVJEQVkgICAgICAgICAgICgodWludDhfdCkweDA2VSkKLSNkZWZpbmUgUlRDX1dFRUtEQVlfU1VOREFZICAgICAgICAgICAgICgodWludDhfdCkweDA3VSkKKyNkZWZpbmUgUlRDX1dFRUtEQVlfTU9OREFZICAgICAgICAgICAgICgodWludDhfdCkweDAxKQorI2RlZmluZSBSVENfV0VFS0RBWV9UVUVTREFZICAgICAgICAgICAgKCh1aW50OF90KTB4MDIpCisjZGVmaW5lIFJUQ19XRUVLREFZX1dFRE5FU0RBWSAgICAgICAgICAoKHVpbnQ4X3QpMHgwMykKKyNkZWZpbmUgUlRDX1dFRUtEQVlfVEhVUlNEQVkgICAgICAgICAgICgodWludDhfdCkweDA0KQorI2RlZmluZSBSVENfV0VFS0RBWV9GUklEQVkgICAgICAgICAgICAgKCh1aW50OF90KTB4MDUpCisjZGVmaW5lIFJUQ19XRUVLREFZX1NBVFVSREFZICAgICAgICAgICAoKHVpbnQ4X3QpMHgwNikKKyNkZWZpbmUgUlRDX1dFRUtEQVlfU1VOREFZICAgICAgICAgICAgICgodWludDhfdCkweDA3KQogLyoqCiAgICogQH0KICAgKi8KQEAgLTMzMCw3ICszNDEsNyBAQAogICAqIEB7CiAgICovCiAjZGVmaW5lIFJUQ19BTEFSTURBVEVXRUVLREFZU0VMX0RBVEUgICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBSVENfQUxBUk1EQVRFV0VFS0RBWVNFTF9XRUVLREFZICAgMHg0MDAwMDAwMFUKKyNkZWZpbmUgUlRDX0FMQVJNREFURVdFRUtEQVlTRUxfV0VFS0RBWSAgIFJUQ19BTFJNQVJfV0RTRUwKIC8qKgogICAqIEB9CiAgICovCkBAIC0zNDMsNyArMzU0LDEwIEBACiAjZGVmaW5lIFJUQ19BTEFSTU1BU0tfSE9VUlMgICAgICAgICAgICAgICBSVENfQUxSTUFSX01TSzMKICNkZWZpbmUgUlRDX0FMQVJNTUFTS19NSU5VVEVTICAgICAgICAgICAgIFJUQ19BTFJNQVJfTVNLMgogI2RlZmluZSBSVENfQUxBUk1NQVNLX1NFQ09ORFMgICAgICAgICAgICAgUlRDX0FMUk1BUl9NU0sxCi0jZGVmaW5lIFJUQ19BTEFSTU1BU0tfQUxMICAgICAgICAgICAgICAgICAweDgwODA4MDgwVQorI2RlZmluZSBSVENfQUxBUk1NQVNLX0FMTCAgICAgICAgICAgICAgICAgKFJUQ19BTEFSTU1BU0tfREFURVdFRUtEQVkgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0FMQVJNTUFTS19IT1VSUyAgICAgICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQUxBUk1NQVNLX01JTlVURVMgICAgIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19BTEFSTU1BU0tfU0VDT05EUykKIC8qKgogICAqIEB9CiAgICovCkBAIC0zNjAsMzkgKzM3NCwzOCBAQAogLyoqIEBkZWZncm91cCBSVENfQWxhcm1fU3ViX1NlY29uZHNfTWFza3NfRGVmaW5pdGlvbnMgUlRDIEFsYXJtIFN1YiBTZWNvbmRzIE1hc2tzIERlZmluaXRpb25zCiAgICogQHsKICAgKi8KLSNkZWZpbmUgUlRDX0FMQVJNU1VCU0VDT05ETUFTS19BTEwgICAgICAgICAweDAwMDAwMDAwVSAgLyohPCBBbGwgQWxhcm0gU1MgZmllbGRzIGFyZSBtYXNrZWQuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlcmUgaXMgbm8gY29tcGFyaXNvbiBvbiBzdWIgc2Vjb25kcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBBbGFybSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8xICAgICAgMHgwMTAwMDAwMFUgIC8qITwgU1NbMTQ6MV0gYXJlIGRvbid0IGNhcmUgaW4gQWxhcm0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXJpc29uLiBPbmx5IFNTWzBdIGlzIGNvbXBhcmVkLiAgICAqLwotI2RlZmluZSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfMiAgICAgIDB4MDIwMDAwMDBVICAvKiE8IFNTWzE0OjJdIGFyZSBkb24ndCBjYXJlIGluIEFsYXJtCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGFyaXNvbi4gT25seSBTU1sxOjBdIGFyZSBjb21wYXJlZCAgKi8KLSNkZWZpbmUgUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzMgICAgICAweDAzMDAwMDAwVSAgLyohPCBTU1sxNDozXSBhcmUgZG9uJ3QgY2FyZSBpbiBBbGFybQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmlzb24uIE9ubHkgU1NbMjowXSBhcmUgY29tcGFyZWQgICovCi0jZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF80ICAgICAgMHgwNDAwMDAwMFUgIC8qITwgU1NbMTQ6NF0gYXJlIGRvbid0IGNhcmUgaW4gQWxhcm0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXJpc29uLiBPbmx5IFNTWzM6MF0gYXJlIGNvbXBhcmVkICAqLwotI2RlZmluZSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfNSAgICAgIDB4MDUwMDAwMDBVICAvKiE8IFNTWzE0OjVdIGFyZSBkb24ndCBjYXJlIGluIEFsYXJtCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGFyaXNvbi4gT25seSBTU1s0OjBdIGFyZSBjb21wYXJlZCAgKi8KLSNkZWZpbmUgUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzYgICAgICAweDA2MDAwMDAwVSAgLyohPCBTU1sxNDo2XSBhcmUgZG9uJ3QgY2FyZSBpbiBBbGFybQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmlzb24uIE9ubHkgU1NbNTowXSBhcmUgY29tcGFyZWQgICovCi0jZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF83ICAgICAgMHgwNzAwMDAwMFUgIC8qITwgU1NbMTQ6N10gYXJlIGRvbid0IGNhcmUgaW4gQWxhcm0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXJpc29uLiBPbmx5IFNTWzY6MF0gYXJlIGNvbXBhcmVkICAqLwotI2RlZmluZSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfOCAgICAgIDB4MDgwMDAwMDBVICAvKiE8IFNTWzE0OjhdIGFyZSBkb24ndCBjYXJlIGluIEFsYXJtCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGFyaXNvbi4gT25seSBTU1s3OjBdIGFyZSBjb21wYXJlZCAgKi8KLSNkZWZpbmUgUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzkgICAgICAweDA5MDAwMDAwVSAgLyohPCBTU1sxNDo5XSBhcmUgZG9uJ3QgY2FyZSBpbiBBbGFybQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmlzb24uIE9ubHkgU1NbODowXSBhcmUgY29tcGFyZWQgICovCi0jZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8xMCAgICAgMHgwQTAwMDAwMFUgIC8qITwgU1NbMTQ6MTBdIGFyZSBkb24ndCBjYXJlIGluIEFsYXJtCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGFyaXNvbi4gT25seSBTU1s5OjBdIGFyZSBjb21wYXJlZCAgKi8KLSNkZWZpbmUgUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzExICAgICAweDBCMDAwMDAwVSAgLyohPCBTU1sxNDoxMV0gYXJlIGRvbid0IGNhcmUgaW4gQWxhcm0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXJpc29uLiBPbmx5IFNTWzEwOjBdIGFyZSBjb21wYXJlZCAqLwotI2RlZmluZSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfMTIgICAgIDB4MEMwMDAwMDBVICAvKiE8IFNTWzE0OjEyXSBhcmUgZG9uJ3QgY2FyZSBpbiBBbGFybQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmlzb24uT25seSBTU1sxMTowXSBhcmUgY29tcGFyZWQgICovCi0jZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8xMyAgICAgMHgwRDAwMDAwMFUgIC8qITwgU1NbMTQ6MTNdIGFyZSBkb24ndCBjYXJlIGluIEFsYXJtCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGFyaXNvbi4gT25seSBTU1sxMjowXSBhcmUgY29tcGFyZWQgKi8KLSNkZWZpbmUgUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0ICAgICAgICAweDBFMDAwMDAwVSAgLyohPCBTU1sxNF0gaXMgZG9uJ3QgY2FyZSBpbiBBbGFybQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmlzb24uT25seSBTU1sxMzowXSBhcmUgY29tcGFyZWQgICovCi0jZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfTk9ORSAgICAgICAgMHgwRjAwMDAwMFUgIC8qITwgU1NbMTQ6MF0gYXJlIGNvbXBhcmVkIGFuZCBtdXN0IG1hdGNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gYWN0aXZhdGUgYWxhcm0uICovCisvKiE8IEFsbCBBbGFybSBTUyBmaWVsZHMgYXJlIG1hc2tlZC4gVGhlcmUgaXMgbm8gY29tcGFyaXNvbiBvbiBzdWIgc2Vjb25kcyBmb3IgQWxhcm0gKi8KKyNkZWZpbmUgUlRDX0FMQVJNU1VCU0VDT05ETUFTS19BTEwgICAgICAgICAweDAwMDAwMDAwVQorLyohPCBTU1sxNDoxXSBhcmUgZG9uJ3QgY2FyZSBpbiBBbGFybSBjb21wYXJpc29uLiBPbmx5IFNTWzBdIGlzIGNvbXBhcmVkLiAgICAgKi8KKyNkZWZpbmUgUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzEgICAgICBSVENfQUxSTUFTU1JfTUFTS1NTXzAKKy8qITwgU1NbMTQ6Ml0gYXJlIGRvbid0IGNhcmUgaW4gQWxhcm0gY29tcGFyaXNvbi4gT25seSBTU1sxOjBdIGFyZSBjb21wYXJlZC4gICovCisjZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8yICAgICAgUlRDX0FMUk1BU1NSX01BU0tTU18xCisvKiE8IFNTWzE0OjNdIGFyZSBkb24ndCBjYXJlIGluIEFsYXJtIGNvbXBhcmlzb24uIE9ubHkgU1NbMjowXSBhcmUgY29tcGFyZWQuICAqLworI2RlZmluZSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfMyAgICAgIChSVENfQUxSTUFTU1JfTUFTS1NTXzAgfCBSVENfQUxSTUFTU1JfTUFTS1NTXzEpCisvKiE8IFNTWzE0OjRdIGFyZSBkb24ndCBjYXJlIGluIEFsYXJtIGNvbXBhcmlzb24uIE9ubHkgU1NbMzowXSBhcmUgY29tcGFyZWQuICAqLworI2RlZmluZSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfNCAgICAgIFJUQ19BTFJNQVNTUl9NQVNLU1NfMgorLyohPCBTU1sxNDo1XSBhcmUgZG9uJ3QgY2FyZSBpbiBBbGFybSBjb21wYXJpc29uLiBPbmx5IFNTWzQ6MF0gYXJlIGNvbXBhcmVkLiAgKi8KKyNkZWZpbmUgUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzUgICAgICAoUlRDX0FMUk1BU1NSX01BU0tTU18wIHwgUlRDX0FMUk1BU1NSX01BU0tTU18yKQorLyohPCBTU1sxNDo2XSBhcmUgZG9uJ3QgY2FyZSBpbiBBbGFybSBjb21wYXJpc29uLiBPbmx5IFNTWzU6MF0gYXJlIGNvbXBhcmVkLiAgKi8KKyNkZWZpbmUgUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzYgICAgICAoUlRDX0FMUk1BU1NSX01BU0tTU18xIHwgUlRDX0FMUk1BU1NSX01BU0tTU18yKQorLyohPCBTU1sxNDo3XSBhcmUgZG9uJ3QgY2FyZSBpbiBBbGFybSBjb21wYXJpc29uLiBPbmx5IFNTWzY6MF0gYXJlIGNvbXBhcmVkLiAgKi8KKyNkZWZpbmUgUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzcgICAgICAoUlRDX0FMUk1BU1NSX01BU0tTU18wIHwgUlRDX0FMUk1BU1NSX01BU0tTU18xIHwgUlRDX0FMUk1BU1NSX01BU0tTU18yKQorLyohPCBTU1sxNDo4XSBhcmUgZG9uJ3QgY2FyZSBpbiBBbGFybSBjb21wYXJpc29uLiBPbmx5IFNTWzc6MF0gYXJlIGNvbXBhcmVkLiAgKi8KKyNkZWZpbmUgUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzggICAgICBSVENfQUxSTUFTU1JfTUFTS1NTXzMKKy8qITwgU1NbMTQ6OV0gYXJlIGRvbid0IGNhcmUgaW4gQWxhcm0gY29tcGFyaXNvbi4gT25seSBTU1s4OjBdIGFyZSBjb21wYXJlZC4gICovCisjZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF85ICAgICAgKFJUQ19BTFJNQVNTUl9NQVNLU1NfMCB8IFJUQ19BTFJNQVNTUl9NQVNLU1NfMykKKy8qITwgU1NbMTQ6MTBdIGFyZSBkb24ndCBjYXJlIGluIEFsYXJtIGNvbXBhcmlzb24uIE9ubHkgU1NbOTowXSBhcmUgY29tcGFyZWQuICovCisjZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8xMCAgICAgKFJUQ19BTFJNQVNTUl9NQVNLU1NfMSB8IFJUQ19BTFJNQVNTUl9NQVNLU1NfMykKKy8qITwgU1NbMTQ6MTFdIGFyZSBkb24ndCBjYXJlIGluIEFsYXJtIGNvbXBhcmlzb24uIE9ubHkgU1NbMTA6MF0gYXJlIGNvbXBhcmVkLiAqLworI2RlZmluZSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfMTEgICAgIChSVENfQUxSTUFTU1JfTUFTS1NTXzAgfCBSVENfQUxSTUFTU1JfTUFTS1NTXzEgfCBSVENfQUxSTUFTU1JfTUFTS1NTXzMpCisvKiE8IFNTWzE0OjEyXSBhcmUgZG9uJ3QgY2FyZSBpbiBBbGFybSBjb21wYXJpc29uLiBPbmx5IFNTWzExOjBdIGFyZSBjb21wYXJlZC4gKi8KKyNkZWZpbmUgUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzEyICAgICAoUlRDX0FMUk1BU1NSX01BU0tTU18yIHwgUlRDX0FMUk1BU1NSX01BU0tTU18zKQorLyohPCBTU1sxNDoxM10gYXJlIGRvbid0IGNhcmUgaW4gQWxhcm0gY29tcGFyaXNvbi4gT25seSBTU1sxMjowXSBhcmUgY29tcGFyZWQuICovCisjZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8xMyAgICAgKFJUQ19BTFJNQVNTUl9NQVNLU1NfMCB8IFJUQ19BTFJNQVNTUl9NQVNLU1NfMiB8IFJUQ19BTFJNQVNTUl9NQVNLU1NfMykKKy8qITwgU1NbMTRdIGlzIGRvbid0IGNhcmUgaW4gQWxhcm0gY29tcGFyaXNvbi4gT25seSBTU1sxMzowXSBhcmUgY29tcGFyZWQuICovCisjZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNCAgICAgICAgKFJUQ19BTFJNQVNTUl9NQVNLU1NfMSB8IFJUQ19BTFJNQVNTUl9NQVNLU1NfMiB8IFJUQ19BTFJNQVNTUl9NQVNLU1NfMykKKy8qITwgU1NbMTQ6MF0gYXJlIGNvbXBhcmVkIGFuZCBtdXN0IG1hdGNoIHRvIGFjdGl2YXRlIGFsYXJtLiAqLworI2RlZmluZSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX05PTkUgICAgICAgIFJUQ19BTFJNQVNTUl9NQVNLU1MKIC8qKgogICAqIEB9CiAgICovCkBAIC00MDAsMTQgKzQxMywxMCBAQAogLyoqIEBkZWZncm91cCBSVENfSW50ZXJydXB0c19EZWZpbml0aW9ucyBSVEMgSW50ZXJydXB0cyBEZWZpbml0aW9ucwogICAqIEB7CiAgICovCi0jZGVmaW5lIFJUQ19JVF9UUyAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfVFNJRQotI2RlZmluZSBSVENfSVRfV1VUICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSX1dVVElFCi0jZGVmaW5lIFJUQ19JVF9BTFJBICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfQUxSQUlFCi0jZGVmaW5lIFJUQ19JVF9BTFJCICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfQUxSQklFCi0jZGVmaW5lIFJUQ19JVF9UQU1QICAgICAgICAgICAgICAgICAgICAgICBSVENfVEFNUENSX1RBTVBJRSAvKiBVc2VkIG9ubHkgdG8gRW5hYmxlIHRoZSBUYW1wZXIgSW50ZXJydXB0ICovCi0jZGVmaW5lIFJUQ19JVF9UQU1QMSAgICAgICAgICAgICAgICAgICAgICBSVENfVEFNUENSX1RBTVAxSUUKLSNkZWZpbmUgUlRDX0lUX1RBTVAyICAgICAgICAgICAgICAgICAgICAgIFJUQ19UQU1QQ1JfVEFNUDJJRQotI2RlZmluZSBSVENfSVRfVEFNUDMgICAgICAgICAgICAgICAgICAgICAgUlRDX1RBTVBDUl9UQU1QM0lFCisjZGVmaW5lIFJUQ19JVF9UUyAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfVFNJRSAgICAgICAgIC8qITwgRW5hYmxlIFRpbWVzdGFtcCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAqLworI2RlZmluZSBSVENfSVRfV1VUICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSX1dVVElFICAgICAgICAvKiE8IEVuYWJsZSBXYWtldXAgdGltZXIgSW50ZXJydXB0ICAgICAgICAgICAgKi8KKyNkZWZpbmUgUlRDX0lUX0FMUkIgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUl9BTFJCSUUgICAgICAgLyohPCBFbmFibGUgQWxhcm0gQiBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIFJUQ19JVF9BTFJBICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfQUxSQUlFICAgICAgIC8qITwgRW5hYmxlIEFsYXJtIEEgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAqLwogLyoqCiAgICogQH0KICAgKi8KQEAgLTQxNSwyMyArNDI0LDIzIEBACiAvKiogQGRlZmdyb3VwIFJUQ19GbGFnc19EZWZpbml0aW9ucyBSVEMgRmxhZ3MgRGVmaW5pdGlvbnMKICAgKiBAewogICAqLwotI2RlZmluZSBSVENfRkxBR19SRUNBTFBGICAgICAgICAgICAgICAgICAgUlRDX0lTUl9SRUNBTFBGCi0jZGVmaW5lIFJUQ19GTEFHX1RBTVAzRiAgICAgICAgICAgICAgICAgICBSVENfSVNSX1RBTVAzRgotI2RlZmluZSBSVENfRkxBR19UQU1QMkYgICAgICAgICAgICAgICAgICAgUlRDX0lTUl9UQU1QMkYKLSNkZWZpbmUgUlRDX0ZMQUdfVEFNUDFGICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfVEFNUDFGCi0jZGVmaW5lIFJUQ19GTEFHX1RTT1ZGICAgICAgICAgICAgICAgICAgICBSVENfSVNSX1RTT1ZGCi0jZGVmaW5lIFJUQ19GTEFHX1RTRiAgICAgICAgICAgICAgICAgICAgICBSVENfSVNSX1RTRgotI2RlZmluZSBSVENfRkxBR19JVFNGICAgICAgICAgICAgICAgICAgICAgUlRDX0lTUl9JVFNGCi0jZGVmaW5lIFJUQ19GTEFHX1dVVEYgICAgICAgICAgICAgICAgICAgICBSVENfSVNSX1dVVEYKLSNkZWZpbmUgUlRDX0ZMQUdfQUxSQkYgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfQUxSQkYKLSNkZWZpbmUgUlRDX0ZMQUdfQUxSQUYgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfQUxSQUYKLSNkZWZpbmUgUlRDX0ZMQUdfSU5JVEYgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfSU5JVEYKLSNkZWZpbmUgUlRDX0ZMQUdfUlNGICAgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfUlNGCi0jZGVmaW5lIFJUQ19GTEFHX0lOSVRTICAgICAgICAgICAgICAgICAgICBSVENfSVNSX0lOSVRTCi0jZGVmaW5lIFJUQ19GTEFHX1NIUEYgICAgICAgICAgICAgICAgICAgICBSVENfSVNSX1NIUEYKLSNkZWZpbmUgUlRDX0ZMQUdfV1VUV0YgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfV1VUV0YKLSNkZWZpbmUgUlRDX0ZMQUdfQUxSQldGICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfQUxSQldGCi0jZGVmaW5lIFJUQ19GTEFHX0FMUkFXRiAgICAgICAgICAgICAgICAgICBSVENfSVNSX0FMUkFXRgorI2RlZmluZSBSVENfRkxBR19SRUNBTFBGICAgICAgICAgICAgICAgICAgUlRDX0lTUl9SRUNBTFBGICAgICAvKiE8IFJlY2FsaWJyYXRpb24gcGVuZGluZyBmbGFnICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgUlRDX0ZMQUdfVEFNUDNGICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfVEFNUDNGICAgICAgLyohPCBUYW1wZXIgMyBldmVudCBmbGFnICAgICAgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIFJUQ19GTEFHX1RBTVAyRiAgICAgICAgICAgICAgICAgICBSVENfSVNSX1RBTVAyRiAgICAgIC8qITwgVGFtcGVyIDIgZXZlbnQgZmxhZyAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBSVENfRkxBR19UQU1QMUYgICAgICAgICAgICAgICAgICAgUlRDX0lTUl9UQU1QMUYgICAgICAvKiE8IFRhbXBlciAxIGV2ZW50IGZsYWcgICAgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgUlRDX0ZMQUdfVFNPVkYgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfVFNPVkYgICAgICAgLyohPCBUaW1lc3RhbXAgb3ZlcmZsb3cgZmxhZyAgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIFJUQ19GTEFHX1RTRiAgICAgICAgICAgICAgICAgICAgICBSVENfSVNSX1RTRiAgICAgICAgIC8qITwgVGltZXN0YW1wIGV2ZW50IGZsYWcgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBSVENfRkxBR19JVFNGICAgICAgICAgICAgICAgICAgICAgUlRDX0lTUl9JVFNGICAgICAgICAvKiE8IEludGVybmFsIFRpbWVzdGFtcCBldmVudCBmbGFnICAgICAgICAgICAgKi8KKyNkZWZpbmUgUlRDX0ZMQUdfV1VURiAgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfV1VURiAgICAgICAgLyohPCBXYWtldXAgdGltZXIgZXZlbnQgZmxhZyAgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIFJUQ19GTEFHX0FMUkJGICAgICAgICAgICAgICAgICAgICBSVENfSVNSX0FMUkJGICAgICAgIC8qITwgQWxhcm0gQiBldmVudCBmbGFnICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBSVENfRkxBR19BTFJBRiAgICAgICAgICAgICAgICAgICAgUlRDX0lTUl9BTFJBRiAgICAgICAvKiE8IEFsYXJtIEEgZXZlbnQgZmxhZyAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgUlRDX0ZMQUdfSU5JVEYgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfSU5JVEYgICAgICAgLyohPCBSVEMgaW4gaW5pdGlhbGl6YXRpb24gbW9kZSBmbGFnICAgICAgICAgICovCisjZGVmaW5lIFJUQ19GTEFHX1JTRiAgICAgICAgICAgICAgICAgICAgICBSVENfSVNSX1JTRiAgICAgICAgIC8qITwgUmVnaXN0ZXIgc3luY2hyb25pemF0aW9uIGZsYWcgICAgICAgICAgICAqLworI2RlZmluZSBSVENfRkxBR19JTklUUyAgICAgICAgICAgICAgICAgICAgUlRDX0lTUl9JTklUUyAgICAgICAvKiE8IFJUQyBpbml0aWFsaXphdGlvbiBzdGF0dXMgZmxhZyAgICAgICAgICAgKi8KKyNkZWZpbmUgUlRDX0ZMQUdfU0hQRiAgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfU0hQRiAgICAgICAgLyohPCBTaGlmdCBvcGVyYXRpb24gcGVuZGluZyBmbGFnICAgICAgICAgICAgICovCisjZGVmaW5lIFJUQ19GTEFHX1dVVFdGICAgICAgICAgICAgICAgICAgICBSVENfSVNSX1dVVFdGICAgICAgIC8qITwgV1VUUiByZWdpc3RlciB3cml0ZSBhbGxvd2FuY2UgZmxhZyAgICAgICAqLworI2RlZmluZSBSVENfRkxBR19BTFJCV0YgICAgICAgICAgICAgICAgICAgUlRDX0lTUl9BTFJCV0YgICAgICAvKiE8IEFMUk1CUiByZWdpc3RlciB3cml0ZSBhbGxvd2FuY2UgZmxhZyAgICAgKi8KKyNkZWZpbmUgUlRDX0ZMQUdfQUxSQVdGICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfQUxSQVdGICAgICAgLyohPCBBTFJNQVIgcmVnaXN0ZXIgd3JpdGUgYWxsb3dhbmNlIGZsYWcgICAgICovCiAvKioKICAgKiBAfQogICAqLwpAQCAtNDQwLDcgKzQ0OSw4IEBACiAgICogQH0KICAgKi8KIAotLyogRXhwb3J0ZWQgbWFjcm8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qIEV4cG9ydGVkIG1hY3JvcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKIC8qKiBAZGVmZ3JvdXAgUlRDX0V4cG9ydGVkX01hY3JvcyBSVEMgRXhwb3J0ZWQgTWFjcm9zCiAgICogQHsKICAgKi8KQEAgLTQ1MCwxMSArNDYwLDExIEBACiAgICogQHJldHZhbCBOb25lCiAgICovCiAjaWYgKFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQotI2RlZmluZSBfX0hBTF9SVENfUkVTRVRfSEFORExFX1NUQVRFKF9fSEFORExFX18pIGRve1wKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1JFU0VUO1wKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+TXNwSW5pdENhbGxiYWNrID0gTlVMTDtcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX19IQU5ETEVfXyktPk1zcERlSW5pdENhbGxiYWNrID0gTlVMTDtcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH13aGlsZSgwdSkKKyNkZWZpbmUgX19IQUxfUlRDX1JFU0VUX0hBTkRMRV9TVEFURShfX0hBTkRMRV9fKSBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX19IQU5ETEVfXyktPlN0YXRlID0gSEFMX1JUQ19TVEFURV9SRVNFVDsgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9fSEFORExFX18pLT5Nc3BJbml0Q2FsbGJhY2sgPSBOVUxMOyAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+TXNwRGVJbml0Q2FsbGJhY2sgPSBOVUxMOyAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSgwVSkKICNlbHNlCiAjZGVmaW5lIF9fSEFMX1JUQ19SRVNFVF9IQU5ETEVfU1RBVEUoX19IQU5ETEVfXykgKChfX0hBTkRMRV9fKS0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1JFU0VUKQogI2VuZGlmIC8qIFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyAqLwpAQCAtNDY0LDIxICs0NzQsMjYgQEAKICAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgZG97ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPldQUiA9IDB4Q0FVOyAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX19IQU5ETEVfXyktPkluc3RhbmNlLT5XUFIgPSAweDUzVTsgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUoMFUpCisjZGVmaW5lIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRElTQUJMRShfX0hBTkRMRV9fKSBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX19IQU5ETEVfXyktPkluc3RhbmNlLT5XUFIgPSAweENBVTsgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9fSEFORExFX18pLT5JbnN0YW5jZS0+V1BSID0gMHg1M1U7ICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IHdoaWxlKDBVKQogCiAvKioKICAgKiBAYnJpZWYgIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycy4KICAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgZG97ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPldQUiA9IDB4RkZVOyAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSgwVSkKKyNkZWZpbmUgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoX19IQU5ETEVfXykgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX19IQU5ETEVfXyktPkluc3RhbmNlLT5XUFIgPSAweEZGVTsgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSgwVSkKKworLyoqCisgICogQGJyaWVmICBDaGVjayB3aGV0aGVyIHRoZSBSVEMgQ2FsZW5kYXIgaXMgaW5pdGlhbGl6ZWQuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfUlRDX0lTX0NBTEVOREFSX0lOSVRJQUxJWkVEKF9fSEFORExFX18pICAgICAgICAgICAgICAgICAoKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSKSAmIChSVENfRkxBR19JTklUUykpID09IFJUQ19GTEFHX0lOSVRTKSA/IDFVIDogMFUpCiAKIC8qKgogICAqIEBicmllZiAgRW5hYmxlIHRoZSBSVEMgQUxBUk1BIHBlcmlwaGVyYWwuCkBAIC01MjMsOSArNTM4LDkgQEAKICAgKiBAYnJpZWYgIERpc2FibGUgdGhlIFJUQyBBbGFybSBpbnRlcnJ1cHQuCiAgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KICAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBSVEMgQWxhcm0gaW50ZXJydXB0IHNvdXJjZXMgdG8gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4KLSAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6Ci0gICogICAgICAgICAgICBAYXJnIFJUQ19JVF9BTFJBOiBBbGFybSBBIGludGVycnVwdAotICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfQUxSQjogQWxhcm0gQiBpbnRlcnJ1cHQKKyAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYW55IGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgorICAqICAgICAgICAgICAgIEBhcmcgUlRDX0lUX0FMUkE6IEFsYXJtIEEgaW50ZXJydXB0CisgICogICAgICAgICAgICAgQGFyZyBSVENfSVRfQUxSQjogQWxhcm0gQiBpbnRlcnJ1cHQKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KICNkZWZpbmUgX19IQUxfUlRDX0FMQVJNX0RJU0FCTEVfSVQoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IgJj0gfihfX0lOVEVSUlVQVF9fKSkKQEAgLTUzOSwzMSArNTU0LDMxIEBACiAgICogICAgICAgICAgICBAYXJnIFJUQ19JVF9BTFJCOiBBbGFybSBCIGludGVycnVwdAogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9SVENfQUxBUk1fR0VUX0lUKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAgICAgICAgICAgICAgKCgoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IpJiAoKF9fSU5URVJSVVBUX18pPj4gNFUpKSAmIDB4MDAwMEZGRkZVKSAhPSBSRVNFVCk/IFNFVCA6IFJFU0VUKQorI2RlZmluZSBfX0hBTF9SVENfQUxBUk1fR0VUX0lUKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAgICAgICAoKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSKSAmICgoX19JTlRFUlJVUFRfXykgPj4gNFUpKSAhPSAwVSkgPyAxVSA6IDBVKQogCiAvKioKICAgKiBAYnJpZWYgIEdldCB0aGUgc2VsZWN0ZWQgUlRDIEFsYXJtJ3MgZmxhZyBzdGF0dXMuCiAgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KICAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgUlRDIEFsYXJtIEZsYWcgdG8gY2hlY2suCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmU6Ci0gICogICAgICAgICAgICBAYXJnIFJUQ19GTEFHX0FMUkFGCi0gICogICAgICAgICAgICBAYXJnIFJUQ19GTEFHX0FMUkJGCi0gICogICAgICAgICAgICBAYXJnIFJUQ19GTEFHX0FMUkFXRgotICAqICAgICAgICAgICAgQGFyZyBSVENfRkxBR19BTFJCV0YKKyAgKiAgICAgICAgICAgIEBhcmcgUlRDX0ZMQUdfQUxSQUY6IEFsYXJtIEEgaW50ZXJydXB0IGZsYWcKKyAgKiAgICAgICAgICAgIEBhcmcgUlRDX0ZMQUdfQUxSQVdGOiBBbGFybSBBICd3cml0ZSBhbGxvd2VkJyBmbGFnCisgICogICAgICAgICAgICBAYXJnIFJUQ19GTEFHX0FMUkJGOiBBbGFybSBCIGludGVycnVwdCBmbGFnCisgICogICAgICAgICAgICBAYXJnIFJUQ19GTEFHX0FMUkJXRjogQWxhcm0gQiAnd3JpdGUgYWxsb3dlZCcgZmxhZwogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9SVENfQUxBUk1fR0VUX0ZMQUcoX19IQU5ETEVfXywgX19GTEFHX18pICAgICAgICAgICAgICAgICgoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IpICYgKF9fRkxBR19fKSkgIT0gUkVTRVQpPyBTRVQgOiBSRVNFVCkKKyNkZWZpbmUgX19IQUxfUlRDX0FMQVJNX0dFVF9GTEFHKF9fSEFORExFX18sIF9fRkxBR19fKSAgICAgICAgICAgICAgICAoKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSKSAmIChfX0ZMQUdfXykpICE9IDBVKSA/IDFVIDogMFUpCiAKIC8qKgogICAqIEBicmllZiAgQ2xlYXIgdGhlIFJUQyBBbGFybSdzIHBlbmRpbmcgZmxhZ3MuCiAgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KLSAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgUlRDIEFsYXJtIEZsYWcgc291cmNlcyB0byBiZSBlbmFibGVkIG9yIGRpc2FibGVkLgorICAqIEBwYXJhbSAgX19GTEFHX18gc3BlY2lmaWVzIHRoZSBSVEMgQWxhcm0gZmxhZyB0byBiZSBjbGVhcmVkLgogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZToKICAgKiAgICAgICAgICAgICBAYXJnIFJUQ19GTEFHX0FMUkFGCiAgICogICAgICAgICAgICAgQGFyZyBSVENfRkxBR19BTFJCRgogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9SVENfQUxBUk1fQ0xFQVJfRkxBRyhfX0hBTkRMRV9fLCBfX0ZMQUdfXykgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSKSA9ICh+KCgoX19GTEFHX18pIHwgUlRDX0lTUl9JTklUKSYgMHgwMDAwRkZGRlUpfCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IgJiBSVENfSVNSX0lOSVQpKQorI2RlZmluZSBfX0hBTF9SVENfQUxBUk1fQ0xFQVJfRkxBRyhfX0hBTkRMRV9fLCBfX0ZMQUdfXykgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSKSA9ICh+KChfX0ZMQUdfXykgfCBSVENfSVNSX0lOSVQpfCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IgJiBSVENfSVNSX0lOSVQpKQogCiAvKioKICAgKiBAYnJpZWYgIENoZWNrIHdoZXRoZXIgdGhlIHNwZWNpZmllZCBSVEMgQWxhcm0gaW50ZXJydXB0IGhhcyBiZWVuIGVuYWJsZWQgb3Igbm90LgpAQCAtNTc0LDgyICs1ODksODggQEAKICAgKiAgICAgICAgICAgIEBhcmcgUlRDX0lUX0FMUkI6IEFsYXJtIEIgaW50ZXJydXB0CiAgICogQHJldHZhbCBOb25lCiAgICovCi0jZGVmaW5lIF9fSEFMX1JUQ19BTEFSTV9HRVRfSVRfU09VUkNFKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAoKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IpICYgKF9fSU5URVJSVVBUX18pKSAhPSBSRVNFVCkgPyBTRVQgOiBSRVNFVCkKKyNkZWZpbmUgX19IQUxfUlRDX0FMQVJNX0dFVF9JVF9TT1VSQ0UoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICgoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5DUikgJiAoX19JTlRFUlJVUFRfXykpICE9IDBVKSA/IDFVIDogMFUpCiAKIC8qKgotICAqIEBicmllZiAgRW5hYmxlIGludGVycnVwdCBvbiB0aGUgUlRDIEFsYXJtIGFzc29jaWF0ZWQgRXh0aSBsaW5lLgorICAqIEBicmllZiAgRW5hYmxlIGludGVycnVwdCBvbiB0aGUgUlRDIEFsYXJtIGFzc29jaWF0ZWQgRVhUSSBsaW5lLgogICAqIEByZXR2YWwgTm9uZQogICAqLwogI2RlZmluZSBfX0hBTF9SVENfQUxBUk1fRVhUSV9FTkFCTEVfSVQoKSAgICAgICAgICAgIChFWFRJLT5JTVIgfD0gUlRDX0VYVElfTElORV9BTEFSTV9FVkVOVCkKIAogLyoqCi0gICogQGJyaWVmICBEaXNhYmxlIGludGVycnVwdCBvbiB0aGUgUlRDIEFsYXJtIGFzc29jaWF0ZWQgRXh0aSBsaW5lLgorICAqIEBicmllZiAgRGlzYWJsZSBpbnRlcnJ1cHQgb24gdGhlIFJUQyBBbGFybSBhc3NvY2lhdGVkIEVYVEkgbGluZS4KICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX0FMQVJNX0VYVElfRElTQUJMRV9JVCgpICAgICAgICAgICAoRVhUSS0+SU1SICY9IH4oUlRDX0VYVElfTElORV9BTEFSTV9FVkVOVCkpCisjZGVmaW5lIF9fSEFMX1JUQ19BTEFSTV9FWFRJX0RJU0FCTEVfSVQoKSAgICAgICAgICAgKEVYVEktPklNUiAmPSB+UlRDX0VYVElfTElORV9BTEFSTV9FVkVOVCkKIAogLyoqCi0gICogQGJyaWVmICBFbmFibGUgZXZlbnQgb24gdGhlIFJUQyBBbGFybSBhc3NvY2lhdGVkIEV4dGkgbGluZS4KKyAgKiBAYnJpZWYgIEVuYWJsZSBldmVudCBvbiB0aGUgUlRDIEFsYXJtIGFzc29jaWF0ZWQgRVhUSSBsaW5lLgogICAqIEByZXR2YWwgTm9uZS4KICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX0FMQVJNX0VYVElfRU5BQkxFX0VWRU5UKCkgICAgICAgICAoRVhUSS0+RU1SIHw9IFJUQ19FWFRJX0xJTkVfQUxBUk1fRVZFTlQpCisjZGVmaW5lIF9fSEFMX1JUQ19BTEFSTV9FWFRJX0VOQUJMRV9FVkVOVCgpICAgICAgICAgIChFWFRJLT5FTVIgfD0gUlRDX0VYVElfTElORV9BTEFSTV9FVkVOVCkKIAogLyoqCi0gICogQGJyaWVmICBEaXNhYmxlIGV2ZW50IG9uIHRoZSBSVEMgQWxhcm0gYXNzb2NpYXRlZCBFeHRpIGxpbmUuCisgICogQGJyaWVmICBEaXNhYmxlIGV2ZW50IG9uIHRoZSBSVEMgQWxhcm0gYXNzb2NpYXRlZCBFWFRJIGxpbmUuCiAgICogQHJldHZhbCBOb25lLgogICAqLwotI2RlZmluZSBfX0hBTF9SVENfQUxBUk1fRVhUSV9ESVNBQkxFX0VWRU5UKCkgICAgICAgICAoRVhUSS0+RU1SICY9IH4oUlRDX0VYVElfTElORV9BTEFSTV9FVkVOVCkpCisjZGVmaW5lIF9fSEFMX1JUQ19BTEFSTV9FWFRJX0RJU0FCTEVfRVZFTlQoKSAgICAgICAgIChFWFRJLT5FTVIgJj0gflJUQ19FWFRJX0xJTkVfQUxBUk1fRVZFTlQpCiAKIC8qKgotICAqIEBicmllZiAgRW5hYmxlIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgQWxhcm0gYXNzb2NpYXRlZCBFeHRpIGxpbmUuCisgICogQGJyaWVmICBFbmFibGUgZmFsbGluZyBlZGdlIHRyaWdnZXIgb24gdGhlIFJUQyBBbGFybSBhc3NvY2lhdGVkIEVYVEkgbGluZS4KICAgKiBAcmV0dmFsIE5vbmUuCiAgICovCiAjZGVmaW5lIF9fSEFMX1JUQ19BTEFSTV9FWFRJX0VOQUJMRV9GQUxMSU5HX0VER0UoKSAgIChFWFRJLT5GVFNSIHw9IFJUQ19FWFRJX0xJTkVfQUxBUk1fRVZFTlQpCiAKIC8qKgotICAqIEBicmllZiAgRGlzYWJsZSBmYWxsaW5nIGVkZ2UgdHJpZ2dlciBvbiB0aGUgUlRDIEFsYXJtIGFzc29jaWF0ZWQgRXh0aSBsaW5lLgorICAqIEBicmllZiAgRGlzYWJsZSBmYWxsaW5nIGVkZ2UgdHJpZ2dlciBvbiB0aGUgUlRDIEFsYXJtIGFzc29jaWF0ZWQgRVhUSSBsaW5lLgogICAqIEByZXR2YWwgTm9uZS4KICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX0FMQVJNX0VYVElfRElTQUJMRV9GQUxMSU5HX0VER0UoKSAgKEVYVEktPkZUU1IgJj0gfihSVENfRVhUSV9MSU5FX0FMQVJNX0VWRU5UKSkKKyNkZWZpbmUgX19IQUxfUlRDX0FMQVJNX0VYVElfRElTQUJMRV9GQUxMSU5HX0VER0UoKSAgKEVYVEktPkZUU1IgJj0gflJUQ19FWFRJX0xJTkVfQUxBUk1fRVZFTlQpCiAKIC8qKgotICAqIEBicmllZiAgRW5hYmxlIHJpc2luZyBlZGdlIHRyaWdnZXIgb24gdGhlIFJUQyBBbGFybSBhc3NvY2lhdGVkIEV4dGkgbGluZS4KKyAgKiBAYnJpZWYgIEVuYWJsZSByaXNpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgQWxhcm0gYXNzb2NpYXRlZCBFWFRJIGxpbmUuCiAgICogQHJldHZhbCBOb25lLgogICAqLwogI2RlZmluZSBfX0hBTF9SVENfQUxBUk1fRVhUSV9FTkFCTEVfUklTSU5HX0VER0UoKSAgICAoRVhUSS0+UlRTUiB8PSBSVENfRVhUSV9MSU5FX0FMQVJNX0VWRU5UKQogCiAvKioKLSAgKiBAYnJpZWYgIERpc2FibGUgcmlzaW5nIGVkZ2UgdHJpZ2dlciBvbiB0aGUgUlRDIEFsYXJtIGFzc29jaWF0ZWQgRXh0aSBsaW5lLgorICAqIEBicmllZiAgRGlzYWJsZSByaXNpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgQWxhcm0gYXNzb2NpYXRlZCBFWFRJIGxpbmUuCiAgICogQHJldHZhbCBOb25lLgogICAqLwotI2RlZmluZSBfX0hBTF9SVENfQUxBUk1fRVhUSV9ESVNBQkxFX1JJU0lOR19FREdFKCkgICAoRVhUSS0+UlRTUiAmPSB+KFJUQ19FWFRJX0xJTkVfQUxBUk1fRVZFTlQpKQorI2RlZmluZSBfX0hBTF9SVENfQUxBUk1fRVhUSV9ESVNBQkxFX1JJU0lOR19FREdFKCkgICAoRVhUSS0+UlRTUiAmPSB+UlRDX0VYVElfTElORV9BTEFSTV9FVkVOVCkKIAogLyoqCi0gICogQGJyaWVmICBFbmFibGUgcmlzaW5nICYgZmFsbGluZyBlZGdlIHRyaWdnZXIgb24gdGhlIFJUQyBBbGFybSBhc3NvY2lhdGVkIEV4dGkgbGluZS4KKyAgKiBAYnJpZWYgIEVuYWJsZSByaXNpbmcgJiBmYWxsaW5nIGVkZ2UgdHJpZ2dlciBvbiB0aGUgUlRDIEFsYXJtIGFzc29jaWF0ZWQgRVhUSSBsaW5lLgogICAqIEByZXR2YWwgTm9uZS4KICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX0FMQVJNX0VYVElfRU5BQkxFX1JJU0lOR19GQUxMSU5HX0VER0UoKSBfX0hBTF9SVENfQUxBUk1fRVhUSV9FTkFCTEVfUklTSU5HX0VER0UoKTtfX0hBTF9SVENfQUxBUk1fRVhUSV9FTkFCTEVfRkFMTElOR19FREdFKCk7CisjZGVmaW5lIF9fSEFMX1JUQ19BTEFSTV9FWFRJX0VOQUJMRV9SSVNJTkdfRkFMTElOR19FREdFKCkgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JUQ19BTEFSTV9FWFRJX0VOQUJMRV9SSVNJTkdfRURHRSgpOyAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUlRDX0FMQVJNX0VYVElfRU5BQkxFX0ZBTExJTkdfRURHRSgpOyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSgwVSkKIAogLyoqCi0gICogQGJyaWVmICBEaXNhYmxlIHJpc2luZyAmIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgQWxhcm0gYXNzb2NpYXRlZCBFeHRpIGxpbmUuCisgICogQGJyaWVmICBEaXNhYmxlIHJpc2luZyAmIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgQWxhcm0gYXNzb2NpYXRlZCBFWFRJIGxpbmUuCiAgICogQHJldHZhbCBOb25lLgogICAqLwotI2RlZmluZSBfX0hBTF9SVENfQUxBUk1fRVhUSV9ESVNBQkxFX1JJU0lOR19GQUxMSU5HX0VER0UoKSBfX0hBTF9SVENfQUxBUk1fRVhUSV9ESVNBQkxFX1JJU0lOR19FREdFKCk7X19IQUxfUlRDX0FMQVJNX0VYVElfRElTQUJMRV9GQUxMSU5HX0VER0UoKTsKKyNkZWZpbmUgX19IQUxfUlRDX0FMQVJNX0VYVElfRElTQUJMRV9SSVNJTkdfRkFMTElOR19FREdFKCkgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUlRDX0FMQVJNX0VYVElfRElTQUJMRV9SSVNJTkdfRURHRSgpOyAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JUQ19BTEFSTV9FWFRJX0RJU0FCTEVfRkFMTElOR19FREdFKCk7IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSgwVSkKIAogLyoqCi0gICogQGJyaWVmIENoZWNrIHdoZXRoZXIgdGhlIFJUQyBBbGFybSBhc3NvY2lhdGVkIEV4dGkgbGluZSBpbnRlcnJ1cHQgZmxhZyBpcyBzZXQgb3Igbm90LgorICAqIEBicmllZiBDaGVjayB3aGV0aGVyIHRoZSBSVEMgQWxhcm0gYXNzb2NpYXRlZCBFWFRJIGxpbmUgaW50ZXJydXB0IGZsYWcgaXMgc2V0IG9yIG5vdC4KICAgKiBAcmV0dmFsIExpbmUgU3RhdHVzLgogICAqLwogI2RlZmluZSBfX0hBTF9SVENfQUxBUk1fRVhUSV9HRVRfRkxBRygpICAgICAgICAgICAgICAoRVhUSS0+UFIgJiBSVENfRVhUSV9MSU5FX0FMQVJNX0VWRU5UKQogCiAvKioKLSAgKiBAYnJpZWYgQ2xlYXIgdGhlIFJUQyBBbGFybSBhc3NvY2lhdGVkIEV4dGkgbGluZSBmbGFnLgorICAqIEBicmllZiBDbGVhciB0aGUgUlRDIEFsYXJtIGFzc29jaWF0ZWQgRVhUSSBsaW5lIGZsYWcuCiAgICogQHJldHZhbCBOb25lLgogICAqLwogI2RlZmluZSBfX0hBTF9SVENfQUxBUk1fRVhUSV9DTEVBUl9GTEFHKCkgICAgICAgICAgICAoRVhUSS0+UFIgPSBSVENfRVhUSV9MSU5FX0FMQVJNX0VWRU5UKQogCiAvKioKLSAgKiBAYnJpZWYgR2VuZXJhdGUgYSBTb2Z0d2FyZSBpbnRlcnJ1cHQgb24gUlRDIEFsYXJtIGFzc29jaWF0ZWQgRXh0aSBsaW5lLgorICAqIEBicmllZiBHZW5lcmF0ZSBhIFNvZnR3YXJlIGludGVycnVwdCBvbiBSVEMgQWxhcm0gYXNzb2NpYXRlZCBFWFRJIGxpbmUuCiAgICogQHJldHZhbCBOb25lLgogICAqLwogI2RlZmluZSBfX0hBTF9SVENfQUxBUk1fRVhUSV9HRU5FUkFURV9TV0lUKCkgICAgICAgICAoRVhUSS0+U1dJRVIgfD0gUlRDX0VYVElfTElORV9BTEFSTV9FVkVOVCkKQEAgLTY1NywxMCArNjc4LDExIEBACiAgICogQH0KICAgKi8KIAotLyogSW5jbHVkZSBSVEMgSEFMIEV4dGVuc2lvbiBtb2R1bGUgKi8KKy8qIEluY2x1ZGUgUlRDIEhBTCBFeHRlbmRlZCBtb2R1bGUgKi8KICNpbmNsdWRlICJzdG0zMmY3eHhfaGFsX3J0Y19leC5oIgogCiAvKiBFeHBvcnRlZCBmdW5jdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCiAvKiogQGFkZHRvZ3JvdXAgUlRDX0V4cG9ydGVkX0Z1bmN0aW9ucwogICAqIEB7CiAgICovCkBAIC02NzEsOCArNjkzLDggQEAKIC8qIEluaXRpYWxpemF0aW9uIGFuZCBkZS1pbml0aWFsaXphdGlvbiBmdW5jdGlvbnMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDX0luaXQoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ19EZUluaXQoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOwotdm9pZCAgICAgICBIQUxfUlRDX01zcEluaXQoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOwotdm9pZCAgICAgICBIQUxfUlRDX01zcERlSW5pdChSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7Cit2b2lkICAgICAgICAgICAgICBIQUxfUlRDX01zcEluaXQoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOwordm9pZCAgICAgICAgICAgICAgSEFMX1JUQ19Nc3BEZUluaXQoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOwogCiAvKiBDYWxsYmFja3MgUmVnaXN0ZXIvVW5SZWdpc3RlciBmdW5jdGlvbnMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2lmIChVU0VfSEFMX1JUQ19SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKQEAgLTY5MSwxMSArNzEzLDYgQEAKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENfR2V0VGltZShSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgUlRDX1RpbWVUeXBlRGVmICpzVGltZSwgdWludDMyX3QgRm9ybWF0KTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENfU2V0RGF0ZShSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgUlRDX0RhdGVUeXBlRGVmICpzRGF0ZSwgdWludDMyX3QgRm9ybWF0KTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENfR2V0RGF0ZShSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgUlRDX0RhdGVUeXBlRGVmICpzRGF0ZSwgdWludDMyX3QgRm9ybWF0KTsKLXZvaWQgICAgICAgICAgICAgIEhBTF9SVENfRFNUX0FkZDFIb3VyKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKLXZvaWQgICAgICAgICAgICAgIEhBTF9SVENfRFNUX1N1YjFIb3VyKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKLXZvaWQgICAgICAgICAgICAgIEhBTF9SVENfRFNUX1NldFN0b3JlT3BlcmF0aW9uKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKLXZvaWQgICAgICAgICAgICAgIEhBTF9SVENfRFNUX0NsZWFyU3RvcmVPcGVyYXRpb24oUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOwotdWludDMyX3QgICAgICAgICAgSEFMX1JUQ19EU1RfUmVhZFN0b3JlT3BlcmF0aW9uKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKIC8qKgogICAqIEB9CiAgICovCkBAIC03MDgsOSArNzI1LDkgQEAKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENfU2V0QWxhcm1fSVQoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIFJUQ19BbGFybVR5cGVEZWYgKnNBbGFybSwgdWludDMyX3QgRm9ybWF0KTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENfRGVhY3RpdmF0ZUFsYXJtKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBBbGFybSk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDX0dldEFsYXJtKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCBSVENfQWxhcm1UeXBlRGVmICpzQWxhcm0sIHVpbnQzMl90IEFsYXJtLCB1aW50MzJfdCBGb3JtYXQpOwotdm9pZCAgICAgICAgICAgICAgICBIQUxfUlRDX0FsYXJtSVJRSGFuZGxlcihSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7Ci1IQUxfU3RhdHVzVHlwZURlZiAgIEhBTF9SVENfUG9sbEZvckFsYXJtQUV2ZW50KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBUaW1lb3V0KTsKLXZvaWQgICAgICAgICBIQUxfUlRDX0FsYXJtQUV2ZW50Q2FsbGJhY2soUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOwordm9pZCAgICAgICAgICAgICAgSEFMX1JUQ19BbGFybUlSUUhhbmRsZXIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ19Qb2xsRm9yQWxhcm1BRXZlbnQoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIHVpbnQzMl90IFRpbWVvdXQpOwordm9pZCAgICAgICAgICAgICAgSEFMX1JUQ19BbGFybUFFdmVudENhbGxiYWNrKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKIC8qKgogICAqIEB9CiAgICovCkBAIC03MTksNyArNzM2LDE0IEBACiAgICogQHsKICAgKi8KIC8qIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1IQUxfU3RhdHVzVHlwZURlZiAgIEhBTF9SVENfV2FpdEZvclN5bmNocm8oUlRDX0hhbmRsZVR5cGVEZWYqIGhydGMpOworSEFMX1N0YXR1c1R5cGVEZWYgICBIQUxfUlRDX1dhaXRGb3JTeW5jaHJvKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKKworLyogUlRDIERheWxpZ2h0IFNhdmluZyBUaW1lIGZ1bmN0aW9ucyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgICAgICAgICAgICAgIEhBTF9SVENfRFNUX0FkZDFIb3VyKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKK3ZvaWQgICAgICAgICAgICAgIEhBTF9SVENfRFNUX1N1YjFIb3VyKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKK3ZvaWQgICAgICAgICAgICAgIEhBTF9SVENfRFNUX1NldFN0b3JlT3BlcmF0aW9uKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKK3ZvaWQgICAgICAgICAgICAgIEhBTF9SVENfRFNUX0NsZWFyU3RvcmVPcGVyYXRpb24oUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOwordWludDMyX3QgICAgICAgICAgSEFMX1JUQ19EU1RfUmVhZFN0b3JlT3BlcmF0aW9uKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKIC8qKgogICAqIEB9CiAgICovCkBAIC03NDAsMjMgKzc2NCwzOCBAQAogLyogUHJpdmF0ZSB0eXBlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIC8qIFByaXZhdGUgdmFyaWFibGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKiBQcml2YXRlIGNvbnN0YW50cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCiAvKiogQGRlZmdyb3VwIFJUQ19Qcml2YXRlX0NvbnN0YW50cyBSVEMgUHJpdmF0ZSBDb25zdGFudHMKICAgKiBAewogICAqLwogLyogTWFza3MgRGVmaW5pdGlvbiAqLwotI2RlZmluZSBSVENfVFJfUkVTRVJWRURfTUFTSyAgICAweDAwN0Y3RjdGVQotI2RlZmluZSBSVENfRFJfUkVTRVJWRURfTUFTSyAgICAweDAwRkZGRjNGVQorI2RlZmluZSBSVENfVFJfUkVTRVJWRURfTUFTSyAgICAoKHVpbnQzMl90KShSVENfVFJfSFQgIHwgUlRDX1RSX0hVICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX1RSX01OVCB8IFJUQ19UUl9NTlUgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19UUl9TVCAgfCBSVENfVFJfU1UgIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVFJfUE0pKQorI2RlZmluZSBSVENfRFJfUkVTRVJWRURfTUFTSyAgICAoKHVpbnQzMl90KShSVENfRFJfWVQgfCBSVENfRFJfWVUgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19EUl9NVCB8IFJUQ19EUl9NVSB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0RSX0RUIHwgUlRDX0RSX0RVIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfRFJfV0RVKSkKICNkZWZpbmUgUlRDX0lOSVRfTUFTSyAgICAgICAgICAgMHhGRkZGRkZGRlUKLSNkZWZpbmUgUlRDX1JTRl9NQVNLICAgICAgICAgICAgMHhGRkZGRkY1RlUKKyNkZWZpbmUgUlRDX1JTRl9NQVNLICAgICAgICAgICAgKCh1aW50MzJfdCl+KFJUQ19JU1JfSU5JVCB8IFJUQ19JU1JfUlNGKSkKKyNkZWZpbmUgUlRDX0ZMQUdTX01BU0sgICAgICAgICAgKCh1aW50MzJfdCkoUlRDX0ZMQUdfSU5JVEYgICB8IFJUQ19GTEFHX0lOSVRTICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0ZMQUdfQUxSQUYgICB8IFJUQ19GTEFHX0FMUkFXRiB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0ZMQUdfQUxSQkYgICB8IFJUQ19GTEFHX0FMUkJXRiB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0ZMQUdfV1VURiAgICB8IFJUQ19GTEFHX1dVVFdGICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0ZMQUdfUkVDQUxQRiB8IFJUQ19GTEFHX1NIUEYgICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0ZMQUdfVFNGICAgICB8IFJUQ19GTEFHX1RTT1ZGICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0ZMQUdfUlNGICAgICB8IFJUQ19UQU1QRVJfRkxBR1NfTUFTSykpCiAKICNkZWZpbmUgUlRDX1RJTUVPVVRfVkFMVUUgICAgICAgMTAwMFUKIAotI2RlZmluZSBSVENfRVhUSV9MSU5FX0FMQVJNX0VWRU5UICAgICAgICAgICAgIEVYVElfSU1SX0lNMTcgIC8qITwgRXh0ZXJuYWwgaW50ZXJydXB0IGxpbmUgMTcgQ29ubmVjdGVkIHRvIHRoZSBSVEMgQWxhcm0gZXZlbnQgKi8KKyNkZWZpbmUgUlRDX0VYVElfTElORV9BTEFSTV9FVkVOVCAgRVhUSV9JTVJfSU0xNyAgLyohPCBFeHRlcm5hbCBpbnRlcnJ1cHQgbGluZSAxNyBDb25uZWN0ZWQgdG8gdGhlIFJUQyBBbGFybSBldmVudCAqLwogLyoqCiAgICogQH0KICAgKi8KIAogLyogUHJpdmF0ZSBtYWNyb3MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwogLyoqIEBkZWZncm91cCBSVENfUHJpdmF0ZV9NYWNyb3MgUlRDIFByaXZhdGUgTWFjcm9zCiAgICogQHsKICAgKi8KQEAgLTc2NCw2NiArODAzLDg3IEBACiAvKiogQGRlZmdyb3VwIFJUQ19JU19SVENfRGVmaW5pdGlvbnMgUlRDIFByaXZhdGUgbWFjcm9zIHRvIGNoZWNrIGlucHV0IHBhcmFtZXRlcnMKICAgKiBAewogICAqLwotI2RlZmluZSBJU19SVENfSE9VUl9GT1JNQVQoX19GT1JNQVRfXykgKCgoX19GT1JNQVRfXykgPT0gUlRDX0hPVVJGT1JNQVRfMTIpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fRk9STUFUX18pID09IFJUQ19IT1VSRk9STUFUXzI0KSkKLSNkZWZpbmUgSVNfUlRDX09VVFBVVF9QT0woX19QT0xfXykgICAgICgoKF9fUE9MX18pID09IFJUQ19PVVRQVVRfUE9MQVJJVFlfSElHSCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19QT0xfXykgPT0gUlRDX09VVFBVVF9QT0xBUklUWV9MT1cpKQotI2RlZmluZSBJU19SVENfT1VUUFVUX1RZUEUoX19UWVBFX18pICAgKCgoX19UWVBFX18pID09IFJUQ19PVVRQVVRfVFlQRV9PUEVORFJBSU4pIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fVFlQRV9fKSA9PSBSVENfT1VUUFVUX1RZUEVfUFVTSFBVTEwpKQotI2RlZmluZSBJU19SVENfQVNZTkNIX1BSRURJVihfX1BSRURJVl9fKSAgICgoX19QUkVESVZfXykgPD0gMHg3RlUpCi0jZGVmaW5lIElTX1JUQ19TWU5DSF9QUkVESVYoX19QUkVESVZfXykgICAgKChfX1BSRURJVl9fKSA8PSAweDdGRkZVKQotI2RlZmluZSBJU19SVENfSE9VUjEyKF9fSE9VUl9fKSAgICAgICAgICAgICgoKF9fSE9VUl9fKSA+IDBVKSAmJiAoKF9fSE9VUl9fKSA8PSAxMlUpKQotI2RlZmluZSBJU19SVENfSE9VUjI0KF9fSE9VUl9fKSAgICAgICAgICAgICgoX19IT1VSX18pIDw9IDIzVSkKLSNkZWZpbmUgSVNfUlRDX01JTlVURVMoX19NSU5VVEVTX18pICAgICAgICAoKF9fTUlOVVRFU19fKSA8PSA1OVUpCi0jZGVmaW5lIElTX1JUQ19TRUNPTkRTKF9fU0VDT05EU19fKSAgICAgICAgKChfX1NFQ09ORFNfXykgPD0gNTlVKQotI2RlZmluZSBJU19SVENfSE9VUkZPUk1BVDEyKF9fUE1fXykgICgoKF9fUE1fXykgPT0gUlRDX0hPVVJGT1JNQVQxMl9BTSkgfHwgKChfX1BNX18pID09IFJUQ19IT1VSRk9STUFUMTJfUE0pKQotI2RlZmluZSBJU19SVENfREFZTElHSFRfU0FWSU5HKF9fU0FWRV9fKSAoKChfX1NBVkVfXykgPT0gUlRDX0RBWUxJR0hUU0FWSU5HX1NVQjFIKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0FWRV9fKSA9PSBSVENfREFZTElHSFRTQVZJTkdfQUREMUgpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19TQVZFX18pID09IFJUQ19EQVlMSUdIVFNBVklOR19OT05FKSkKLSNkZWZpbmUgSVNfUlRDX1NUT1JFX09QRVJBVElPTihfX09QRVJBVElPTl9fKSAoKChfX09QRVJBVElPTl9fKSA9PSBSVENfU1RPUkVPUEVSQVRJT05fUkVTRVQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX09QRVJBVElPTl9fKSA9PSBSVENfU1RPUkVPUEVSQVRJT05fU0VUKSkKLSNkZWZpbmUgSVNfUlRDX0ZPUk1BVChfX0ZPUk1BVF9fKSAoKChfX0ZPUk1BVF9fKSA9PSBSVENfRk9STUFUX0JJTikgfHwgKChfX0ZPUk1BVF9fKSA9PSBSVENfRk9STUFUX0JDRCkpCi0jZGVmaW5lIElTX1JUQ19ZRUFSKF9fWUVBUl9fKSAgICAgICAgICAgICAgKChfX1lFQVJfXykgPD0gOTlVKQotI2RlZmluZSBJU19SVENfTU9OVEgoX19NT05USF9fKSAgICAgICAgICAgICgoKF9fTU9OVEhfXykgPj0gMVUpICYmICgoX19NT05USF9fKSA8PSAxMlUpKQotI2RlZmluZSBJU19SVENfREFURShfX0RBVEVfXykgICAgICAgICAgICAgICgoKF9fREFURV9fKSA+PSAxVSkgJiYgKChfX0RBVEVfXykgPD0gMzFVKSkKLSNkZWZpbmUgSVNfUlRDX1dFRUtEQVkoX19XRUVLREFZX18pICgoKF9fV0VFS0RBWV9fKSA9PSBSVENfV0VFS0RBWV9NT05EQVkpICAgIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fV0VFS0RBWV9fKSA9PSBSVENfV0VFS0RBWV9UVUVTREFZKSAgIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fV0VFS0RBWV9fKSA9PSBSVENfV0VFS0RBWV9XRURORVNEQVkpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fV0VFS0RBWV9fKSA9PSBSVENfV0VFS0RBWV9USFVSU0RBWSkgIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fV0VFS0RBWV9fKSA9PSBSVENfV0VFS0RBWV9GUklEQVkpICAgIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fV0VFS0RBWV9fKSA9PSBSVENfV0VFS0RBWV9TQVRVUkRBWSkgIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fV0VFS0RBWV9fKSA9PSBSVENfV0VFS0RBWV9TVU5EQVkpKQorI2RlZmluZSBJU19SVENfSE9VUl9GT1JNQVQoRk9STUFUKSAgICAgKCgoRk9STUFUKSA9PSBSVENfSE9VUkZPUk1BVF8xMikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRk9STUFUKSA9PSBSVENfSE9VUkZPUk1BVF8yNCkpCiAKLSNkZWZpbmUgSVNfUlRDX0FMQVJNX0RBVEVfV0VFS0RBWV9EQVRFKF9fREFURV9fKSAoKChfX0RBVEVfXykgPjBVKSAmJiAoKF9fREFURV9fKSA8PSAzMVUpKQotI2RlZmluZSBJU19SVENfQUxBUk1fREFURV9XRUVLREFZX1dFRUtEQVkoX19XRUVLREFZX18pICgoKF9fV0VFS0RBWV9fKSA9PSBSVENfV0VFS0RBWV9NT05EQVkpICAgIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1dFRUtEQVlfXykgPT0gUlRDX1dFRUtEQVlfVFVFU0RBWSkgICB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19XRUVLREFZX18pID09IFJUQ19XRUVLREFZX1dFRE5FU0RBWSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fV0VFS0RBWV9fKSA9PSBSVENfV0VFS0RBWV9USFVSU0RBWSkgIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1dFRUtEQVlfXykgPT0gUlRDX1dFRUtEQVlfRlJJREFZKSAgICB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19XRUVLREFZX18pID09IFJUQ19XRUVLREFZX1NBVFVSREFZKSAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fV0VFS0RBWV9fKSA9PSBSVENfV0VFS0RBWV9TVU5EQVkpKQotI2RlZmluZSBJU19SVENfQUxBUk1fREFURV9XRUVLREFZX1NFTChfX1NFTF9fKSAoKChfX1NFTF9fKSA9PSBSVENfQUxBUk1EQVRFV0VFS0RBWVNFTF9EQVRFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0VMX18pID09IFJUQ19BTEFSTURBVEVXRUVLREFZU0VMX1dFRUtEQVkpKQotI2RlZmluZSBJU19SVENfQUxBUk1fTUFTSyhfX01BU0tfXykgICgoKF9fTUFTS19fKSAmIDB4N0Y3RjdGN0ZVKSA9PSAodWludDMyX3QpUkVTRVQpCi0jZGVmaW5lIElTX1JUQ19BTEFSTShfX0FMQVJNX18pICAgICAgKCgoX19BTEFSTV9fKSA9PSBSVENfQUxBUk1fQSkgfHwgKChfX0FMQVJNX18pID09IFJUQ19BTEFSTV9CKSkKLSNkZWZpbmUgSVNfUlRDX0FMQVJNX1NVQl9TRUNPTkRfVkFMVUUoX19WQUxVRV9fKSAoKF9fVkFMVUVfXykgPD0gMHgwMDAwN0ZGRlUpCi0jZGVmaW5lIElTX1JUQ19BTEFSTV9TVUJfU0VDT05EX01BU0soX19NQVNLX18pICAgKCgoX19NQVNLX18pID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfQUxMKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19NQVNLX18pID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8xKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19NQVNLX18pID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8yKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19NQVNLX18pID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8zKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19NQVNLX18pID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF80KSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19NQVNLX18pID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF81KSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19NQVNLX18pID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF82KSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19NQVNLX18pID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF83KSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19NQVNLX18pID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF84KSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19NQVNLX18pID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF85KSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19NQVNLX18pID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8xMCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fTUFTS19fKSA9PSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfMTEpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX01BU0tfXykgPT0gUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzEyKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19NQVNLX18pID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8xMykgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fTUFTS19fKSA9PSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX01BU0tfXykgPT0gUlRDX0FMQVJNU1VCU0VDT05ETUFTS19OT05FKSkKKyNkZWZpbmUgSVNfUlRDX09VVFBVVChPVVRQVVQpICgoKE9VVFBVVCkgPT0gUlRDX09VVFBVVF9ESVNBQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChPVVRQVVQpID09IFJUQ19PVVRQVVRfQUxBUk1BKSAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoT1VUUFVUKSA9PSBSVENfT1VUUFVUX0FMQVJNQikgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE9VVFBVVCkgPT0gUlRDX09VVFBVVF9XQUtFVVApKQogCisjZGVmaW5lIElTX1JUQ19PVVRQVVRfUE9MKFBPTCkgKCgoUE9MKSA9PSBSVENfT1VUUFVUX1BPTEFSSVRZX0hJR0gpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChQT0wpID09IFJUQ19PVVRQVVRfUE9MQVJJVFlfTE9XKSkKKworI2RlZmluZSBJU19SVENfT1VUUFVUX1RZUEUoVFlQRSkgKCgoVFlQRSkgPT0gUlRDX09VVFBVVF9UWVBFX09QRU5EUkFJTikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVFlQRSkgPT0gUlRDX09VVFBVVF9UWVBFX1BVU0hQVUxMKSkKKworI2RlZmluZSBJU19SVENfQVNZTkNIX1BSRURJVihQUkVESVYpICAgKChQUkVESVYpIDw9IDB4N0ZVKQorI2RlZmluZSBJU19SVENfU1lOQ0hfUFJFRElWKFBSRURJVikgICAgKChQUkVESVYpIDw9IDB4N0ZGRlUpCisKKyNkZWZpbmUgSVNfUlRDX0hPVVIxMihIT1VSKSAgICAgICAgICAgICgoKEhPVVIpID4gMFUpICYmICgoSE9VUikgPD0gMTJVKSkKKyNkZWZpbmUgSVNfUlRDX0hPVVIyNChIT1VSKSAgICAgICAgICAgICgoSE9VUikgPD0gMjNVKQorI2RlZmluZSBJU19SVENfTUlOVVRFUyhNSU5VVEVTKSAgICAgICAgKChNSU5VVEVTKSA8PSA1OVUpCisjZGVmaW5lIElTX1JUQ19TRUNPTkRTKFNFQ09ORFMpICAgICAgICAoKFNFQ09ORFMpIDw9IDU5VSkKKworI2RlZmluZSBJU19SVENfSE9VUkZPUk1BVDEyKFBNKSAgKCgoUE0pID09IFJUQ19IT1VSRk9STUFUMTJfQU0pIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFBNKSA9PSBSVENfSE9VUkZPUk1BVDEyX1BNKSkKKworI2RlZmluZSBJU19SVENfREFZTElHSFRfU0FWSU5HKFNBVkUpICgoKFNBVkUpID09IFJUQ19EQVlMSUdIVFNBVklOR19TVUIxSCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFNBVkUpID09IFJUQ19EQVlMSUdIVFNBVklOR19BREQxSCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFNBVkUpID09IFJUQ19EQVlMSUdIVFNBVklOR19OT05FKSkKKworI2RlZmluZSBJU19SVENfU1RPUkVfT1BFUkFUSU9OKE9QRVJBVElPTikgKCgoT1BFUkFUSU9OKSA9PSBSVENfU1RPUkVPUEVSQVRJT05fUkVTRVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE9QRVJBVElPTikgPT0gUlRDX1NUT1JFT1BFUkFUSU9OX1NFVCkpCisKKyNkZWZpbmUgSVNfUlRDX0ZPUk1BVChGT1JNQVQpICgoKEZPUk1BVCkgPT0gUlRDX0ZPUk1BVF9CSU4pIHx8ICgoRk9STUFUKSA9PSBSVENfRk9STUFUX0JDRCkpCisKKyNkZWZpbmUgSVNfUlRDX1lFQVIoWUVBUikgICAgICAgICAgICAgICgoWUVBUikgPD0gOTlVKQorI2RlZmluZSBJU19SVENfTU9OVEgoTU9OVEgpICAgICAgICAgICAgKCgoTU9OVEgpID49IDFVKSAmJiAoKE1PTlRIKSA8PSAxMlUpKQorI2RlZmluZSBJU19SVENfREFURShEQVRFKSAgICAgICAgICAgICAgKCgoREFURSkgPj0gMVUpICYmICgoREFURSkgPD0gMzFVKSkKKworI2RlZmluZSBJU19SVENfV0VFS0RBWShXRUVLREFZKSAoKChXRUVLREFZKSA9PSBSVENfV0VFS0RBWV9NT05EQVkpICAgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoV0VFS0RBWSkgPT0gUlRDX1dFRUtEQVlfVFVFU0RBWSkgICB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFdFRUtEQVkpID09IFJUQ19XRUVLREFZX1dFRE5FU0RBWSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChXRUVLREFZKSA9PSBSVENfV0VFS0RBWV9USFVSU0RBWSkgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoV0VFS0RBWSkgPT0gUlRDX1dFRUtEQVlfRlJJREFZKSAgICB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFdFRUtEQVkpID09IFJUQ19XRUVLREFZX1NBVFVSREFZKSAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChXRUVLREFZKSA9PSBSVENfV0VFS0RBWV9TVU5EQVkpKQorCisjZGVmaW5lIElTX1JUQ19BTEFSTV9EQVRFX1dFRUtEQVlfREFURShEQVRFKSAoKChEQVRFKSA+IDBVKSAmJiAoKERBVEUpIDw9IDMxVSkpCisKKyNkZWZpbmUgSVNfUlRDX0FMQVJNX0RBVEVfV0VFS0RBWV9XRUVLREFZKFdFRUtEQVkpICgoKFdFRUtEQVkpID09IFJUQ19XRUVLREFZX01PTkRBWSkgICAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoV0VFS0RBWSkgPT0gUlRDX1dFRUtEQVlfVFVFU0RBWSkgICB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChXRUVLREFZKSA9PSBSVENfV0VFS0RBWV9XRURORVNEQVkpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFdFRUtEQVkpID09IFJUQ19XRUVLREFZX1RIVVJTREFZKSAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoV0VFS0RBWSkgPT0gUlRDX1dFRUtEQVlfRlJJREFZKSAgICB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChXRUVLREFZKSA9PSBSVENfV0VFS0RBWV9TQVRVUkRBWSkgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFdFRUtEQVkpID09IFJUQ19XRUVLREFZX1NVTkRBWSkpCisKKyNkZWZpbmUgSVNfUlRDX0FMQVJNX0RBVEVfV0VFS0RBWV9TRUwoU0VMKSAoKChTRUwpID09IFJUQ19BTEFSTURBVEVXRUVLREFZU0VMX0RBVEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChTRUwpID09IFJUQ19BTEFSTURBVEVXRUVLREFZU0VMX1dFRUtEQVkpKQorCisjZGVmaW5lIElTX1JUQ19BTEFSTV9NQVNLKE1BU0spICAoKChNQVNLKSAmICgodWludDMyX3QpflJUQ19BTEFSTU1BU0tfQUxMKSkgPT0gMFUpCisKKyNkZWZpbmUgSVNfUlRDX0FMQVJNKEFMQVJNKSAgICAgICgoKEFMQVJNKSA9PSBSVENfQUxBUk1fQSkgfHwgKChBTEFSTSkgPT0gUlRDX0FMQVJNX0IpKQorCisjZGVmaW5lIElTX1JUQ19BTEFSTV9TVUJfU0VDT05EX1ZBTFVFKFZBTFVFKSAoKFZBTFVFKSA8PSBSVENfQUxSTUFTU1JfU1MpCisKKyNkZWZpbmUgSVNfUlRDX0FMQVJNX1NVQl9TRUNPTkRfTUFTSyhNQVNLKSAgICgoKE1BU0spID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfQUxMKSAgICAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTUFTSykgPT0gUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzEpICB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNQVNLKSA9PSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfMikgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1BU0spID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8zKSAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTUFTSykgPT0gUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzQpICB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNQVNLKSA9PSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfNSkgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1BU0spID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF82KSAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTUFTSykgPT0gUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzcpICB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNQVNLKSA9PSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfOCkgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1BU0spID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF85KSAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTUFTSykgPT0gUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzEwKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNQVNLKSA9PSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfMTEpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1BU0spID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8xMikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTUFTSykgPT0gUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzEzKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNQVNLKSA9PSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTQpICAgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1BU0spID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfTk9ORSkpCiAvKioKICAgKiBAfQogICAqLwpAQCAtODMzLDEyICs4OTMsMTQgQEAKICAgKi8KIAogLyogUHJpdmF0ZSBmdW5jdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwogLyoqIEBkZWZncm91cCBSVENfUHJpdmF0ZV9GdW5jdGlvbnMgUlRDIFByaXZhdGUgRnVuY3Rpb25zCiAgICogQHsKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmICBSVENfRW50ZXJJbml0TW9kZShSVENfSGFuZGxlVHlwZURlZiogaHJ0Yyk7Ci11aW50OF90ICAgICAgICAgICAgUlRDX0J5dGVUb0JjZDIodWludDhfdCBWYWx1ZSk7Ci11aW50OF90ICAgICAgICAgICAgUlRDX0JjZDJUb0J5dGUodWludDhfdCBWYWx1ZSk7CitIQUxfU3RhdHVzVHlwZURlZiAgUlRDX0VudGVySW5pdE1vZGUoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOworSEFMX1N0YXR1c1R5cGVEZWYgIFJUQ19FeGl0SW5pdE1vZGUoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOwordWludDhfdCAgICAgICAgICAgIFJUQ19CeXRlVG9CY2QyKHVpbnQ4X3QgbnVtYmVyKTsKK3VpbnQ4X3QgICAgICAgICAgICBSVENfQmNkMlRvQnl0ZSh1aW50OF90IG51bWJlcik7CiAvKioKICAgKiBAfQogICAqLwpAQCAtODU1LDUgKzkxNyw0IEBACiB9CiAjZW5kaWYKIAotI2VuZGlmIC8qIF9fU1RNMzJGN3h4X0hBTF9SVENfSCAqLwotCisjZW5kaWYgLyogU1RNMzJGN3h4X0hBTF9SVENfSCAqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjd4eF9oYWxfcnRjX2V4LmggYi9JbmMvc3RtMzJmN3h4X2hhbF9ydGNfZXguaAppbmRleCA3NDE1Yjk1Li5lNTQ1Yjg0IDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmN3h4X2hhbF9ydGNfZXguaAorKysgYi9JbmMvc3RtMzJmN3h4X2hhbF9ydGNfZXguaApAQCAtMiw3ICsyLDcgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGZpbGUgICAgc3RtMzJmN3h4X2hhbF9ydGNfZXguaAogICAqIEBhdXRob3IgIE1DRCBBcHBsaWNhdGlvbiBUZWFtCi0gICogQGJyaWVmICAgSGVhZGVyIGZpbGUgb2YgUlRDIEhBTCBFeHRlbnNpb24gbW9kdWxlLgorICAqIEBicmllZiAgIEhlYWRlciBmaWxlIG9mIFJUQyBIQUwgRXh0ZW5kZWQgbW9kdWxlLgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKQEAgLTE0LDE3ICsxNCwxOCBAQAogICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqLyAKKyAgKi8KIAogLyogRGVmaW5lIHRvIHByZXZlbnQgcmVjdXJzaXZlIGluY2x1c2lvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLSNpZm5kZWYgX19TVE0zMkY3eHhfSEFMX1JUQ19FWF9ICi0jZGVmaW5lIF9fU1RNMzJGN3h4X0hBTF9SVENfRVhfSAorI2lmbmRlZiBTVE0zMkY3eHhfSEFMX1JUQ19FWF9ICisjZGVmaW5lIFNUTTMyRjd4eF9IQUxfUlRDX0VYX0gKIAogI2lmZGVmIF9fY3BsdXNwbHVzCi0gZXh0ZXJuICJDIiB7CitleHRlcm4gIkMiIHsKICNlbmRpZgogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCiAjaW5jbHVkZSAic3RtMzJmN3h4X2hhbF9kZWYuaCIKIAogLyoqIEBhZGR0b2dyb3VwIFNUTTMyRjd4eF9IQUxfRHJpdmVyCkBAIC0zMywxMTkgKzM0LDEyMCBAQAogCiAvKiogQGFkZHRvZ3JvdXAgUlRDRXgKICAgKiBAewotICAqLyAKKyAgKi8KIAotLyogRXhwb3J0ZWQgdHlwZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8gCisvKiBFeHBvcnRlZCB0eXBlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCiAvKiogQGRlZmdyb3VwIFJUQ0V4X0V4cG9ydGVkX1R5cGVzIFJUQ0V4IEV4cG9ydGVkIFR5cGVzCiAgICogQHsKICAgKi8KIAotLyoqIAotICAqIEBicmllZiAgUlRDIFRhbXBlciBzdHJ1Y3R1cmUgZGVmaW5pdGlvbiAgCisvKioKKyAgKiBAYnJpZWYgIFJUQyBUYW1wZXIgc3RydWN0dXJlIGRlZmluaXRpb24KICAgKi8KLXR5cGVkZWYgc3RydWN0IAordHlwZWRlZiBzdHJ1Y3QKIHsKICAgdWludDMyX3QgVGFtcGVyOyAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgVGFtcGVyIFBpbi4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgIFJUQ0V4X1RhbXBlcl9QaW5zX0RlZmluaXRpb25zICovCi0gIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBSVENFeF9UYW1wZXJfUGluX0RlZmluaXRpb25zICovCisKICAgdWludDMyX3QgSW50ZXJydXB0OyAgICAgICAgICAgICAgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgVGFtcGVyIEludGVycnVwdC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgIFJUQ0V4X1RhbXBlcl9JbnRlcnJ1cHRfRGVmaW5pdGlvbnMgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgUlRDRXhfVGFtcGVyX0ludGVycnVwdF9EZWZpbml0aW9ucyAqLworCiAgIHVpbnQzMl90IFRyaWdnZXI7ICAgICAgICAgICAgICAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIFRhbXBlciBUcmlnZ2VyLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiAgUlRDRXhfVGFtcGVyX1RyaWdnZXJfRGVmaW5pdGlvbnMgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBSVENFeF9UYW1wZXJfVHJpZ2dlcl9EZWZpbml0aW9ucyAqLworCiAgIHVpbnQzMl90IE5vRXJhc2U7ICAgICAgICAgICAgICAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIFRhbXBlciBubyBlcmFzZSBtb2RlLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiAgUlRDRXhfVGFtcGVyX0VyYXNlQmFja1VwX0RlZmluaXRpb25zICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIFJUQ0V4X1RhbXBlcl9FcmFzZUJhY2tVcF9EZWZpbml0aW9ucyAqLwogCiAgIHVpbnQzMl90IE1hc2tGbGFnOyAgICAgICAgICAgICAgICAgICAgIC8qITwgU3BlY2lmaWVzIHRoZSBUYW1wZXIgRmxhZyBtYXNraW5nLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBSVENFeF9UYW1wZXJfTWFza0ZsYWdfRGVmaW5pdGlvbnMgICAqLwogCiAgIHVpbnQzMl90IEZpbHRlcjsgICAgICAgICAgICAgICAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIFJUQyBGaWx0ZXIgVGFtcGVyLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBSVENFeF9UYW1wZXJfRmlsdGVyX0RlZmluaXRpb25zICovCi0gIAorCiAgIHVpbnQzMl90IFNhbXBsaW5nRnJlcXVlbmN5OyAgICAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIHNhbXBsaW5nIGZyZXF1ZW5jeS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgUlRDRXhfVGFtcGVyX1NhbXBsaW5nX0ZyZXF1ZW5jaWVzX0RlZmluaXRpb25zICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCiAgIHVpbnQzMl90IFByZWNoYXJnZUR1cmF0aW9uOyAgICAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIFByZWNoYXJnZSBEdXJhdGlvbiAuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIFJUQ0V4X1RhbXBlcl9QaW5fUHJlY2hhcmdlX0R1cmF0aW9uX0RlZmluaXRpb25zICovIAotIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBSVENFeF9UYW1wZXJfUGluX1ByZWNoYXJnZV9EdXJhdGlvbl9EZWZpbml0aW9ucyAqLworCiAgIHVpbnQzMl90IFRhbXBlclB1bGxVcDsgICAgICAgICAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIFRhbXBlciBQdWxsVXAgLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBSVENFeF9UYW1wZXJfUHVsbF9VUF9EZWZpbml0aW9ucyAqLyAgICAgICAgICAgCi0gCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIFJUQ0V4X1RhbXBlcl9QdWxsX1VwX0RlZmluaXRpb25zICovCisKICAgdWludDMyX3QgVGltZVN0YW1wT25UYW1wZXJEZXRlY3Rpb247ICAvKiE8IFNwZWNpZmllcyB0aGUgVGltZVN0YW1wT25UYW1wZXJEZXRlY3Rpb24uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIFJUQ0V4X1RhbXBlcl9UaW1lU3RhbXBPblRhbXBlckRldGVjdGlvbl9EZWZpbml0aW9ucyAqLyAgICAgICAgICAgICAgICAgICAgICAKLX1SVENfVGFtcGVyVHlwZURlZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgUlRDRXhfVGFtcGVyX1RpbWVTdGFtcE9uVGFtcGVyRGV0ZWN0aW9uX0RlZmluaXRpb25zICovCit9IFJUQ19UYW1wZXJUeXBlRGVmOwogLyoqCiAgICogQH0KICAgKi8KIAogLyogRXhwb3J0ZWQgY29uc3RhbnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwogLyoqIEBkZWZncm91cCBSVENFeF9FeHBvcnRlZF9Db25zdGFudHMgUlRDRXggRXhwb3J0ZWQgQ29uc3RhbnRzCiAgICogQHsKICAgKi8KIAotLyoqIEBkZWZncm91cCBSVENFeF9PdXRwdXRfc2VsZWN0aW9uX0RlZmluaXRpb25zIFJUQ0V4IE91dHB1dCBzZWxlY3Rpb24gRGVmaW5pdGlvbnMgCi0gICogQHsKLSAgKi8gCi0jZGVmaW5lIFJUQ19PVVRQVVRfRElTQUJMRSAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQotI2RlZmluZSBSVENfT1VUUFVUX0FMQVJNQSAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwVSkKLSNkZWZpbmUgUlRDX09VVFBVVF9BTEFSTUIgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMFUpCi0jZGVmaW5lIFJUQ19PVVRQVVRfV0FLRVVQICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA2MDAwMDBVKQotLyoqCi0gICogQH0KLSAgKi8gCi0gIAotLyoqIEBkZWZncm91cCBSVENFeF9CYWNrdXBfUmVnaXN0ZXJzX0RlZmluaXRpb25zIFJUQyBCYWNrdXAgUmVnaXN0ZXJzIERlZmluaXRpb25zCisvKiogQGRlZmdyb3VwIFJUQ0V4X0JhY2t1cF9SZWdpc3RlcnNfRGVmaW5pdGlvbnMgUlRDRXggQmFja3VwIFJlZ2lzdGVycyBEZWZpbml0aW9ucwogICAqIEB7CiAgICovCi0jZGVmaW5lIFJUQ19CS1BfRFIwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQotI2RlZmluZSBSVENfQktQX0RSMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxVSkKLSNkZWZpbmUgUlRDX0JLUF9EUjIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMlUpCi0jZGVmaW5lIFJUQ19CS1BfRFIzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDNVKQotI2RlZmluZSBSVENfQktQX0RSNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0VSkKLSNkZWZpbmUgUlRDX0JLUF9EUjUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNVUpCi0jZGVmaW5lIFJUQ19CS1BfRFI2ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDZVKQotI2RlZmluZSBSVENfQktQX0RSNyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA3VSkKLSNkZWZpbmUgUlRDX0JLUF9EUjggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOFUpCi0jZGVmaW5lIFJUQ19CS1BfRFI5ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDlVKQotI2RlZmluZSBSVENfQktQX0RSMTAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDBBVSkKLSNkZWZpbmUgUlRDX0JLUF9EUjExICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwQlUpCi0jZGVmaW5lIFJUQ19CS1BfRFIxMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMENVKQotI2RlZmluZSBSVENfQktQX0RSMTMgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDBEVSkKLSNkZWZpbmUgUlRDX0JLUF9EUjE0ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwRVUpCi0jZGVmaW5lIFJUQ19CS1BfRFIxNSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEZVKQotI2RlZmluZSBSVENfQktQX0RSMTYgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwVSkKLSNkZWZpbmUgUlRDX0JLUF9EUjE3ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMVUpCi0jZGVmaW5lIFJUQ19CS1BfRFIxOCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTJVKQotI2RlZmluZSBSVENfQktQX0RSMTkgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEzVSkKLSNkZWZpbmUgUlRDX0JLUF9EUjIwICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxNFUpCi0jZGVmaW5lIFJUQ19CS1BfRFIyMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTVVKQotI2RlZmluZSBSVENfQktQX0RSMjIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDE2VSkKLSNkZWZpbmUgUlRDX0JLUF9EUjIzICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxN1UpCi0jZGVmaW5lIFJUQ19CS1BfRFIyNCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMThVKQotI2RlZmluZSBSVENfQktQX0RSMjUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDE5VSkKLSNkZWZpbmUgUlRDX0JLUF9EUjI2ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxQVUpCi0jZGVmaW5lIFJUQ19CS1BfRFIyNyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMUJVKQotI2RlZmluZSBSVENfQktQX0RSMjggICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDFDVSkKLSNkZWZpbmUgUlRDX0JLUF9EUjI5ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxRFUpCi0jZGVmaW5lIFJUQ19CS1BfRFIzMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMUVVKQotI2RlZmluZSBSVENfQktQX0RSMzEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDFGVSkKKyNkZWZpbmUgUlRDX0JLUF9EUjAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVCisjZGVmaW5lIFJUQ19CS1BfRFIxICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAxVQorI2RlZmluZSBSVENfQktQX0RSMiAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMlUKKyNkZWZpbmUgUlRDX0JLUF9EUjMgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDNVCisjZGVmaW5lIFJUQ19CS1BfRFI0ICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA0VQorI2RlZmluZSBSVENfQktQX0RSNSAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwNVUKKyNkZWZpbmUgUlRDX0JLUF9EUjYgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDZVCisjZGVmaW5lIFJUQ19CS1BfRFI3ICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA3VQorI2RlZmluZSBSVENfQktQX0RSOCAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwOFUKKyNkZWZpbmUgUlRDX0JLUF9EUjkgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDlVCisjZGVmaW5lIFJUQ19CS1BfRFIxMCAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDBBVQorI2RlZmluZSBSVENfQktQX0RSMTEgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwQlUKKyNkZWZpbmUgUlRDX0JLUF9EUjEyICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMENVCisjZGVmaW5lIFJUQ19CS1BfRFIxMyAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDBEVQorI2RlZmluZSBSVENfQktQX0RSMTQgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwRVUKKyNkZWZpbmUgUlRDX0JLUF9EUjE1ICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMEZVCisjZGVmaW5lIFJUQ19CS1BfRFIxNiAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDEwVQorI2RlZmluZSBSVENfQktQX0RSMTcgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAxMVUKKyNkZWZpbmUgUlRDX0JLUF9EUjE4ICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMTJVCisjZGVmaW5lIFJUQ19CS1BfRFIxOSAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDEzVQorI2RlZmluZSBSVENfQktQX0RSMjAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAxNFUKKyNkZWZpbmUgUlRDX0JLUF9EUjIxICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMTVVCisjZGVmaW5lIFJUQ19CS1BfRFIyMiAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDE2VQorI2RlZmluZSBSVENfQktQX0RSMjMgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAxN1UKKyNkZWZpbmUgUlRDX0JLUF9EUjI0ICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMThVCisjZGVmaW5lIFJUQ19CS1BfRFIyNSAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDE5VQorI2RlZmluZSBSVENfQktQX0RSMjYgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAxQVUKKyNkZWZpbmUgUlRDX0JLUF9EUjI3ICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMUJVCisjZGVmaW5lIFJUQ19CS1BfRFIyOCAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDFDVQorI2RlZmluZSBSVENfQktQX0RSMjkgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAxRFUKKyNkZWZpbmUgUlRDX0JLUF9EUjMwICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMUVVCisjZGVmaW5lIFJUQ19CS1BfRFIzMSAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDFGVQogLyoqCiAgICogQH0KLSAgKi8gCisgICovCiAKLS8qKiBAZGVmZ3JvdXAgUlRDRXhfVGltZV9TdGFtcF9FZGdlc19kZWZpbml0aW9ucyBSVENFeCBUaW1lIFN0YW1wIEVkZ2VzIGRlZmluaXRpb25zIAorLyoqIEBkZWZncm91cCBSVENFeF9UaW1lc3RhbXBfRWRnZXNfRGVmaW5pdGlvbnMgUlRDRXggVGltZXN0YW1wIEVkZ2VzIERlZmluaXRpb25zCiAgICogQHsKLSAgKi8gCi0jZGVmaW5lIFJUQ19USU1FU1RBTVBFREdFX1JJU0lORyAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQotI2RlZmluZSBSVENfVElNRVNUQU1QRURHRV9GQUxMSU5HICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4VSkKKyAgKi8KKyNkZWZpbmUgUlRDX1RJTUVTVEFNUEVER0VfUklTSU5HICAgICAgICAgIDB4MDAwMDAwMDBVCisjZGVmaW5lIFJUQ19USU1FU1RBTVBFREdFX0ZBTExJTkcgICAgICAgICBSVENfQ1JfVFNFREdFCiAvKioKICAgKiBAfQogICAqLwotICAKLS8qKiBAZGVmZ3JvdXAgUlRDRXhfVGFtcGVyX1BpbnNfRGVmaW5pdGlvbnMgUlRDRXggVGFtcGVyIFBpbnMgRGVmaW5pdGlvbnMgCisKKy8qKiBAZGVmZ3JvdXAgUlRDRXhfVGltZXN0YW1wX1Bpbl9TZWxlY3Rpb24gUlRDIFRpbWVzdGFtcCBQaW4gU2VsZWN0aW9uCiAgICogQHsKLSAgKi8gCisgICovCisjZGVmaW5lIFJUQ19USU1FU1RBTVBQSU5fREVGQVVMVCAgICAgICAgICAgIDB4MDAwMDAwMDBVCisjZGVmaW5lIFJUQ19USU1FU1RBTVBQSU5fUE9TMSAgICAgICAgICAgICAgIFJUQ19PUl9UU0lOU0VMXzAKKyNkZWZpbmUgUlRDX1RJTUVTVEFNUFBJTl9QT1MyICAgICAgICAgICAgICAgUlRDX09SX1RTSU5TRUxfMQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBSVENFeF9UYW1wZXJfUGluX0RlZmluaXRpb25zIFJUQ0V4IFRhbXBlciBQaW5zIERlZmluaXRpb25zCisgICogQHsKKyAgKi8KICNkZWZpbmUgUlRDX1RBTVBFUl8xICAgICAgICAgICAgICAgICAgICBSVENfVEFNUENSX1RBTVAxRQogI2RlZmluZSBSVENfVEFNUEVSXzIgICAgICAgICAgICAgICAgICAgIFJUQ19UQU1QQ1JfVEFNUDJFCiAjZGVmaW5lIFJUQ19UQU1QRVJfMyAgICAgICAgICAgICAgICAgICAgUlRDX1RBTVBDUl9UQU1QM0UKQEAgLTE1Myw0MyArMTU1LDQxIEBACiAgICogQH0KICAgKi8KIAorLyoqIEBkZWZncm91cCBSVENFeF9UYW1wZXJfUGluX1NlbGVjdGlvbiBSVEMgdGFtcGVyIFBpbnMgU2VsZWN0aW9uCisgICogQHsKKyAgKi8KKyNkZWZpbmUgUlRDX1RBTVBFUlBJTl9ERUZBVUxUICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUKKy8qKgorICAqIEB9CisgICovCisKIC8qKiBAZGVmZ3JvdXAgUlRDRXhfVGFtcGVyX0ludGVycnVwdF9EZWZpbml0aW9ucyBSVENFeCBUYW1wZXIgSW50ZXJydXB0IERlZmluaXRpb25zCiAgICogQHsKICAgKi8KLSNkZWZpbmUgUlRDX1RBTVBFUjFfSU5URVJSVVBUICAgICAgICAgICAgICAgIFJUQ19UQU1QQ1JfVEFNUDFJRQotI2RlZmluZSBSVENfVEFNUEVSMl9JTlRFUlJVUFQgICAgICAgICAgICAgICAgUlRDX1RBTVBDUl9UQU1QMklFCi0jZGVmaW5lIFJUQ19UQU1QRVIzX0lOVEVSUlVQVCAgICAgICAgICAgICAgICBSVENfVEFNUENSX1RBTVAzSUUKLSNkZWZpbmUgUlRDX0FMTF9UQU1QRVJfSU5URVJSVVBUICAgICAgICAgICAgIFJUQ19UQU1QQ1JfVEFNUElFCisjZGVmaW5lIFJUQ19JVF9UQU1QICAgICAgICAgICAgICAgICAgICAgICBSVENfVEFNUENSX1RBTVBJRSAgIC8qITwgRW5hYmxlIGdsb2JhbCBUYW1wZXIgSW50ZXJydXB0ICAgICAgICAgICAqLworI2RlZmluZSBSVENfSVRfVEFNUDEgICAgICAgICAgICAgICAgICAgICAgUlRDX1RBTVBDUl9UQU1QMUlFICAvKiE8IEVuYWJsZSBUYW1wZXIgMSBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgUlRDX0lUX1RBTVAyICAgICAgICAgICAgICAgICAgICAgIFJUQ19UQU1QQ1JfVEFNUDJJRSAgLyohPCBFbmFibGUgVGFtcGVyIDIgSW50ZXJydXB0ICAgICAgICAgICAgICAgICovCisjZGVmaW5lIFJUQ19JVF9UQU1QMyAgICAgICAgICAgICAgICAgICAgICBSVENfVEFNUENSX1RBTVAzSUUgIC8qITwgRW5hYmxlIFRhbXBlciAzIEludGVycnVwdCAgICAgICAgICAgICAgICAqLwogLyoqCiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBSVENFeF9UaW1lU3RhbXBfUGluX1NlbGVjdGlvbiBSVENFeCBUaW1lU3RhbXAgUGluIFNlbGVjdGlvbgorLyoqIEBkZWZncm91cCBSVENFeF9UYW1wZXJfVHJpZ2dlcl9EZWZpbml0aW9ucyBSVENFeCBUYW1wZXIgVHJpZ2dlcnMgRGVmaW5pdGlvbnMKICAgKiBAewotICAqLyAKLSNkZWZpbmUgUlRDX1RJTUVTVEFNUFBJTl9ERUZBVUxUICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKLSNkZWZpbmUgUlRDX1RJTUVTVEFNUFBJTl9QT1MxICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyVSkKLSNkZWZpbmUgUlRDX1RJTUVTVEFNUFBJTl9QT1MyICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0VSkKLS8qKgotICAqIEB9Ci0gICovIAotCi0vKiogQGRlZmdyb3VwIFJUQ0V4X1RhbXBlcl9UcmlnZ2VyX0RlZmluaXRpb25zIFJUQ0V4IFRhbXBlciBUcmlnZ2VyIERlZmluaXRpb25zIAotICAqIEB7Ci0gICovIAotI2RlZmluZSBSVENfVEFNUEVSVFJJR0dFUl9SSVNJTkdFREdFICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCi0jZGVmaW5lIFJUQ19UQU1QRVJUUklHR0VSX0ZBTExJTkdFREdFICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyVSkKKyAgKi8KKyNkZWZpbmUgUlRDX1RBTVBFUlRSSUdHRVJfUklTSU5HRURHRSAgICAgICAweDAwMDAwMDAwVQorI2RlZmluZSBSVENfVEFNUEVSVFJJR0dFUl9GQUxMSU5HRURHRSAgICAgIFJUQ19UQU1QQ1JfVEFNUDFUUkcKICNkZWZpbmUgUlRDX1RBTVBFUlRSSUdHRVJfTE9XTEVWRUwgICAgICAgICBSVENfVEFNUEVSVFJJR0dFUl9SSVNJTkdFREdFCi0jZGVmaW5lIFJUQ19UQU1QRVJUUklHR0VSX0hJR0hMRVZFTCAgICAgICAgUlRDX1RBTVBFUlRSSUdHRVJfRkFMTElOR0VER0UgCisjZGVmaW5lIFJUQ19UQU1QRVJUUklHR0VSX0hJR0hMRVZFTCAgICAgICAgUlRDX1RBTVBFUlRSSUdHRVJfRkFMTElOR0VER0UKIC8qKgogICAqIEB9Ci0gICovICAKKyAgKi8KIAotICAvKiogQGRlZmdyb3VwIFJUQ0V4X1RhbXBlcl9FcmFzZUJhY2tVcF9EZWZpbml0aW9ucyBSVENFeCBUYW1wZXIgRXJhc2VCYWNrVXAgRGVmaW5pdGlvbnMKLSogQHsKLSovCi0jZGVmaW5lIFJUQ19UQU1QRVJfRVJBU0VfQkFDS1VQX0VOQUJMRSAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCi0jZGVmaW5lIFJUQ19UQU1QRVJfRVJBU0VfQkFDS1VQX0RJU0FCTEUgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMFUpCisvKiogQGRlZmdyb3VwIFJUQ0V4X1RhbXBlcl9FcmFzZUJhY2tVcF9EZWZpbml0aW9ucyBSVENFeCBUYW1wZXIgRXJhc2VCYWNrVXAgRGVmaW5pdGlvbnMKKyAgKiBAeworICAqLworI2RlZmluZSBSVENfVEFNUEVSX0VSQVNFX0JBQ0tVUF9FTkFCTEUgICAgICAgICAgICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgUlRDX1RBTVBFUl9FUkFTRV9CQUNLVVBfRElTQUJMRSAgICAgICAgICAgIFJUQ19UQU1QQ1JfVEFNUDFOT0VSQVNFCiAvKioKICAgKiBAfQogICAqLwpAQCAtMTk3LDIyMiArMTk3LDQ1MiBAQAogLyoqIEBkZWZncm91cCBSVENFeF9UYW1wZXJfTWFza0ZsYWdfRGVmaW5pdGlvbnMgUlRDRXggVGFtcGVyIE1hc2tGbGFnIERlZmluaXRpb25zCiAgICogQHsKICAgKi8KLSNkZWZpbmUgUlRDX1RBTVBFUk1BU0tfRkxBR19ESVNBQkxFICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCi0jZGVmaW5lIFJUQ19UQU1QRVJNQVNLX0ZMQUdfRU5BQkxFICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDBVKQotLyoqCi0gICogQH0KLSAgKi8KLSAgCi0vKiogQGRlZmdyb3VwIFJUQ0V4X1RhbXBlcl9GaWx0ZXJfRGVmaW5pdGlvbnMgUlRDRXggVGFtcGVyIEZpbHRlciBEZWZpbml0aW9ucyAKLSAgKiBAewotICAqLyAKLSNkZWZpbmUgUlRDX1RBTVBFUkZJTFRFUl9ESVNBQkxFICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkgIC8qITwgVGFtcGVyIGZpbHRlciBpcyBkaXNhYmxlZCAqLwotCi0jZGVmaW5lIFJUQ19UQU1QRVJGSUxURVJfMlNBTVBMRSAgICgodWludDMyX3QpMHgwMDAwMDgwMFUpICAvKiE8IFRhbXBlciBpcyBhY3RpdmF0ZWQgYWZ0ZXIgMiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zZWN1dGl2ZSBzYW1wbGVzIGF0IHRoZSBhY3RpdmUgbGV2ZWwgKi8KLSNkZWZpbmUgUlRDX1RBTVBFUkZJTFRFUl80U0FNUExFICAgKCh1aW50MzJfdCkweDAwMDAxMDAwVSkgIC8qITwgVGFtcGVyIGlzIGFjdGl2YXRlZCBhZnRlciA0IAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNlY3V0aXZlIHNhbXBsZXMgYXQgdGhlIGFjdGl2ZSBsZXZlbCAqLwotI2RlZmluZSBSVENfVEFNUEVSRklMVEVSXzhTQU1QTEUgICAoKHVpbnQzMl90KTB4MDAwMDE4MDBVKSAgLyohPCBUYW1wZXIgaXMgYWN0aXZhdGVkIGFmdGVyIDggCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc2VjdXRpdmUgc2FtcGxlcyBhdCB0aGUgYWN0aXZlIGxldmUuICovCisjZGVmaW5lIFJUQ19UQU1QRVJNQVNLX0ZMQUdfRElTQUJMRSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVQorI2RlZmluZSBSVENfVEFNUEVSTUFTS19GTEFHX0VOQUJMRSAgICAgICAgICAgICAgICAgUlRDX1RBTVBDUl9UQU1QMU1GCiAvKioKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIFJUQ0V4X1RhbXBlcl9TYW1wbGluZ19GcmVxdWVuY2llc19EZWZpbml0aW9ucyBSVENFeCBUYW1wZXIgU2FtcGxpbmcgRnJlcXVlbmNpZXMgRGVmaW5pdGlvbnMgCisvKiogQGRlZmdyb3VwIFJUQ0V4X1RhbXBlcl9GaWx0ZXJfRGVmaW5pdGlvbnMgUlRDRXggVGFtcGVyIEZpbHRlciBEZWZpbml0aW9ucwogICAqIEB7CiAgICovCi0jZGVmaW5lIFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjMyNzY4ICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKSAgLyohPCBFYWNoIG9mIHRoZSB0YW1wZXIgaW5wdXRzIGFyZSBzYW1wbGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggYSBmcmVxdWVuY3kgPSAgUlRDQ0xLIC8gMzI3NjggKi8KLSNkZWZpbmUgUlRDX1RBTVBFUlNBTVBMSU5HRlJFUV9SVENDTEtfRElWMTYzODQgICgodWludDMyX3QpMHgwMDAwMDEwMFUpICAvKiE8IEVhY2ggb2YgdGhlIHRhbXBlciBpbnB1dHMgYXJlIHNhbXBsZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBhIGZyZXF1ZW5jeSA9ICBSVENDTEsgLyAxNjM4NCAqLwotI2RlZmluZSBSVENfVEFNUEVSU0FNUExJTkdGUkVRX1JUQ0NMS19ESVY4MTkyICAgKCh1aW50MzJfdCkweDAwMDAwMjAwVSkgIC8qITwgRWFjaCBvZiB0aGUgdGFtcGVyIGlucHV0cyBhcmUgc2FtcGxlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIGEgZnJlcXVlbmN5ID0gIFJUQ0NMSyAvIDgxOTIgICovCi0jZGVmaW5lIFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjQwOTYgICAoKHVpbnQzMl90KTB4MDAwMDAzMDBVKSAgLyohPCBFYWNoIG9mIHRoZSB0YW1wZXIgaW5wdXRzIGFyZSBzYW1wbGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggYSBmcmVxdWVuY3kgPSAgUlRDQ0xLIC8gNDA5NiAgKi8KLSNkZWZpbmUgUlRDX1RBTVBFUlNBTVBMSU5HRlJFUV9SVENDTEtfRElWMjA0OCAgICgodWludDMyX3QpMHgwMDAwMDQwMFUpICAvKiE8IEVhY2ggb2YgdGhlIHRhbXBlciBpbnB1dHMgYXJlIHNhbXBsZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBhIGZyZXF1ZW5jeSA9ICBSVENDTEsgLyAyMDQ4ICAqLwotI2RlZmluZSBSVENfVEFNUEVSU0FNUExJTkdGUkVRX1JUQ0NMS19ESVYxMDI0ICAgKCh1aW50MzJfdCkweDAwMDAwNTAwVSkgIC8qITwgRWFjaCBvZiB0aGUgdGFtcGVyIGlucHV0cyBhcmUgc2FtcGxlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIGEgZnJlcXVlbmN5ID0gIFJUQ0NMSyAvIDEwMjQgICovCi0jZGVmaW5lIFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjUxMiAgICAoKHVpbnQzMl90KTB4MDAwMDA2MDBVKSAgLyohPCBFYWNoIG9mIHRoZSB0YW1wZXIgaW5wdXRzIGFyZSBzYW1wbGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggYSBmcmVxdWVuY3kgPSAgUlRDQ0xLIC8gNTEyICAgKi8KLSNkZWZpbmUgUlRDX1RBTVBFUlNBTVBMSU5HRlJFUV9SVENDTEtfRElWMjU2ICAgICgodWludDMyX3QpMHgwMDAwMDcwMFUpICAvKiE8IEVhY2ggb2YgdGhlIHRhbXBlciBpbnB1dHMgYXJlIHNhbXBsZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBhIGZyZXF1ZW5jeSA9ICBSVENDTEsgLyAyNTYgICAqLworI2RlZmluZSBSVENfVEFNUEVSRklMVEVSX0RJU0FCTEUgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAvKiE8IFRhbXBlciBmaWx0ZXIgaXMgZGlzYWJsZWQgKi8KKworI2RlZmluZSBSVENfVEFNUEVSRklMVEVSXzJTQU1QTEUgICBSVENfVEFNUENSX1RBTVBGTFRfMCAgICAvKiE8IFRhbXBlciBpcyBhY3RpdmF0ZWQgYWZ0ZXIgMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zZWN1dGl2ZSBzYW1wbGVzIGF0IHRoZSBhY3RpdmUgbGV2ZWwgKi8KKyNkZWZpbmUgUlRDX1RBTVBFUkZJTFRFUl80U0FNUExFICAgUlRDX1RBTVBDUl9UQU1QRkxUXzEgICAgLyohPCBUYW1wZXIgaXMgYWN0aXZhdGVkIGFmdGVyIDQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc2VjdXRpdmUgc2FtcGxlcyBhdCB0aGUgYWN0aXZlIGxldmVsICovCisjZGVmaW5lIFJUQ19UQU1QRVJGSUxURVJfOFNBTVBMRSAgIFJUQ19UQU1QQ1JfVEFNUEZMVCAgICAgIC8qITwgVGFtcGVyIGlzIGFjdGl2YXRlZCBhZnRlciA4CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNlY3V0aXZlIHNhbXBsZXMgYXQgdGhlIGFjdGl2ZSBsZXZlbCAqLworI2RlZmluZSBSVENfVEFNUEVSRklMVEVSX01BU0sgICAgICBSVENfVEFNUENSX1RBTVBGTFQgICAgICAvKiE8IE1hc2tpbmcgYWxsIGJpdHMgZXhjZXB0IHRob3NlIG9mCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkIFRBTVBGTFQgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogLyoqCiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBSVENFeF9UYW1wZXJfUGluX1ByZWNoYXJnZV9EdXJhdGlvbl9EZWZpbml0aW9ucyBSVENFeCBUYW1wZXIgUGluIFByZWNoYXJnZSBEdXJhdGlvbiBEZWZpbml0aW9ucyAKKy8qKiBAZGVmZ3JvdXAgUlRDRXhfVGFtcGVyX1NhbXBsaW5nX0ZyZXF1ZW5jaWVzX0RlZmluaXRpb25zIFJUQ0V4IFRhbXBlciBTYW1wbGluZyBGcmVxdWVuY2llcyBEZWZpbml0aW9ucwogICAqIEB7Ci0gICovIAotI2RlZmluZSBSVENfVEFNUEVSUFJFQ0hBUkdFRFVSQVRJT05fMVJUQ0NMSyAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKSAgLyohPCBUYW1wZXIgcGlucyBhcmUgcHJlLWNoYXJnZWQgYmVmb3JlIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbXBsaW5nIGR1cmluZyAxIFJUQ0NMSyBjeWNsZSAqLwotI2RlZmluZSBSVENfVEFNUEVSUFJFQ0hBUkdFRFVSQVRJT05fMlJUQ0NMSyAoKHVpbnQzMl90KTB4MDAwMDIwMDBVKSAgLyohPCBUYW1wZXIgcGlucyBhcmUgcHJlLWNoYXJnZWQgYmVmb3JlIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbXBsaW5nIGR1cmluZyAyIFJUQ0NMSyBjeWNsZXMgKi8KLSNkZWZpbmUgUlRDX1RBTVBFUlBSRUNIQVJHRURVUkFUSU9OXzRSVENDTEsgKCh1aW50MzJfdCkweDAwMDA0MDAwVSkgIC8qITwgVGFtcGVyIHBpbnMgYXJlIHByZS1jaGFyZ2VkIGJlZm9yZSAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGluZyBkdXJpbmcgNCBSVENDTEsgY3ljbGVzICovCi0jZGVmaW5lIFJUQ19UQU1QRVJQUkVDSEFSR0VEVVJBVElPTl84UlRDQ0xLICgodWludDMyX3QpMHgwMDAwNjAwMFUpICAvKiE8IFRhbXBlciBwaW5zIGFyZSBwcmUtY2hhcmdlZCBiZWZvcmUgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtcGxpbmcgZHVyaW5nIDggUlRDQ0xLIGN5Y2xlcyAqLwotLyoqCi0gICogQH0KICAgKi8KLSAgCi0vKiogQGRlZmdyb3VwIFJUQ0V4X1RhbXBlcl9UaW1lU3RhbXBPblRhbXBlckRldGVjdGlvbl9EZWZpbml0aW9ucyBSVENFeCBUYW1wZXIgVGltZVN0YW1wT25UYW1wZXJEZXRlY3Rpb24gRGVmaW5pdGlvbnMKLSAgKiBAewotICAqLyAKLSNkZWZpbmUgUlRDX1RJTUVTVEFNUE9OVEFNUEVSREVURUNUSU9OX0VOQUJMRSAgKCh1aW50MzJfdClSVENfVEFNUENSX1RBTVBUUykgIC8qITwgVGltZVN0YW1wIG9uIFRhbXBlciBEZXRlY3Rpb24gZXZlbnQgc2F2ZWQgICAgICAgICovCi0jZGVmaW5lIFJUQ19USU1FU1RBTVBPTlRBTVBFUkRFVEVDVElPTl9ESVNBQkxFICgodWludDMyX3QpMHgwMDAwMDAwMFUpICAgICAgICAvKiE8IFRpbWVTdGFtcCBvbiBUYW1wZXIgRGV0ZWN0aW9uIGV2ZW50IGlzIG5vdCBzYXZlZCAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLS8qKgotICAqIEB9Ci0gICovCi0gIAotLyoqIEBkZWZncm91cCAgUlRDRXhfVGFtcGVyX1B1bGxfVVBfRGVmaW5pdGlvbnMgUlRDRXggVGFtcGVyIFB1bGwgVVAgRGVmaW5pdGlvbnMKLSAgKiBAewotICAqLyAKLSNkZWZpbmUgUlRDX1RBTVBFUl9QVUxMVVBfRU5BQkxFICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKSAgICAgICAgICAgIC8qITwgVGltZVN0YW1wIG9uIFRhbXBlciBEZXRlY3Rpb24gZXZlbnQgc2F2ZWQgICAgICAgICovCi0jZGVmaW5lIFJUQ19UQU1QRVJfUFVMTFVQX0RJU0FCTEUgKCh1aW50MzJfdClSVENfVEFNUENSX1RBTVBQVURJUykgICAvKiE8IFRpbWVTdGFtcCBvbiBUYW1wZXIgRGV0ZWN0aW9uIGV2ZW50IGlzIG5vdCBzYXZlZCAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBSVENfVEFNUEVSU0FNUExJTkdGUkVRX1JUQ0NMS19ESVYzMjc2OCAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBFYWNoIG9mIHRoZSB0YW1wZXIgaW5wdXRzIGFyZSBzYW1wbGVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIGEgZnJlcXVlbmN5ID0gIFJUQ0NMSyAvIDMyNzY4ICovCisjZGVmaW5lIFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjE2Mzg0ICBSVENfVEFNUENSX1RBTVBGUkVRXzAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEVhY2ggb2YgdGhlIHRhbXBlciBpbnB1dHMgYXJlIHNhbXBsZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggYSBmcmVxdWVuY3kgPSAgUlRDQ0xLIC8gMTYzODQgKi8KKyNkZWZpbmUgUlRDX1RBTVBFUlNBTVBMSU5HRlJFUV9SVENDTEtfRElWODE5MiAgIFJUQ19UQU1QQ1JfVEFNUEZSRVFfMSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRWFjaCBvZiB0aGUgdGFtcGVyIGlucHV0cyBhcmUgc2FtcGxlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBhIGZyZXF1ZW5jeSA9ICBSVENDTEsgLyA4MTkyICAqLworI2RlZmluZSBSVENfVEFNUEVSU0FNUExJTkdGUkVRX1JUQ0NMS19ESVY0MDk2ICAgKFJUQ19UQU1QQ1JfVEFNUEZSRVFfMCB8IFJUQ19UQU1QQ1JfVEFNUEZSRVFfMSkgLyohPCBFYWNoIG9mIHRoZSB0YW1wZXIgaW5wdXRzIGFyZSBzYW1wbGVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIGEgZnJlcXVlbmN5ID0gIFJUQ0NMSyAvIDQwOTYgICovCisjZGVmaW5lIFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjIwNDggICBSVENfVEFNUENSX1RBTVBGUkVRXzIgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEVhY2ggb2YgdGhlIHRhbXBlciBpbnB1dHMgYXJlIHNhbXBsZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggYSBmcmVxdWVuY3kgPSAgUlRDQ0xLIC8gMjA0OCAgKi8KKyNkZWZpbmUgUlRDX1RBTVBFUlNBTVBMSU5HRlJFUV9SVENDTEtfRElWMTAyNCAgIChSVENfVEFNUENSX1RBTVBGUkVRXzAgfCBSVENfVEFNUENSX1RBTVBGUkVRXzIpIC8qITwgRWFjaCBvZiB0aGUgdGFtcGVyIGlucHV0cyBhcmUgc2FtcGxlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBhIGZyZXF1ZW5jeSA9ICBSVENDTEsgLyAxMDI0ICAqLworI2RlZmluZSBSVENfVEFNUEVSU0FNUExJTkdGUkVRX1JUQ0NMS19ESVY1MTIgICAgKFJUQ19UQU1QQ1JfVEFNUEZSRVFfMSB8IFJUQ19UQU1QQ1JfVEFNUEZSRVFfMikgLyohPCBFYWNoIG9mIHRoZSB0YW1wZXIgaW5wdXRzIGFyZSBzYW1wbGVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIGEgZnJlcXVlbmN5ID0gIFJUQ0NMSyAvIDUxMiAgICovCisjZGVmaW5lIFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjI1NiAgICBSVENfVEFNUENSX1RBTVBGUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEVhY2ggb2YgdGhlIHRhbXBlciBpbnB1dHMgYXJlIHNhbXBsZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggYSBmcmVxdWVuY3kgPSAgUlRDQ0xLIC8gMjU2ICAgKi8KKyNkZWZpbmUgUlRDX1RBTVBFUlNBTVBMSU5HRlJFUV9SVENDTEtfTUFTSyAgICAgIFJUQ19UQU1QQ1JfVEFNUEZSRVEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTWFza2luZyBhbGwgYml0cyBleGNlcHQgdGhvc2Ugb2YKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkIFRBTVBGUkVRICAgICAgICAgICAgICAgICAgICAgKi8KIC8qKgogICAqIEB9CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgUlRDRXhfV2FrZXVwX1RpbWVyX0RlZmluaXRpb25zIFJUQ0V4IFdha2V1cCBUaW1lciBEZWZpbml0aW9ucyAKKy8qKiBAZGVmZ3JvdXAgUlRDRXhfVGFtcGVyX1Bpbl9QcmVjaGFyZ2VfRHVyYXRpb25fRGVmaW5pdGlvbnMgUlRDRXggVGFtcGVyIFBpbiBQcmVjaGFyZ2UgRHVyYXRpb24gRGVmaW5pdGlvbnMKICAgKiBAewotICAqLyAKLSNkZWZpbmUgUlRDX1dBS0VVUENMT0NLX1JUQ0NMS19ESVYxNiAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKLSNkZWZpbmUgUlRDX1dBS0VVUENMT0NLX1JUQ0NMS19ESVY4ICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxVSkKLSNkZWZpbmUgUlRDX1dBS0VVUENMT0NLX1JUQ0NMS19ESVY0ICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyVSkKLSNkZWZpbmUgUlRDX1dBS0VVUENMT0NLX1JUQ0NMS19ESVYyICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAzVSkKLSNkZWZpbmUgUlRDX1dBS0VVUENMT0NLX0NLX1NQUkVfMTZCSVRTICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0VSkKLSNkZWZpbmUgUlRDX1dBS0VVUENMT0NLX0NLX1NQUkVfMTdCSVRTICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA2VSkKKyAgKi8KKyNkZWZpbmUgUlRDX1RBTVBFUlBSRUNIQVJHRURVUkFUSU9OXzFSVENDTEsgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgIC8qITwgVGFtcGVyIHBpbnMgYXJlIHByZS1jaGFyZ2VkIGJlZm9yZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtcGxpbmcgZHVyaW5nIDEgUlRDQ0xLIGN5Y2xlICAqLworI2RlZmluZSBSVENfVEFNUEVSUFJFQ0hBUkdFRFVSQVRJT05fMlJUQ0NMSyAgICAgUlRDX1RBTVBDUl9UQU1QUFJDSF8wICAgLyohPCBUYW1wZXIgcGlucyBhcmUgcHJlLWNoYXJnZWQgYmVmb3JlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGluZyBkdXJpbmcgMiBSVENDTEsgY3ljbGVzICovCisjZGVmaW5lIFJUQ19UQU1QRVJQUkVDSEFSR0VEVVJBVElPTl80UlRDQ0xLICAgICBSVENfVEFNUENSX1RBTVBQUkNIXzEgICAvKiE8IFRhbXBlciBwaW5zIGFyZSBwcmUtY2hhcmdlZCBiZWZvcmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbXBsaW5nIGR1cmluZyA0IFJUQ0NMSyBjeWNsZXMgKi8KKyNkZWZpbmUgUlRDX1RBTVBFUlBSRUNIQVJHRURVUkFUSU9OXzhSVENDTEsgICAgIFJUQ19UQU1QQ1JfVEFNUFBSQ0ggICAgIC8qITwgVGFtcGVyIHBpbnMgYXJlIHByZS1jaGFyZ2VkIGJlZm9yZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtcGxpbmcgZHVyaW5nIDggUlRDQ0xLIGN5Y2xlcyAqLworI2RlZmluZSBSVENfVEFNUEVSUFJFQ0hBUkdFRFVSQVRJT05fTUFTSyAgICAgICAgUlRDX1RBTVBDUl9UQU1QUFJDSCAgICAgLyohPCBNYXNraW5nIGFsbCBiaXRzIGV4Y2VwdCB0aG9zZSBvZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQgVEFNUFBSQ0ggICAgICAgICAgICAgICAgICAqLwogLyoqCiAgICogQH0KLSAgKi8gCisgICovCiAKLS8qKiBAZGVmZ3JvdXAgUlRDRXhfU21vb3RoX2NhbGliX3BlcmlvZF9EZWZpbml0aW9ucyBSVENFeCBTbW9vdGggY2FsaWIgcGVyaW9kIERlZmluaXRpb25zIAorLyoqIEBkZWZncm91cCAgUlRDRXhfVGFtcGVyX1B1bGxfVXBfRGVmaW5pdGlvbnMgUlRDRXggVGFtcGVyIFB1bGwgVXAgRGVmaW5pdGlvbnMKICAgKiBAewotICAqLyAKLSNkZWZpbmUgUlRDX1NNT09USENBTElCX1BFUklPRF8zMlNFQyAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpICAvKiE8IElmIFJUQ0NMSyA9IDMyNzY4IEh6LCBTbW9vdGggY2FsaWJyYXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyaW9kIGlzIDMycywgIGVsc2UgMmV4cDIwIFJUQ0NMSyBzZWNvbmRzICovCi0jZGVmaW5lIFJUQ19TTU9PVEhDQUxJQl9QRVJJT0RfMTZTRUMgICAoKHVpbnQzMl90KTB4MDAwMDIwMDBVKSAgLyohPCBJZiBSVENDTEsgPSAzMjc2OCBIeiwgU21vb3RoIGNhbGlicmF0aW9uIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJpb2QgaXMgMTZzLCBlbHNlIDJleHAxOSBSVENDTEsgc2Vjb25kcyAqLwotI2RlZmluZSBSVENfU01PT1RIQ0FMSUJfUEVSSU9EXzhTRUMgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwVSkgIC8qITwgSWYgUlRDQ0xLID0gMzI3NjggSHosIFNtb290aCBjYWxpYnJhdGlvbiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyaW9kIGlzIDhzLCBlbHNlIDJleHAxOCBSVENDTEsgc2Vjb25kcyAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgKi8KKyNkZWZpbmUgUlRDX1RBTVBFUl9QVUxMVVBfRU5BQkxFICAweDAwMDAwMDAwVSAgICAgICAgICAgLyohPCBUYW1wZXIgcGlucyBhcmUgcHJlLWNoYXJnZWQgYmVmb3JlIHNhbXBsaW5nICAgICAqLworI2RlZmluZSBSVENfVEFNUEVSX1BVTExVUF9ESVNBQkxFIFJUQ19UQU1QQ1JfVEFNUFBVRElTICAgLyohPCBUYW1wZXIgcGlucyBhcmUgbm90IHByZS1jaGFyZ2VkIGJlZm9yZSBzYW1wbGluZyAqLworI2RlZmluZSBSVENfVEFNUEVSX1BVTExVUF9NQVNLICAgIFJUQ19UQU1QQ1JfVEFNUFBVRElTICAgLyohPCBNYXNraW5nIGFsbCBiaXRzIGV4Y2VwdCBiaXQgVEFNUFBVRElTICAgICAgICAgICAqLwogLyoqCiAgICogQH0KLSAgKi8gCisgICovCiAKLS8qKiBAZGVmZ3JvdXAgUlRDRXhfU21vb3RoX2NhbGliX1BsdXNfcHVsc2VzX0RlZmluaXRpb25zIFJUQ0V4IFNtb290aCBjYWxpYiBQbHVzIHB1bHNlcyBEZWZpbml0aW9ucyAKKy8qKiBAZGVmZ3JvdXAgUlRDRXhfVGFtcGVyX1RpbWVTdGFtcE9uVGFtcGVyRGV0ZWN0aW9uX0RlZmluaXRpb25zIFJUQ0V4IFRhbXBlciBUaW1lU3RhbXAgT24gVGFtcGVyIERldGVjdGlvbiBEZWZpbml0aW9ucwogICAqIEB7Ci0gICovIAotI2RlZmluZSBSVENfU01PT1RIQ0FMSUJfUExVU1BVTFNFU19TRVQgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwVSkgIC8qITwgVGhlIG51bWJlciBvZiBSVENDTEsgcHVsc2VzIGFkZGVkICAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyaW5nIGEgWCAtc2Vjb25kIHdpbmRvdyA9IFkgLSBDQUxNWzg6MF0gCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggWSA9IDUxMiwgMjU2LCAxMjggd2hlbiBYID0gMzIsIDE2LCA4ICovCi0jZGVmaW5lIFJUQ19TTU9PVEhDQUxJQl9QTFVTUFVMU0VTX1JFU0VUICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKSAgLyohPCBUaGUgbnVtYmVyIG9mIFJUQ0NMSyBwdWxzZXMgc3ViYnN0aXRlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdXJpbmcgYSAzMi1zZWNvbmQgd2luZG93ID0gQ0FMTVs4OjBdICovCisgICovCisjZGVmaW5lIFJUQ19USU1FU1RBTVBPTlRBTVBFUkRFVEVDVElPTl9FTkFCTEUgIFJUQ19UQU1QQ1JfVEFNUFRTICAvKiE8IFRpbWVTdGFtcCBvbiBUYW1wZXIgRGV0ZWN0aW9uIGV2ZW50IHNhdmVkICAgICAgICAqLworI2RlZmluZSBSVENfVElNRVNUQU1QT05UQU1QRVJERVRFQ1RJT05fRElTQUJMRSAweDAwMDAwMDAwVSAgICAgICAvKiE8IFRpbWVTdGFtcCBvbiBUYW1wZXIgRGV0ZWN0aW9uIGV2ZW50IGlzIG5vdCBzYXZlZCAqLworI2RlZmluZSBSVENfVElNRVNUQU1QT05UQU1QRVJERVRFQ1RJT05fTUFTSyAgICBSVENfVEFNUENSX1RBTVBUUyAgLyohPCBNYXNraW5nIGFsbCBiaXRzIGV4Y2VwdCBiaXQgVEFNUFRTICAgICAgICAgICAgICAgKi8KKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgUlRDRXhfV2FrZXVwX1RpbWVyX0RlZmluaXRpb25zIFJUQ0V4IFdha2V1cCBUaW1lciBEZWZpbml0aW9ucworICAqIEB7CisgICovCisjZGVmaW5lIFJUQ19XQUtFVVBDTE9DS19SVENDTEtfRElWMTYgICAgICAgIDB4MDAwMDAwMDBVCisjZGVmaW5lIFJUQ19XQUtFVVBDTE9DS19SVENDTEtfRElWOCAgICAgICAgIFJUQ19DUl9XVUNLU0VMXzAKKyNkZWZpbmUgUlRDX1dBS0VVUENMT0NLX1JUQ0NMS19ESVY0ICAgICAgICAgUlRDX0NSX1dVQ0tTRUxfMQorI2RlZmluZSBSVENfV0FLRVVQQ0xPQ0tfUlRDQ0xLX0RJVjIgICAgICAgICAoUlRDX0NSX1dVQ0tTRUxfMCB8IFJUQ19DUl9XVUNLU0VMXzEpCisjZGVmaW5lIFJUQ19XQUtFVVBDTE9DS19DS19TUFJFXzE2QklUUyAgICAgIFJUQ19DUl9XVUNLU0VMXzIKKyNkZWZpbmUgUlRDX1dBS0VVUENMT0NLX0NLX1NQUkVfMTdCSVRTICAgICAgKFJUQ19DUl9XVUNLU0VMXzEgfCBSVENfQ1JfV1VDS1NFTF8yKQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBSVENFeF9TbW9vdGhfY2FsaWJfcGVyaW9kX0RlZmluaXRpb25zIFJUQ0V4IFNtb290aCBDYWxpYiBQZXJpb2QgRGVmaW5pdGlvbnMKKyAgKiBAeworICAqLworI2RlZmluZSBSVENfU01PT1RIQ0FMSUJfUEVSSU9EXzMyU0VDICAgMHgwMDAwMDAwMFUgICAgICAvKiE8IElmIFJUQ0NMSyA9IDMyNzY4IEh6LCBzbW9vdGggY2FsaWJyYXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyaW9kIGlzIDMycywgb3RoZXJ3aXNlIDJeMjAgUlRDQ0xLIHB1bHNlcyAqLworI2RlZmluZSBSVENfU01PT1RIQ0FMSUJfUEVSSU9EXzE2U0VDICAgUlRDX0NBTFJfQ0FMVzE2ICAvKiE8IElmIFJUQ0NMSyA9IDMyNzY4IEh6LCBzbW9vdGggY2FsaWJyYXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyaW9kIGlzIDE2cywgb3RoZXJ3aXNlIDJeMTkgUlRDQ0xLIHB1bHNlcyAqLworI2RlZmluZSBSVENfU01PT1RIQ0FMSUJfUEVSSU9EXzhTRUMgICAgUlRDX0NBTFJfQ0FMVzggICAvKiE8IElmIFJUQ0NMSyA9IDMyNzY4IEh6LCBzbW9vdGggY2FsaWJyYXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyaW9kIGlzIDhzLCBvdGhlcndpc2UgMl4xOCBSVENDTEsgcHVsc2VzICAqLworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBSVENFeF9TbW9vdGhfY2FsaWJfUGx1c19wdWxzZXNfRGVmaW5pdGlvbnMgUlRDRXggU21vb3RoIENhbGliIFBsdXMgUHVsc2VzIERlZmluaXRpb25zCisgICogQHsKKyAgKi8KKyNkZWZpbmUgUlRDX1NNT09USENBTElCX1BMVVNQVUxTRVNfU0VUICAgIFJUQ19DQUxSX0NBTFAgICAgICAgICAgIC8qITwgVGhlIG51bWJlciBvZiBSVENDTEsgcHVsc2VzIGFkZGVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdXJpbmcgYSBYIC1zZWNvbmQgd2luZG93ID0gWSAtIENBTE1bODowXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBZID0gNTEyLCAyNTYsIDEyOCB3aGVuIFggPSAzMiwgMTYsIDggKi8KKyNkZWZpbmUgUlRDX1NNT09USENBTElCX1BMVVNQVUxTRVNfUkVTRVQgIDB4MDAwMDAwMDBVICAgICAgICAgICAgIC8qITwgVGhlIG51bWJlciBvZiBSVENDTEsgcHVsc2VzIHN1YmJzdGl0ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmluZyBhIDMyLXNlY29uZCB3aW5kb3cgPSBDQUxNWzg6MF0gKi8KIC8qKgogICAqIEB9CiAgICovCiAKIC8qKiBAZGVmZ3JvdXAgUlRDRXhfQWRkXzFfU2Vjb25kX1BhcmFtZXRlcl9EZWZpbml0aW9ucyBSVENFeCBBZGQgMSBTZWNvbmQgUGFyYW1ldGVyIERlZmluaXRpb25zCiAgICogQHsKLSAgKi8gCi0jZGVmaW5lIFJUQ19TSElGVEFERDFTX1JFU0VUICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKLSNkZWZpbmUgUlRDX1NISUZUQUREMVNfU0VUICAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDBVKQorICAqLworI2RlZmluZSBSVENfU0hJRlRBREQxU19SRVNFVCAgICAgIDB4MDAwMDAwMDBVCisjZGVmaW5lIFJUQ19TSElGVEFERDFTX1NFVCAgICAgICAgUlRDX1NISUZUUl9BREQxUwogLyoqCiAgICogQH0KICAgKi8KIAotIC8qKiBAZGVmZ3JvdXAgUlRDRXhfQ2FsaWJfT3V0cHV0X3NlbGVjdGlvbl9EZWZpbml0aW9ucyBSVENFeCBDYWxpYiBPdXRwdXQgc2VsZWN0aW9uIERlZmluaXRpb25zCisvKiogQGRlZmdyb3VwIFJUQ0V4X0NhbGliX091dHB1dF9zZWxlY3Rpb25fRGVmaW5pdGlvbnMgUlRDRXggQ2FsaWIgT3V0cHV0IFNlbGVjdGlvbiBEZWZpbml0aW9ucwogICAqIEB7Ci0gICovIAotI2RlZmluZSBSVENfQ0FMSUJPVVRQVVRfNTEySFogICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKSAKLSNkZWZpbmUgUlRDX0NBTElCT1VUUFVUXzFIWiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwVSkKKyAgKi8KKyNkZWZpbmUgUlRDX0NBTElCT1VUUFVUXzUxMkhaICAgICAgICAgICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgUlRDX0NBTElCT1VUUFVUXzFIWiAgICAgICAgICAgICAgUlRDX0NSX0NPU0VMCiAvKioKICAgKiBAfQotICAqLyAKLSAgCisgICovCisKIC8qKgogICAqIEB9Ci0gICovIAotICAKKyAgKi8KKwogLyogRXhwb3J0ZWQgbWFjcm9zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwogLyoqIEBkZWZncm91cCBSVENFeF9FeHBvcnRlZF9NYWNyb3MgUlRDRXggRXhwb3J0ZWQgTWFjcm9zCiAgICogQHsKICAgKi8KIAorLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tV0FLRVVQVElNRVItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqIEBkZWZncm91cCBSVENFeF9XYWtlVXBfVGltZXIgUlRDRXggV2FrZVVwIFRpbWVyCisgICogQHsKKyAgKi8KKwogLyoqCiAgICogQGJyaWVmICBFbmFibGUgdGhlIFJUQyBXYWtlVXAgVGltZXIgcGVyaXBoZXJhbC4KICAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9SVENfV0FLRVVQVElNRVJfRU5BQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSIHw9IChSVENfQ1JfV1VURSkpCisjZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FTkFCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSIHw9IChSVENfQ1JfV1VURSkpCiAKIC8qKgotICAqIEBicmllZiAgRGlzYWJsZSB0aGUgUlRDIFdha2VVcCBUaW1lciBwZXJpcGhlcmFsLgorICAqIEBicmllZiAgRGlzYWJsZSB0aGUgUlRDIFdha2V1cCBUaW1lciBwZXJpcGhlcmFsLgogICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFJUQyBoYW5kbGUuCiAgICogQHJldHZhbCBOb25lCiAgICovCi0jZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9ESVNBQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IgJj0gfihSVENfQ1JfV1VURSkpCisjZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9ESVNBQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSICY9IH4oUlRDX0NSX1dVVEUpKQogCiAvKioKLSAgKiBAYnJpZWYgIEVuYWJsZSB0aGUgUlRDIFdha2VVcFRpbWVyIGludGVycnVwdC4KKyAgKiBAYnJpZWYgIEVuYWJsZSB0aGUgUlRDIFdha2V1cCBUaW1lciBpbnRlcnJ1cHQuCiAgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KLSAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBSVEMgV2FrZVVwVGltZXIgaW50ZXJydXB0IHNvdXJjZXMgdG8gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4KKyAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBSVEMgV2FrZXVwIFRpbWVyIGludGVycnVwdCBzb3VyY2VzIHRvIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmU6Ci0gICogICAgICAgICAgICBAYXJnIFJUQ19JVF9XVVQ6IFdha2VVcFRpbWVyIGludGVycnVwdAorICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfV1VUOiBXYWtldXAgVGltZXIgaW50ZXJydXB0CiAgICogQHJldHZhbCBOb25lCiAgICovCiAjZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FTkFCTEVfSVQoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSIHw9IChfX0lOVEVSUlVQVF9fKSkKIAogLyoqCi0gICogQGJyaWVmICBEaXNhYmxlIHRoZSBSVEMgV2FrZVVwVGltZXIgaW50ZXJydXB0LgorICAqIEBicmllZiAgRGlzYWJsZSB0aGUgUlRDIFdha2V1cCBUaW1lciBpbnRlcnJ1cHQuCiAgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KLSAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBSVEMgV2FrZVVwVGltZXIgaW50ZXJydXB0IHNvdXJjZXMgdG8gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4KKyAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBSVEMgV2FrZXVwIFRpbWVyIGludGVycnVwdCBzb3VyY2VzIHRvIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmU6Ci0gICogICAgICAgICAgICBAYXJnIFJUQ19JVF9XVVQ6IFdha2VVcFRpbWVyIGludGVycnVwdAorICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfV1VUOiBXYWtldXAgVGltZXIgaW50ZXJydXB0CiAgICogQHJldHZhbCBOb25lCiAgICovCiAjZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9ESVNBQkxFX0lUKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSICY9IH4oX19JTlRFUlJVUFRfXykpCiAKIC8qKgotICAqIEBicmllZiAgQ2hlY2sgd2hldGhlciB0aGUgc3BlY2lmaWVkIFJUQyBXYWtlVXBUaW1lciBpbnRlcnJ1cHQgaGFzIG9jY3VycmVkIG9yIG5vdC4KKyAgKiBAYnJpZWYgIENoZWNrIHdoZXRoZXIgdGhlIHNwZWNpZmllZCBSVEMgV2FrZXVwIFRpbWVyIGludGVycnVwdCBoYXMgb2NjdXJyZWQgb3Igbm90LgogICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFJUQyBoYW5kbGUuCi0gICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIHNwZWNpZmllcyB0aGUgUlRDIFdha2VVcFRpbWVyIGludGVycnVwdCBzb3VyY2VzIHRvIGNoZWNrLgorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIFJUQyBXYWtldXAgVGltZXIgaW50ZXJydXB0IHRvIGNoZWNrLgogICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlOgotICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfV1VUOiAgV2FrZVVwVGltZXIgaW50ZXJydXB0CisgICogICAgICAgICAgICBAYXJnIFJUQ19JVF9XVVQ6IFdha2V1cCBUaW1lciBpbnRlcnJ1cHQKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0dFVF9JVChfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAgICAoKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSKSAmICgoX19JTlRFUlJVUFRfXyk+PiA0KSkgIT0gUkVTRVQpID8gU0VUIDogUkVTRVQpCisjZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9HRVRfSVQoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICAgICAgKCgoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUikgJiAoKF9fSU5URVJSVVBUX18pID4+IDRVKSkgIT0gMFUpID8gMVUgOiAwVSkKIAogLyoqCi0gICogQGJyaWVmICBDaGVjayB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgUlRDIFdha2UgVXAgdGltZXIgaW50ZXJydXB0IGhhcyBiZWVuIGVuYWJsZWQgb3Igbm90LgorICAqIEBicmllZiAgQ2hlY2sgd2hldGhlciB0aGUgc3BlY2lmaWVkIFJUQyBXYWtldXAgdGltZXIgaW50ZXJydXB0IGhhcyBiZWVuIGVuYWJsZWQgb3Igbm90LgogICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFJUQyBoYW5kbGUuCi0gICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIHNwZWNpZmllcyB0aGUgUlRDIFdha2UgVXAgdGltZXIgaW50ZXJydXB0IHNvdXJjZXMgdG8gY2hlY2suCisgICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIHNwZWNpZmllcyB0aGUgUlRDIFdha2V1cCB0aW1lciBpbnRlcnJ1cHQgc291cmNlcyB0byBjaGVjay4KICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZToKLSAgKiAgICAgICAgICAgIEBhcmcgUlRDX0lUX1dVVDogIFdha2VVcFRpbWVyIGludGVycnVwdAorICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfV1VUOiBXYWtlVXBUaW1lciBpbnRlcnJ1cHQKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0dFVF9JVF9TT1VSQ0UoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAoKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IpICYgKF9fSU5URVJSVVBUX18pKSAhPSBSRVNFVCkgPyBTRVQgOiBSRVNFVCkKKyNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0dFVF9JVF9TT1VSQ0UoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAoKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IpICYgKF9fSU5URVJSVVBUX18pKSAhPSAwVSkgPyAxVSA6IDBVKQogCiAvKioKLSAgKiBAYnJpZWYgIEdldCB0aGUgc2VsZWN0ZWQgUlRDIFdha2VVcFRpbWVyJ3MgZmxhZyBzdGF0dXMuCisgICogQGJyaWVmICBHZXQgdGhlIHNlbGVjdGVkIFJUQyBXYWtldXAgVGltZXIncyBmbGFnIHN0YXR1cy4KICAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgotICAqIEBwYXJhbSAgX19GTEFHX18gc3BlY2lmaWVzIHRoZSBSVEMgV2FrZVVwVGltZXIgRmxhZyBpcyBwZW5kaW5nIG9yIG5vdC4KKyAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgUlRDIFdha2V1cCBUaW1lciBmbGFnIHRvIGNoZWNrLgogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZToKLSAgKiAgICAgICAgICAgICBAYXJnIFJUQ19GTEFHX1dVVEYKLSAgKiAgICAgICAgICAgICBAYXJnIFJUQ19GTEFHX1dVVFdGCisgICogICAgICAgICAgICAgQGFyZyBSVENfRkxBR19XVVRGOiBXYWtldXAgVGltZXIgaW50ZXJydXB0IGZsYWcKKyAgKiAgICAgICAgICAgICBAYXJnIFJUQ19GTEFHX1dVVFdGOiBXYWtldXAgVGltZXIgJ3dyaXRlIGFsbG93ZWQnIGZsYWcKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0dFVF9GTEFHKF9fSEFORExFX18sIF9fRkxBR19fKSAgICgoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IpICYgKF9fRkxBR19fKSkgIT0gUkVTRVQpID8gU0VUIDogUkVTRVQpCisjZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9HRVRfRkxBRyhfX0hBTkRMRV9fLCBfX0ZMQUdfXykgICAgICAgICAgKCgoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUikgJiAoX19GTEFHX18pKSAhPSAwVSk/IDFVIDogMFUpCiAKIC8qKgotICAqIEBicmllZiAgQ2xlYXIgdGhlIFJUQyBXYWtlIFVwIHRpbWVyJ3MgcGVuZGluZyBmbGFncy4KKyAgKiBAYnJpZWYgIENsZWFyIHRoZSBSVEMgV2FrZXVwIHRpbWVyJ3MgcGVuZGluZyBmbGFncy4KICAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgotICAqIEBwYXJhbSAgX19GTEFHX18gc3BlY2lmaWVzIHRoZSBSVEMgV2FrZVVwVGltZXIgRmxhZyB0byBjbGVhci4KKyAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgUlRDIFdha2V1cCBUaW1lciBGbGFnIHRvIGNsZWFyLgogICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlOgotICAqICAgICAgICAgICAgQGFyZyBSVENfRkxBR19XVVRGCisgICogICAgICAgICAgICAgQGFyZyBSVENfRkxBR19XVVRGOiBXYWtldXAgVGltZXIgaW50ZXJydXB0IEZsYWcKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0NMRUFSX0ZMQUcoX19IQU5ETEVfXywgX19GTEFHX18pICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IpID0gKH4oKF9fRkxBR19fKSB8IFJUQ19JU1JfSU5JVCl8KChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUiAmIFJUQ19JU1JfSU5JVCkpICAgIAorI2RlZmluZSBfX0hBTF9SVENfV0FLRVVQVElNRVJfQ0xFQVJfRkxBRyhfX0hBTkRMRV9fLCBfX0ZMQUdfXykgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSKSA9ICh+KChfX0ZMQUdfXykgfCBSVENfSVNSX0lOSVQpfCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IgJiBSVENfSVNSX0lOSVQpKQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZSBpbnRlcnJ1cHQgb24gdGhlIFJUQyBXYWtldXAgVGltZXIgYXNzb2NpYXRlZCBFWFRJIGxpbmUuCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0VOQUJMRV9JVCgpICAgICAgIChFWFRJLT5JTVIgfD0gUlRDX0VYVElfTElORV9XQUtFVVBUSU1FUl9FVkVOVCkKKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlIGludGVycnVwdCBvbiB0aGUgUlRDIFdha2V1cCBUaW1lciBhc3NvY2lhdGVkIEVYVEkgbGluZS4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VYVElfRElTQUJMRV9JVCgpICAgICAgKEVYVEktPklNUiAmPSB+UlRDX0VYVElfTElORV9XQUtFVVBUSU1FUl9FVkVOVCkKKworLyoqCisgICogQGJyaWVmICBFbmFibGUgZXZlbnQgb24gdGhlIFJUQyBXYWtldXAgVGltZXIgYXNzb2NpYXRlZCBFWFRJIGxpbmUuCisgICogQHJldHZhbCBOb25lLgorICAqLworI2RlZmluZSBfX0hBTF9SVENfV0FLRVVQVElNRVJfRVhUSV9FTkFCTEVfRVZFTlQoKSAgICAoRVhUSS0+RU1SIHw9IFJUQ19FWFRJX0xJTkVfV0FLRVVQVElNRVJfRVZFTlQpCisKKy8qKgorICAqIEBicmllZiAgRGlzYWJsZSBldmVudCBvbiB0aGUgUlRDIFdha2V1cCBUaW1lciBhc3NvY2lhdGVkIEVYVEkgbGluZS4KKyAgKiBAcmV0dmFsIE5vbmUuCisgICovCisjZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0RJU0FCTEVfRVZFTlQoKSAgIChFWFRJLT5FTVIgJj0gflJUQ19FWFRJX0xJTkVfV0FLRVVQVElNRVJfRVZFTlQpCisKKy8qKgorICAqIEBicmllZiAgRW5hYmxlIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgV2FrZXVwIFRpbWVyIGFzc29jaWF0ZWQgRVhUSSBsaW5lLgorICAqIEByZXR2YWwgTm9uZS4KKyAgKi8KKyNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VYVElfRU5BQkxFX0ZBTExJTkdfRURHRSgpICAgKEVYVEktPkZUU1IgfD0gUlRDX0VYVElfTElORV9XQUtFVVBUSU1FUl9FVkVOVCkKKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgV2FrZXVwIFRpbWVyIGFzc29jaWF0ZWQgRVhUSSBsaW5lLgorICAqIEByZXR2YWwgTm9uZS4KKyAgKi8KKyNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VYVElfRElTQUJMRV9GQUxMSU5HX0VER0UoKSAgKEVYVEktPkZUU1IgJj0gflJUQ19FWFRJX0xJTkVfV0FLRVVQVElNRVJfRVZFTlQpCisKKy8qKgorICAqIEBicmllZiAgRW5hYmxlIHJpc2luZyBlZGdlIHRyaWdnZXIgb24gdGhlIFJUQyBXYWtldXAgVGltZXIgYXNzb2NpYXRlZCBFWFRJIGxpbmUuCisgICogQHJldHZhbCBOb25lLgorICAqLworI2RlZmluZSBfX0hBTF9SVENfV0FLRVVQVElNRVJfRVhUSV9FTkFCTEVfUklTSU5HX0VER0UoKSAgICAoRVhUSS0+UlRTUiB8PSBSVENfRVhUSV9MSU5FX1dBS0VVUFRJTUVSX0VWRU5UKQorCisvKioKKyAgKiBAYnJpZWYgIERpc2FibGUgcmlzaW5nIGVkZ2UgdHJpZ2dlciBvbiB0aGUgUlRDIFdha2V1cCBUaW1lciBhc3NvY2lhdGVkIEVYVEkgbGluZS4KKyAgKiBAcmV0dmFsIE5vbmUuCisgICovCisjZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0RJU0FCTEVfUklTSU5HX0VER0UoKSAgIChFWFRJLT5SVFNSICY9IH5SVENfRVhUSV9MSU5FX1dBS0VVUFRJTUVSX0VWRU5UKQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZSByaXNpbmcgJiBmYWxsaW5nIGVkZ2UgdHJpZ2dlciBvbiB0aGUgUlRDIFdha2V1cCBUaW1lciBhc3NvY2lhdGVkIEVYVEkgbGluZS4KKyAgKiBAcmV0dmFsIE5vbmUuCisgICovCisjZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0VOQUJMRV9SSVNJTkdfRkFMTElOR19FREdFKCkgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0VOQUJMRV9SSVNJTkdfRURHRSgpOyAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VYVElfRU5BQkxFX0ZBTExJTkdfRURHRSgpOyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSgwVSkKKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlIHJpc2luZyAmIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgV2FrZXVwIFRpbWVyIGFzc29jaWF0ZWQgRVhUSSBsaW5lLgorICAqIFRoaXMgcGFyYW1ldGVyIGNhbiBiZToKKyAgKiBAcmV0dmFsIE5vbmUuCisgICovCisjZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0RJU0FCTEVfUklTSU5HX0ZBTExJTkdfRURHRSgpIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0RJU0FCTEVfUklTSU5HX0VER0UoKTsgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9SVENfV0FLRVVQVElNRVJfRVhUSV9ESVNBQkxFX0ZBTExJTkdfRURHRSgpOyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUoMFUpCisKKy8qKgorICAqIEBicmllZiBDaGVjayB3aGV0aGVyIHRoZSBSVEMgV2FrZXVwIFRpbWVyIGFzc29jaWF0ZWQgRVhUSSBsaW5lIGludGVycnVwdCBmbGFnIGlzIHNldCBvciBub3QuCisgICogQHJldHZhbCBMaW5lIFN0YXR1cy4KKyAgKi8KKyNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VYVElfR0VUX0ZMQUcoKSAgICAgICAgICAgICAgKEVYVEktPlBSICYgUlRDX0VYVElfTElORV9XQUtFVVBUSU1FUl9FVkVOVCkKKworLyoqCisgICogQGJyaWVmIENsZWFyIHRoZSBSVEMgV2FrZXVwIFRpbWVyIGFzc29jaWF0ZWQgRVhUSSBsaW5lIGZsYWcuCisgICogQHJldHZhbCBOb25lLgorICAqLworI2RlZmluZSBfX0hBTF9SVENfV0FLRVVQVElNRVJfRVhUSV9DTEVBUl9GTEFHKCkgICAgICAgICAgICAoRVhUSS0+UFIgPSBSVENfRVhUSV9MSU5FX1dBS0VVUFRJTUVSX0VWRU5UKQorCisvKioKKyAgKiBAYnJpZWYgR2VuZXJhdGUgYSBTb2Z0d2FyZSBpbnRlcnJ1cHQgb24gdGhlIFJUQyBXYWtldXAgVGltZXIgYXNzb2NpYXRlZCBFWFRJIGxpbmUuCisgICogQHJldHZhbCBOb25lLgorICAqLworI2RlZmluZSBfX0hBTF9SVENfV0FLRVVQVElNRVJfRVhUSV9HRU5FUkFURV9TV0lUKCkgICAgICAgICAoRVhUSS0+U1dJRVIgfD0gUlRDX0VYVElfTElORV9XQUtFVVBUSU1FUl9FVkVOVCkKKworLyoqCisgICogQH0KKyAgKi8KKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tVElNRVNUQU1QLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqIEBkZWZncm91cCBSVENFeF9UaW1lc3RhbXAgUlRDRXggVGltZXN0YW1wCisgICogQHsKKyAgKi8KKworLyoqCisgICogQGJyaWVmICBFbmFibGUgdGhlIFJUQyBUaW1lc3RhbXAgcGVyaXBoZXJhbC4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9SVENfVElNRVNUQU1QX0VOQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5DUiB8PSAoUlRDX0NSX1RTRSkpCisKKy8qKgorICAqIEBicmllZiAgRGlzYWJsZSB0aGUgUlRDIFRpbWVzdGFtcCBwZXJpcGhlcmFsLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFJUQyBoYW5kbGUuCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX1JUQ19USU1FU1RBTVBfRElTQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSICY9IH4oUlRDX0NSX1RTRSkpCisKKy8qKgorICAqIEBicmllZiAgRW5hYmxlIHRoZSBSVEMgVGltZXN0YW1wIGludGVycnVwdC4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIFJUQyBUaW1lc3RhbXAgaW50ZXJydXB0IHNvdXJjZXMgdG8gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4KKyAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZToKKyAgKiAgICAgICAgICAgIEBhcmcgUlRDX0lUX1RTOiBUaW1lU3RhbXAgaW50ZXJydXB0CisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX1JUQ19USU1FU1RBTVBfRU5BQkxFX0lUKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSIHw9IChfX0lOVEVSUlVQVF9fKSkKKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlIHRoZSBSVEMgVGltZXN0YW1wIGludGVycnVwdC4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIFJUQyBUaW1lc3RhbXAgaW50ZXJydXB0IHNvdXJjZXMgdG8gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4KKyAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZToKKyAgKiAgICAgICAgICAgIEBhcmcgUlRDX0lUX1RTOiBUaW1lU3RhbXAgaW50ZXJydXB0CisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX1JUQ19USU1FU1RBTVBfRElTQUJMRV9JVChfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSICY9IH4oX19JTlRFUlJVUFRfXykpCisKKy8qKgorICAqIEBicmllZiAgQ2hlY2sgd2hldGhlciB0aGUgc3BlY2lmaWVkIFJUQyBUaW1lc3RhbXAgaW50ZXJydXB0IGhhcyBvY2N1cnJlZCBvciBub3QuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KKyAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBSVEMgVGltZXN0YW1wIGludGVycnVwdCB0byBjaGVjay4KKyAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZToKKyAgKiAgICAgICAgICAgIEBhcmcgUlRDX0lUX1RTOiBUaW1lU3RhbXAgaW50ZXJydXB0CisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX1JUQ19USU1FU1RBTVBfR0VUX0lUKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAgICAgKCgoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUikgJiAoKF9fSU5URVJSVVBUX18pID4+IDRVKSkgIT0gMFUpID8gMVUgOiAwVSkKKworLyoqCisgICogQGJyaWVmICBDaGVjayB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgUlRDIFRpbWVzdGFtcCBpbnRlcnJ1cHQgaGFzIGJlZW4gZW5hYmxlZCBvciBub3QuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KKyAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBSVEMgVGltZXN0YW1wIGludGVycnVwdCBzb3VyY2UgdG8gY2hlY2suCisgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmU6CisgICogICAgICAgICAgICBAYXJnIFJUQ19JVF9UUzogVGltZVN0YW1wIGludGVycnVwdAorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9SVENfVElNRVNUQU1QX0dFVF9JVF9TT1VSQ0UoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICgoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5DUikgJiAoX19JTlRFUlJVUFRfXykpICE9IDBVKSA/IDFVIDogMFUpCisKKy8qKgorICAqIEBicmllZiAgR2V0IHRoZSBzZWxlY3RlZCBSVEMgVGltZXN0YW1wJ3MgZmxhZyBzdGF0dXMuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KKyAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgUlRDIFRpbWVzdGFtcCBmbGFnIHRvIGNoZWNrLgorICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlOgorICAqICAgICAgICAgICAgQGFyZyBSVENfRkxBR19UU0Y6IFRpbWVzdGFtcCBpbnRlcnJ1cHQgZmxhZworICAqICAgICAgICAgICAgQGFyZyBSVENfRkxBR19UU09WRjogVGltZXN0YW1wIG92ZXJmbG93IGZsYWcKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfUlRDX1RJTUVTVEFNUF9HRVRfRkxBRyhfX0hBTkRMRV9fLCBfX0ZMQUdfXykgICAgICAgICAgICAoKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSKSAmIChfX0ZMQUdfXykpICE9IDBVKT8gMVUgOiAwVSkKKworLyoqCisgICogQGJyaWVmICBDbGVhciB0aGUgUlRDIFRpbWVzdGFtcCdzIHBlbmRpbmcgZmxhZ3MuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KKyAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgUlRDIFRpbWVzdGFtcCBmbGFnIHRvIGNsZWFyLgorICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlOgorICAqICAgICAgICAgICAgQGFyZyBSVENfRkxBR19UU0Y6IFRpbWVzdGFtcCBpbnRlcnJ1cHQgZmxhZworICAqICAgICAgICAgICAgQGFyZyBSVENfRkxBR19UU09WRjogVGltZXN0YW1wIG92ZXJmbG93IGZsYWcKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfUlRDX1RJTUVTVEFNUF9DTEVBUl9GTEFHKF9fSEFORExFX18sIF9fRkxBR19fKSAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSKSA9ICh+KChfX0ZMQUdfXykgfCBSVENfSVNSX0lOSVQpfCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IgJiBSVENfSVNSX0lOSVQpKQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZSB0aGUgUlRDIGludGVybmFsIFRpbWVTdGFtcCBwZXJpcGhlcmFsLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFJUQyBoYW5kbGUuCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX1JUQ19JTlRFUk5BTF9USU1FU1RBTVBfRU5BQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5DUiB8PSAoUlRDX0NSX0lUU0UpKQorCisvKioKKyAgKiBAYnJpZWYgIERpc2FibGUgdGhlIFJUQyBpbnRlcm5hbCBUaW1lU3RhbXAgcGVyaXBoZXJhbC4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9SVENfSU5URVJOQUxfVElNRVNUQU1QX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IgJj0gfihSVENfQ1JfSVRTRSkpCisKKy8qKgorICAqIEBicmllZiAgR2V0IHRoZSBzZWxlY3RlZCBSVEMgSW50ZXJuYWwgVGltZXN0YW1wJ3MgZmxhZyBzdGF0dXMuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KKyAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgUlRDIEludGVybmFsIFRpbWVzdGFtcCBmbGFnIGlzIHBlbmRpbmcgb3Igbm90LgorICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlOgorICAqICAgICAgICAgICAgQGFyZyBSVENfRkxBR19JVFNGOiBJbnRlcm5hbCBUaW1lc3RhbXAgaW50ZXJydXB0IGZsYWcKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfUlRDX0lOVEVSTkFMX1RJTUVTVEFNUF9HRVRfRkxBRyhfX0hBTkRMRV9fLCBfX0ZMQUdfXykgICAgKCgoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUikgJiAoX19GTEFHX18pKSAhPSAwVSkgPyAxVSA6IDBVKQorCisvKioKKyAgKiBAYnJpZWYgIENsZWFyIHRoZSBSVEMgSW50ZXJuYWwgVGltZXN0YW1wJ3MgcGVuZGluZyBmbGFncy4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgorICAqIEBwYXJhbSAgX19GTEFHX18gc3BlY2lmaWVzIHRoZSBSVEMgSW50ZXJuYWwgVGltZXN0YW1wIGZsYWcgdG8gY2xlYXIuCisgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlOgorICAqICAgICAgICAgICAgQGFyZyBSVENfRkxBR19JVFNGOiBJbnRlcm5hbCBUaW1lc3RhbXAgaW50ZXJydXB0IGZsYWcKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfUlRDX0lOVEVSTkFMX1RJTUVTVEFNUF9DTEVBUl9GTEFHKF9fSEFORExFX18sIF9fRkxBR19fKSAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUikgPSAofigoKF9fRkxBR19fKSB8IFJUQ19JU1JfSU5JVCkmIDB4MDAwM0ZGRkZVKXwoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSICYgUlRDX0lTUl9JTklUKSkKKworLyoqCisgICogQH0KKyAgKi8KKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tVEFNUEVSLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqIEBkZWZncm91cCBSVENFeF9UYW1wZXIgUlRDRXggVGFtcGVyCisgICogQHsKKyAgKi8KIAogLyoqCiAgICogQGJyaWVmICBFbmFibGUgdGhlIFJUQyBUYW1wZXIxIGlucHV0IGRldGVjdGlvbi4KQEAgLTQ1NywzNjggKzY4NywyMjkgQEAKICNkZWZpbmUgX19IQUxfUlRDX1RBTVBFUjNfRElTQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5UQU1QQ1IgJj0gfihSVENfVEFNUENSX1RBTVAzRSkpCiAKIC8qKgorICAqIEBicmllZiAgRW5hYmxlIHRoZSBSVEMgVGFtcGVyIGludGVycnVwdC4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIFJUQyBUYW1wZXIgaW50ZXJydXB0IHNvdXJjZXMgdG8gYmUgZW5hYmxlZC4KKyAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYW55IGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgorICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfVEFNUDogVGFtcGVyIGdsb2JhbCBpbnRlcnJ1cHQKKyAgKiAgICAgICAgICAgIEBhcmcgUlRDX0lUX1RBTVAxOiBUYW1wZXIgMSBpbnRlcnJ1cHQKKyAgKiAgICAgICAgICAgIEBhcmcgUlRDX0lUX1RBTVAyOiBUYW1wZXIgMiBpbnRlcnJ1cHQKKyAgKiAgICAgICAgICAgIEBhcmcgUlRDX0lUX1RBTVAzOiBUYW1wZXIgMyBpbnRlcnJ1cHQKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfUlRDX1RBTVBFUl9FTkFCTEVfSVQoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5UQU1QQ1IgfD0gKF9fSU5URVJSVVBUX18pKQorCisvKioKKyAgKiBAYnJpZWYgIERpc2FibGUgdGhlIFJUQyBUYW1wZXIgaW50ZXJydXB0LgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFJUQyBoYW5kbGUuCisgICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIHNwZWNpZmllcyB0aGUgUlRDIFRhbXBlciBpbnRlcnJ1cHQgc291cmNlcyB0byBiZSBkaXNhYmxlZC4KKyAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisgICogICAgICAgICAgICBAYXJnIFJUQ19JVF9UQU1QOiBUYW1wZXIgZ2xvYmFsIGludGVycnVwdAorICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfVEFNUDE6IFRhbXBlciAxIGludGVycnVwdAorICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfVEFNUDI6IFRhbXBlciAyIGludGVycnVwdAorICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfVEFNUDM6IFRhbXBlciAzIGludGVycnVwdAorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX0RJU0FCTEVfSVQoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPlRBTVBDUiAmPSB+KF9fSU5URVJSVVBUX18pKQorCisvKioKICAgKiBAYnJpZWYgIENoZWNrIHdoZXRoZXIgdGhlIHNwZWNpZmllZCBSVEMgVGFtcGVyIGludGVycnVwdCBoYXMgb2NjdXJyZWQgb3Igbm90LgogICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFJUQyBoYW5kbGUuCiAgICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIHNwZWNpZmllcyB0aGUgUlRDIFRhbXBlciBpbnRlcnJ1cHQgdG8gY2hlY2suCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmU6Ci0gICogICAgICAgICAgICBAYXJnICBSVENfSVRfVEFNUDogQWxsIHRhbXBlcnMgaW50ZXJydXB0cwotICAqICAgICAgICAgICAgQGFyZyAgUlRDX0lUX1RBTVAxOiBUYW1wZXIxIGludGVycnVwdAotICAqICAgICAgICAgICAgQGFyZyAgUlRDX0lUX1RBTVAyOiBUYW1wZXIyIGludGVycnVwdAotICAqICAgICAgICAgICAgQGFyZyAgUlRDX0lUX1RBTVAzOiBUYW1wZXIzIGludGVycnVwdAorICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfVEFNUDE6IFRhbXBlciAxIGludGVycnVwdAorICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfVEFNUDI6IFRhbXBlciAyIGludGVycnVwdAorICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfVEFNUDM6IFRhbXBlciAzIGludGVycnVwdAogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX0dFVF9JVChfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAgICAgICAgKCgoX19JTlRFUlJVUFRfXykgPT0gUlRDX0lUX1RBTVAxKSA/ICgoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IpICYgKChfX0lOVEVSUlVQVF9fKT4+IDMpKSAhPSBSRVNFVCkgPyBTRVQgOiBSRVNFVCkgOiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0lOVEVSUlVQVF9fKSA9PSBSVENfSVRfVEFNUDIpID8gKCgoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUikgJiAoKF9fSU5URVJSVVBUX18pPj4gNSkpICE9IFJFU0VUKSA/IFNFVCA6IFJFU0VUKSA6IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSKSAmICgoX19JTlRFUlJVUFRfXyk+PiA3KSkgIT0gUkVTRVQpID8gU0VUIDogUkVTRVQpKQorI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX0dFVF9JVChfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAgICAoKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSKSAmICgoX19JTlRFUlJVUFRfXykgPj4gNFUpKSAhPSAwVSkgPyAxVSA6IDBVKQogCiAvKioKICAgKiBAYnJpZWYgIENoZWNrIHdoZXRoZXIgdGhlIHNwZWNpZmllZCBSVEMgVGFtcGVyIGludGVycnVwdCBoYXMgYmVlbiBlbmFibGVkIG9yIG5vdC4KICAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgogICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIFJUQyBUYW1wZXIgaW50ZXJydXB0IHNvdXJjZSB0byBjaGVjay4KICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZToKLSAgKiAgICAgICAgICAgIEBhcmcgIFJUQ19JVF9UQU1QOiBBbGwgdGFtcGVycyBpbnRlcnJ1cHRzCi0gICogICAgICAgICAgICBAYXJnICBSVENfSVRfVEFNUDE6IFRhbXBlcjEgaW50ZXJydXB0Ci0gICogICAgICAgICAgICBAYXJnICBSVENfSVRfVEFNUDI6IFRhbXBlcjIgaW50ZXJydXB0Ci0gICogICAgICAgICAgICBAYXJnICBSVENfSVRfVEFNUDM6IFRhbXBlcjMgaW50ZXJydXB0CisgICogICAgICAgICAgICBAYXJnIFJUQ19JVF9UQU1QOiBUYW1wZXIgZ2xvYmFsIGludGVycnVwdAorICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfVEFNUDE6IFRhbXBlciAxIGludGVycnVwdAorICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfVEFNUDI6IFRhbXBlciAyIGludGVycnVwdAorICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfVEFNUDM6IFRhbXBlciAzIGludGVycnVwdAogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX0dFVF9JVF9TT1VSQ0UoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgKCgoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPlRBTVBDUikgJiAoX19JTlRFUlJVUFRfXykpICE9IFJFU0VUKSA/IFNFVCA6IFJFU0VUKQorI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX0dFVF9JVF9TT1VSQ0UoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICgoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5UQU1QQ1IpICYgKF9fSU5URVJSVVBUX18pKSAhPSAwVSkgPyAxVSA6IDBVKQogCiAvKioKICAgKiBAYnJpZWYgIEdldCB0aGUgc2VsZWN0ZWQgUlRDIFRhbXBlcidzIGZsYWcgc3RhdHVzLgogICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFJUQyBoYW5kbGUuCi0gICogQHBhcmFtICBfX0ZMQUdfXyBzcGVjaWZpZXMgdGhlIFJUQyBUYW1wZXIgRmxhZyBpcyBwZW5kaW5nIG9yIG5vdC4KKyAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgUlRDIFRhbXBlciBmbGFnIHRvIGJlIGNoZWNrZWQuCiAgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlOgotICAqICAgICAgICAgICAgIEBhcmcgUlRDX0ZMQUdfVEFNUDFGOiBUYW1wZXIxIGZsYWcKLSAgKiAgICAgICAgICAgICBAYXJnIFJUQ19GTEFHX1RBTVAyRjogVGFtcGVyMiBmbGFnCi0gICogICAgICAgICAgICAgQGFyZyBSVENfRkxBR19UQU1QM0Y6IFRhbXBlcjMgZmxhZworICAqICAgICAgICAgICAgIEBhcmcgUlRDX0ZMQUdfVEFNUDFGOiBUYW1wZXIgMSBpbnRlcnJ1cHQgZmxhZworICAqICAgICAgICAgICAgIEBhcmcgUlRDX0ZMQUdfVEFNUDJGOiBUYW1wZXIgMiBpbnRlcnJ1cHQgZmxhZworICAqICAgICAgICAgICAgIEBhcmcgUlRDX0ZMQUdfVEFNUDNGOiBUYW1wZXIgMyBpbnRlcnJ1cHQgZmxhZwogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX0dFVF9GTEFHKF9fSEFORExFX18sIF9fRkxBR19fKSAgICAgICAgKCgoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUikgJiAoX19GTEFHX18pKSAhPSBSRVNFVCkgPyBTRVQgOiBSRVNFVCkKKyNkZWZpbmUgX19IQUxfUlRDX1RBTVBFUl9HRVRfRkxBRyhfX0hBTkRMRV9fLCBfX0ZMQUdfXykgICAgICAgICAgICAgICAoKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSKSAmIChfX0ZMQUdfXykpICE9IDBVKT8gMVUgOiAwVSkKIAogLyoqCiAgICogQGJyaWVmICBDbGVhciB0aGUgUlRDIFRhbXBlcidzIHBlbmRpbmcgZmxhZ3MuCiAgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KLSAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgUlRDIFRhbXBlciBGbGFnIHNvdXJjZXMgdG8gY2xlYXIuCisgICogQHBhcmFtICBfX0ZMQUdfXyBzcGVjaWZpZXMgdGhlIFJUQyBUYW1wZXIgRmxhZyB0byBjbGVhci4KICAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmU6Ci0gICogICAgICAgICAgICAgQGFyZyBSVENfRkxBR19UQU1QMUY6IFRhbXBlcjEgZmxhZwotICAqICAgICAgICAgICAgIEBhcmcgUlRDX0ZMQUdfVEFNUDJGOiBUYW1wZXIyIGZsYWcKLSAgKiAgICAgICAgICAgICBAYXJnIFJUQ19GTEFHX1RBTVAzRjogVGFtcGVyMyBmbGFnCisgICogICAgICAgICAgICAgQGFyZyBSVENfRkxBR19UQU1QMUY6IFRhbXBlciAxIGludGVycnVwdCBmbGFnCisgICogICAgICAgICAgICAgQGFyZyBSVENfRkxBR19UQU1QMkY6IFRhbXBlciAyIGludGVycnVwdCBmbGFnCisgICogICAgICAgICAgICAgQGFyZyBSVENfRkxBR19UQU1QM0Y6IFRhbXBlciAzIGludGVycnVwdCBmbGFnCiAgICogQHJldHZhbCBOb25lCiAgICovCi0jZGVmaW5lIF9fSEFMX1JUQ19UQU1QRVJfQ0xFQVJfRkxBRyhfX0hBTkRMRV9fLCBfX0ZMQUdfXykgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSKSA9ICh+KChfX0ZMQUdfXykgfCBSVENfSVNSX0lOSVQpfCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IgJiBSVENfSVNSX0lOSVQpKQorI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX0NMRUFSX0ZMQUcoX19IQU5ETEVfXywgX19GTEFHX18pICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUikgPSAofigoX19GTEFHX18pIHwgUlRDX0lTUl9JTklUKXwoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSICYgUlRDX0lTUl9JTklUKSkKKy8qKgorICAqIEB9CisgICovCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tVEFNUEVSL1RJTUVTVEFNUC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKiogQGRlZmdyb3VwIFJUQ0V4X1RhbXBlcl9UaW1lc3RhbXAgRVhUSSBSVEMgVGFtcGVyIFRpbWVzdGFtcCBFWFRJCisgICogQHsKKyAgKi8KIAogLyoqCi0gICogQGJyaWVmICBFbmFibGUgdGhlIFJUQyBUaW1lU3RhbXAgcGVyaXBoZXJhbC4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgorICAqIEBicmllZiAgRW5hYmxlIGludGVycnVwdCBvbiB0aGUgUlRDIFRhbXBlciBhbmQgVGltZXN0YW1wIGFzc29jaWF0ZWQgRVhUSSBsaW5lLgogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9SVENfVElNRVNUQU1QX0VOQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSIHw9IChSVENfQ1JfVFNFKSkKKyNkZWZpbmUgX19IQUxfUlRDX1RBTVBFUl9USU1FU1RBTVBfRVhUSV9FTkFCTEVfSVQoKSAgICAgICAgKEVYVEktPklNUiB8PSBSVENfRVhUSV9MSU5FX1RBTVBFUl9USU1FU1RBTVBfRVZFTlQpCiAKIC8qKgotICAqIEBicmllZiAgRGlzYWJsZSB0aGUgUlRDIFRpbWVTdGFtcCBwZXJpcGhlcmFsLgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFJUQyBoYW5kbGUuCisgICogQGJyaWVmICBEaXNhYmxlIGludGVycnVwdCBvbiB0aGUgUlRDIFRhbXBlciBhbmQgVGltZXN0YW1wIGFzc29jaWF0ZWQgRVhUSSBsaW5lLgogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9SVENfVElNRVNUQU1QX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSICY9IH4oUlRDX0NSX1RTRSkpCisjZGVmaW5lIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfRElTQUJMRV9JVCgpICAgICAgIChFWFRJLT5JTVIgJj0gflJUQ19FWFRJX0xJTkVfVEFNUEVSX1RJTUVTVEFNUF9FVkVOVCkKIAogLyoqCi0gICogQGJyaWVmICBFbmFibGUgdGhlIFJUQyBUaW1lU3RhbXAgaW50ZXJydXB0LgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFJUQyBoYW5kbGUuCi0gICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIHNwZWNpZmllcyB0aGUgUlRDIFRpbWVTdGFtcCBpbnRlcnJ1cHQgc291cmNlcyB0byBiZSBlbmFibGVkIG9yIGRpc2FibGVkLgotICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlOgotICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfVFM6IFRpbWVTdGFtcCBpbnRlcnJ1cHQKLSAgKiBAcmV0dmFsIE5vbmUKKyAgKiBAYnJpZWYgIEVuYWJsZSBldmVudCBvbiB0aGUgUlRDIFRhbXBlciBhbmQgVGltZXN0YW1wIGFzc29jaWF0ZWQgRVhUSSBsaW5lLgorICAqIEByZXR2YWwgTm9uZS4KICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1RJTUVTVEFNUF9FTkFCTEVfSVQoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5DUiB8PSAoX19JTlRFUlJVUFRfXykpCisjZGVmaW5lIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfRU5BQkxFX0VWRU5UKCkgICAgKEVYVEktPkVNUiB8PSBSVENfRVhUSV9MSU5FX1RBTVBFUl9USU1FU1RBTVBfRVZFTlQpCiAKIC8qKgotICAqIEBicmllZiAgRGlzYWJsZSB0aGUgUlRDIFRpbWVTdGFtcCBpbnRlcnJ1cHQuCi0gICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KLSAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBSVEMgVGltZVN0YW1wIGludGVycnVwdCBzb3VyY2VzIHRvIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuIAotICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlOgotICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfVFM6IFRpbWVTdGFtcCBpbnRlcnJ1cHQKLSAgKiBAcmV0dmFsIE5vbmUKKyAgKiBAYnJpZWYgIERpc2FibGUgZXZlbnQgb24gdGhlIFJUQyBUYW1wZXIgYW5kIFRpbWVzdGFtcCBhc3NvY2lhdGVkIEVYVEkgbGluZS4KKyAgKiBAcmV0dmFsIE5vbmUuCiAgICovCi0jZGVmaW5lIF9fSEFMX1JUQ19USU1FU1RBTVBfRElTQUJMRV9JVChfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IgJj0gfihfX0lOVEVSUlVQVF9fKSkKKyNkZWZpbmUgX19IQUxfUlRDX1RBTVBFUl9USU1FU1RBTVBfRVhUSV9ESVNBQkxFX0VWRU5UKCkgICAoRVhUSS0+RU1SICY9IH5SVENfRVhUSV9MSU5FX1RBTVBFUl9USU1FU1RBTVBfRVZFTlQpCiAKIC8qKgotICAqIEBicmllZiAgQ2hlY2sgd2hldGhlciB0aGUgc3BlY2lmaWVkIFJUQyBUaW1lU3RhbXAgaW50ZXJydXB0IGhhcyBvY2N1cnJlZCBvciBub3QuCi0gICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KLSAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBSVEMgVGltZVN0YW1wIGludGVycnVwdCBzb3VyY2VzIHRvIGNoZWNrLgotICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlOgotICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfVFM6IFRpbWVTdGFtcCBpbnRlcnJ1cHQKLSAgKiBAcmV0dmFsIE5vbmUKKyAgKiBAYnJpZWYgIEVuYWJsZSBmYWxsaW5nIGVkZ2UgdHJpZ2dlciBvbiB0aGUgUlRDIFRhbXBlciBhbmQgVGltZXN0YW1wIGFzc29jaWF0ZWQgRVhUSSBsaW5lLgorICAqIEByZXR2YWwgTm9uZS4KICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1RJTUVTVEFNUF9HRVRfSVQoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICAgICgoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IpICYgKChfX0lOVEVSUlVQVF9fKT4+IDQpKSAhPSBSRVNFVCkgPyBTRVQgOiBSRVNFVCkKKyNkZWZpbmUgX19IQUxfUlRDX1RBTVBFUl9USU1FU1RBTVBfRVhUSV9FTkFCTEVfRkFMTElOR19FREdFKCkgICAoRVhUSS0+RlRTUiB8PSBSVENfRVhUSV9MSU5FX1RBTVBFUl9USU1FU1RBTVBfRVZFTlQpCiAKIC8qKgotICAqIEBicmllZiAgQ2hlY2sgd2hldGhlciB0aGUgc3BlY2lmaWVkIFJUQyBUaW1lIFN0YW1wIGludGVycnVwdCBoYXMgYmVlbiBlbmFibGVkIG9yIG5vdC4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgotICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIFJUQyBUaW1lIFN0YW1wIGludGVycnVwdCBzb3VyY2UgdG8gY2hlY2suCi0gICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmU6Ci0gICogICAgICAgICAgICBAYXJnIFJUQ19JVF9UUzogVGltZVN0YW1wIGludGVycnVwdAotICAqIEByZXR2YWwgTm9uZQorICAqIEBicmllZiAgRGlzYWJsZSBmYWxsaW5nIGVkZ2UgdHJpZ2dlciBvbiB0aGUgUlRDIFRhbXBlciBhbmQgVGltZXN0YW1wIGFzc29jaWF0ZWQgRVhUSSBsaW5lLgorICAqIEByZXR2YWwgTm9uZS4KICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1RJTUVTVEFNUF9HRVRfSVRfU09VUkNFKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAoKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IpICYgKF9fSU5URVJSVVBUX18pKSAhPSBSRVNFVCkgPyBTRVQgOiBSRVNFVCkKKyNkZWZpbmUgX19IQUxfUlRDX1RBTVBFUl9USU1FU1RBTVBfRVhUSV9ESVNBQkxFX0ZBTExJTkdfRURHRSgpICAoRVhUSS0+RlRTUiAmPSB+UlRDX0VYVElfTElORV9UQU1QRVJfVElNRVNUQU1QX0VWRU5UKQogCiAvKioKLSAgKiBAYnJpZWYgIEdldCB0aGUgc2VsZWN0ZWQgUlRDIFRpbWVTdGFtcCdzIGZsYWcgc3RhdHVzLgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFJUQyBoYW5kbGUuCi0gICogQHBhcmFtICBfX0ZMQUdfXyBzcGVjaWZpZXMgdGhlIFJUQyBUaW1lU3RhbXAgRmxhZyBpcyBwZW5kaW5nIG9yIG5vdC4KLSAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZToKLSAgKiAgICAgICAgICAgIEBhcmcgUlRDX0ZMQUdfVFNGCi0gICogICAgICAgICAgICBAYXJnIFJUQ19GTEFHX1RTT1ZGCi0gICogQHJldHZhbCBOb25lCisgICogQGJyaWVmICBFbmFibGUgcmlzaW5nIGVkZ2UgdHJpZ2dlciBvbiB0aGUgUlRDIFRhbXBlciBhbmQgVGltZXN0YW1wIGFzc29jaWF0ZWQgRVhUSSBsaW5lLgorICAqIEByZXR2YWwgTm9uZS4KICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1RJTUVTVEFNUF9HRVRfRkxBRyhfX0hBTkRMRV9fLCBfX0ZMQUdfXykgICAgICgoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IpICYgKF9fRkxBR19fKSkgIT0gUkVTRVQpID8gU0VUIDogUkVTRVQpCisjZGVmaW5lIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfRU5BQkxFX1JJU0lOR19FREdFKCkgICAgKEVYVEktPlJUU1IgfD0gUlRDX0VYVElfTElORV9UQU1QRVJfVElNRVNUQU1QX0VWRU5UKQogCiAvKioKLSAgKiBAYnJpZWYgIENsZWFyIHRoZSBSVEMgVGltZSBTdGFtcCdzIHBlbmRpbmcgZmxhZ3MuCi0gICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KLSAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgUlRDIEFsYXJtIEZsYWcgc291cmNlcyB0byBjbGVhci4KLSAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmU6Ci0gICogICAgICAgICAgICAgQGFyZyBSVENfRkxBR19UU0YKLSAgKiAgICAgICAgICAgICBAYXJnIFJUQ19GTEFHX1RTT1ZGCi0gICogQHJldHZhbCBOb25lCisgICogQGJyaWVmICBEaXNhYmxlIHJpc2luZyBlZGdlIHRyaWdnZXIgb24gdGhlIFJUQyBUYW1wZXIgYW5kIFRpbWVzdGFtcCBhc3NvY2lhdGVkIEVYVEkgbGluZS4KKyAgKiBAcmV0dmFsIE5vbmUuCiAgICovCi0jZGVmaW5lIF9fSEFMX1JUQ19USU1FU1RBTVBfQ0xFQVJfRkxBRyhfX0hBTkRMRV9fLCBfX0ZMQUdfXykgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSKSA9ICh+KChfX0ZMQUdfXykgfCBSVENfSVNSX0lOSVQpfCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IgJiBSVENfSVNSX0lOSVQpKQorI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0RJU0FCTEVfUklTSU5HX0VER0UoKSAgIChFWFRJLT5SVFNSICY9IH5SVENfRVhUSV9MSU5FX1RBTVBFUl9USU1FU1RBTVBfRVZFTlQpCiAKIC8qKgotICAqIEBicmllZiAgRW5hYmxlIHRoZSBSVEMgaW50ZXJuYWwgVGltZVN0YW1wIHBlcmlwaGVyYWwuCi0gICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KLSAgKiBAcmV0dmFsIE5vbmUKKyAgKiBAYnJpZWYgIEVuYWJsZSByaXNpbmcgJiBmYWxsaW5nIGVkZ2UgdHJpZ2dlciBvbiB0aGUgUlRDIFRhbXBlciBhbmQgVGltZXN0YW1wIGFzc29jaWF0ZWQgRVhUSSBsaW5lLgorICAqIEByZXR2YWwgTm9uZS4KICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX0lOVEVSTkFMX1RJTUVTVEFNUF9FTkFCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSIHw9IChSVENfQ1JfSVRTRSkpCisjZGVmaW5lIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfRU5BQkxFX1JJU0lOR19GQUxMSU5HX0VER0UoKSBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfRU5BQkxFX1JJU0lOR19FREdFKCk7ICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfRU5BQkxFX0ZBTExJTkdfRURHRSgpOyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IHdoaWxlKDBVKQogCiAvKioKLSAgKiBAYnJpZWYgIERpc2FibGUgdGhlIFJUQyBpbnRlcm5hbCBUaW1lU3RhbXAgcGVyaXBoZXJhbC4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgotICAqIEByZXR2YWwgTm9uZQorICAqIEBicmllZiAgRGlzYWJsZSByaXNpbmcgJiBmYWxsaW5nIGVkZ2UgdHJpZ2dlciBvbiB0aGUgUlRDIFRhbXBlciBhbmQgVGltZXN0YW1wIGFzc29jaWF0ZWQgRVhUSSBsaW5lLgorICAqIFRoaXMgcGFyYW1ldGVyIGNhbiBiZToKKyAgKiBAcmV0dmFsIE5vbmUuCiAgICovCi0jZGVmaW5lIF9fSEFMX1JUQ19JTlRFUk5BTF9USU1FU1RBTVBfRElTQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5DUiAmPSB+KFJUQ19DUl9JVFNFKSkKKyNkZWZpbmUgX19IQUxfUlRDX1RBTVBFUl9USU1FU1RBTVBfRVhUSV9ESVNBQkxFX1JJU0lOR19GQUxMSU5HX0VER0UoKSBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUlRDX1RBTVBFUl9USU1FU1RBTVBfRVhUSV9ESVNBQkxFX1JJU0lOR19FREdFKCk7ICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0RJU0FCTEVfRkFMTElOR19FREdFKCk7IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IHdoaWxlKDBVKQogCiAvKioKLSAgKiBAYnJpZWYgIEdldCB0aGUgc2VsZWN0ZWQgUlRDIEludGVybmFsIFRpbWUgU3RhbXAncyBmbGFnIHN0YXR1cy4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgotICAqIEBwYXJhbSAgX19GTEFHX18gc3BlY2lmaWVzIHRoZSBSVEMgSW50ZXJuYWwgVGltZSBTdGFtcCBGbGFnIGlzIHBlbmRpbmcgb3Igbm90LgotICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlOgotICAqICAgICAgICAgICAgQGFyZyBSVENfRkxBR19JVFNGCi0gICogQHJldHZhbCBOb25lCisgICogQGJyaWVmIENoZWNrIHdoZXRoZXIgdGhlIFJUQyBUYW1wZXIgYW5kIFRpbWVzdGFtcCBhc3NvY2lhdGVkIEVYVEkgbGluZSBpbnRlcnJ1cHQgZmxhZyBpcyBzZXQgb3Igbm90LgorICAqIEByZXR2YWwgTGluZSBTdGF0dXMuCiAgICovCi0jZGVmaW5lIF9fSEFMX1JUQ19JTlRFUk5BTF9USU1FU1RBTVBfR0VUX0ZMQUcoX19IQU5ETEVfXywgX19GTEFHX18pICAgICgoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IpICYgKF9fRkxBR19fKSkgIT0gUkVTRVQpID8gU0VUIDogUkVTRVQpCisjZGVmaW5lIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfR0VUX0ZMQUcoKSAgICAgICAgIChFWFRJLT5QUiAmIFJUQ19FWFRJX0xJTkVfVEFNUEVSX1RJTUVTVEFNUF9FVkVOVCkKIAogLyoqCi0gICogQGJyaWVmICBDbGVhciB0aGUgUlRDIEludGVybmFsIFRpbWUgU3RhbXAncyBwZW5kaW5nIGZsYWdzLgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFJUQyBoYW5kbGUuCi0gICogQHBhcmFtICBfX0ZMQUdfXyBzcGVjaWZpZXMgdGhlIFJUQyBJbnRlcm5hbCBUaW1lIFN0YW1wIEZsYWcgc291cmNlIHRvIGNsZWFyLgotICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZToKLSAgKiAgICAgICAgICAgICBAYXJnIFJUQ19GTEFHX0lUU0YKLSAgKiBAcmV0dmFsIE5vbmUKKyAgKiBAYnJpZWYgQ2xlYXIgdGhlIFJUQyBUYW1wZXIgYW5kIFRpbWVzdGFtcCBhc3NvY2lhdGVkIEVYVEkgbGluZSBmbGFnLgorICAqIEByZXR2YWwgTm9uZS4KICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX0lOVEVSTkFMX1RJTUVTVEFNUF9DTEVBUl9GTEFHKF9fSEFORExFX18sIF9fRkxBR19fKSAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUikgPSAofigoKF9fRkxBR19fKSB8IFJUQ19JU1JfSU5JVCkmIDB4MDAwM0ZGRkYpfCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IgJiBSVENfSVNSX0lOSVQpKQorI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0NMRUFSX0ZMQUcoKSAgICAgICAoRVhUSS0+UFIgPSBSVENfRVhUSV9MSU5FX1RBTVBFUl9USU1FU1RBTVBfRVZFTlQpCisKKy8qKgorICAqIEBicmllZiBHZW5lcmF0ZSBhIFNvZnR3YXJlIGludGVycnVwdCBvbiB0aGUgUlRDIFRhbXBlciBhbmQgVGltZXN0YW1wIGFzc29jaWF0ZWQgRVhUSSBsaW5lCisgICogQHJldHZhbCBOb25lLgorICAqLworI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0dFTkVSQVRFX1NXSVQoKSAgICAoRVhUSS0+U1dJRVIgfD0gUlRDX0VYVElfTElORV9UQU1QRVJfVElNRVNUQU1QX0VWRU5UKQorLyoqCisgICogQH0KKyAgKi8KKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tQ0FMSUJSQVRJT04tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqIEBkZWZncm91cCBSVENFeF9DYWxpYnJhdGlvbiBSVENFeCBDYWxpYnJhdGlvbgorICAqIEB7CisgICovCiAKIC8qKgogICAqIEBicmllZiAgRW5hYmxlIHRoZSBSVEMgY2FsaWJyYXRpb24gb3V0cHV0LgogICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFJUQyBoYW5kbGUuCiAgICogQHJldHZhbCBOb25lCiAgICovCi0jZGVmaW5lIF9fSEFMX1JUQ19DQUxJQlJBVElPTl9PVVRQVVRfRU5BQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5DUiB8PSAoUlRDX0NSX0NPRSkpCisjZGVmaW5lIF9fSEFMX1JUQ19DQUxJQlJBVElPTl9PVVRQVVRfRU5BQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IgfD0gKFJUQ19DUl9DT0UpKQogCiAvKioKICAgKiBAYnJpZWYgIERpc2FibGUgdGhlIGNhbGlicmF0aW9uIG91dHB1dC4KICAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9SVENfQ0FMSUJSQVRJT05fT1VUUFVUX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IgJj0gfihSVENfQ1JfQ09FKSkKKyNkZWZpbmUgX19IQUxfUlRDX0NBTElCUkFUSU9OX09VVFBVVF9ESVNBQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5DUiAmPSB+KFJUQ19DUl9DT0UpKQogCiAvKioKICAgKiBAYnJpZWYgIEVuYWJsZSB0aGUgY2xvY2sgcmVmZXJlbmNlIGRldGVjdGlvbi4KICAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9SVENfQ0xPQ0tSRUZfREVURUNUSU9OX0VOQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IgfD0gKFJUQ19DUl9SRUZDS09OKSkKKyNkZWZpbmUgX19IQUxfUlRDX0NMT0NLUkVGX0RFVEVDVElPTl9FTkFCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5DUiB8PSAoUlRDX0NSX1JFRkNLT04pKQogCiAvKioKICAgKiBAYnJpZWYgIERpc2FibGUgdGhlIGNsb2NrIHJlZmVyZW5jZSBkZXRlY3Rpb24uCiAgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX0NMT0NLUkVGX0RFVEVDVElPTl9ESVNBQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSICY9IH4oUlRDX0NSX1JFRkNLT04pKQorI2RlZmluZSBfX0hBTF9SVENfQ0xPQ0tSRUZfREVURUNUSU9OX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSICY9IH4oUlRDX0NSX1JFRkNLT04pKQogCiAvKioKICAgKiBAYnJpZWYgIEdldCB0aGUgc2VsZWN0ZWQgUlRDIHNoaWZ0IG9wZXJhdGlvbidzIGZsYWcgc3RhdHVzLgogICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFJUQyBoYW5kbGUuCiAgICogQHBhcmFtICBfX0ZMQUdfXyBzcGVjaWZpZXMgdGhlIFJUQyBzaGlmdCBvcGVyYXRpb24gRmxhZyBpcyBwZW5kaW5nIG9yIG5vdC4KICAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmU6Ci0gICogICAgICAgICAgICAgQGFyZyBSVENfRkxBR19TSFBGCisgICogICAgICAgICAgICAgQGFyZyBSVENfRkxBR19TSFBGOiBTaGlmdCBwZW5kaW5nIGZsYWcKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1NISUZUX0dFVF9GTEFHKF9fSEFORExFX18sIF9fRkxBR19fKSAgICAgICAgICgoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IpICYgKF9fRkxBR19fKSkgIT0gUkVTRVQpID8gU0VUIDogUkVTRVQpCi0KKyNkZWZpbmUgX19IQUxfUlRDX1NISUZUX0dFVF9GTEFHKF9fSEFORExFX18sIF9fRkxBR19fKSAgICAgICAgICAgICAgICAoKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSKSAmIChfX0ZMQUdfXykpICE9IDBVKT8gMVUgOiAwVSkKIC8qKgotICAqIEBicmllZiAgRW5hYmxlIGludGVycnVwdCBvbiB0aGUgUlRDIFdha2VVcCBUaW1lciBhc3NvY2lhdGVkIEV4dGkgbGluZS4KLSAgKiBAcmV0dmFsIE5vbmUKKyAgKiBAfQogICAqLwotI2RlZmluZSBfX0hBTF9SVENfV0FLRVVQVElNRVJfRVhUSV9FTkFCTEVfSVQoKSAgICAgICAoRVhUSS0+SU1SIHw9IFJUQ19FWFRJX0xJTkVfV0FLRVVQVElNRVJfRVZFTlQpCi0KLS8qKgotICAqIEBicmllZiAgRGlzYWJsZSBpbnRlcnJ1cHQgb24gdGhlIFJUQyBXYWtlVXAgVGltZXIgYXNzb2NpYXRlZCBFeHRpIGxpbmUuCi0gICogQHJldHZhbCBOb25lCi0gICovCi0jZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0RJU0FCTEVfSVQoKSAgICAgIChFWFRJLT5JTVIgJj0gfihSVENfRVhUSV9MSU5FX1dBS0VVUFRJTUVSX0VWRU5UKSkKLQotLyoqCi0gICogQGJyaWVmICBFbmFibGUgZXZlbnQgb24gdGhlIFJUQyBXYWtlVXAgVGltZXIgYXNzb2NpYXRlZCBFeHRpIGxpbmUuCi0gICogQHJldHZhbCBOb25lLgotICAqLwotI2RlZmluZSBfX0hBTF9SVENfV0FLRVVQVElNRVJfRVhUSV9FTkFCTEVfRVZFTlQoKSAgICAoRVhUSS0+RU1SIHw9IFJUQ19FWFRJX0xJTkVfV0FLRVVQVElNRVJfRVZFTlQpCi0KLS8qKgotICAqIEBicmllZiAgRGlzYWJsZSBldmVudCBvbiB0aGUgUlRDIFdha2VVcCBUaW1lciBhc3NvY2lhdGVkIEV4dGkgbGluZS4KLSAgKiBAcmV0dmFsIE5vbmUuCi0gICovCi0jZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0RJU0FCTEVfRVZFTlQoKSAgIChFWFRJLT5FTVIgJj0gfihSVENfRVhUSV9MSU5FX1dBS0VVUFRJTUVSX0VWRU5UKSkKLQotLyoqCi0gICogQGJyaWVmICBFbmFibGUgZmFsbGluZyBlZGdlIHRyaWdnZXIgb24gdGhlIFJUQyBXYWtlVXAgVGltZXIgYXNzb2NpYXRlZCBFeHRpIGxpbmUuIAotICAqIEByZXR2YWwgTm9uZS4KLSAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VYVElfRU5BQkxFX0ZBTExJTkdfRURHRSgpICAgKEVYVEktPkZUU1IgfD0gUlRDX0VYVElfTElORV9XQUtFVVBUSU1FUl9FVkVOVCkKLQotLyoqCi0gICogQGJyaWVmICBEaXNhYmxlIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgV2FrZVVwIFRpbWVyIGFzc29jaWF0ZWQgRXh0aSBsaW5lLgotICAqIEByZXR2YWwgTm9uZS4KLSAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VYVElfRElTQUJMRV9GQUxMSU5HX0VER0UoKSAgKEVYVEktPkZUU1IgJj0gfihSVENfRVhUSV9MSU5FX1dBS0VVUFRJTUVSX0VWRU5UKSkKLQotLyoqCi0gICogQGJyaWVmICBFbmFibGUgcmlzaW5nIGVkZ2UgdHJpZ2dlciBvbiB0aGUgUlRDIFdha2VVcCBUaW1lciBhc3NvY2lhdGVkIEV4dGkgbGluZS4KLSAgKiBAcmV0dmFsIE5vbmUuCi0gICovCi0jZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0VOQUJMRV9SSVNJTkdfRURHRSgpICAgIChFWFRJLT5SVFNSIHw9IFJUQ19FWFRJX0xJTkVfV0FLRVVQVElNRVJfRVZFTlQpCi0KLS8qKgotICAqIEBicmllZiAgRGlzYWJsZSByaXNpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgV2FrZVVwIFRpbWVyIGFzc29jaWF0ZWQgRXh0aSBsaW5lLgotICAqIEByZXR2YWwgTm9uZS4KLSAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VYVElfRElTQUJMRV9SSVNJTkdfRURHRSgpICAgKEVYVEktPlJUU1IgJj0gfihSVENfRVhUSV9MSU5FX1dBS0VVUFRJTUVSX0VWRU5UKSkKLQotLyoqCi0gICogQGJyaWVmICBFbmFibGUgcmlzaW5nICYgZmFsbGluZyBlZGdlIHRyaWdnZXIgb24gdGhlIFJUQyBXYWtlVXAgVGltZXIgYXNzb2NpYXRlZCBFeHRpIGxpbmUuCi0gICogQHJldHZhbCBOb25lLgotICAqLwotI2RlZmluZSBfX0hBTF9SVENfV0FLRVVQVElNRVJfRVhUSV9FTkFCTEVfUklTSU5HX0ZBTExJTkdfRURHRSgpIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0VOQUJMRV9SSVNJTkdfRURHRSgpO19fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0VOQUJMRV9GQUxMSU5HX0VER0UoKTsKLQotLyoqCi0gICogQGJyaWVmICBEaXNhYmxlIHJpc2luZyAmIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgV2FrZVVwIFRpbWVyIGFzc29jaWF0ZWQgRXh0aSBsaW5lLgotICAqIFRoaXMgcGFyYW1ldGVyIGNhbiBiZToKLSAgKiBAcmV0dmFsIE5vbmUuCi0gICovCi0jZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0RJU0FCTEVfUklTSU5HX0ZBTExJTkdfRURHRSgpIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0RJU0FCTEVfUklTSU5HX0VER0UoKTtfX0hBTF9SVENfV0FLRVVQVElNRVJfRVhUSV9ESVNBQkxFX0ZBTExJTkdfRURHRSgpOwotCi0vKioKLSAgKiBAYnJpZWYgQ2hlY2sgd2hldGhlciB0aGUgUlRDIFdha2VVcCBUaW1lciBhc3NvY2lhdGVkIEV4dGkgbGluZSBpbnRlcnJ1cHQgZmxhZyBpcyBzZXQgb3Igbm90LgotICAqIEByZXR2YWwgTGluZSBTdGF0dXMuCi0gICovCi0jZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0dFVF9GTEFHKCkgICAgICAgICAgICAgIChFWFRJLT5QUiAmIFJUQ19FWFRJX0xJTkVfV0FLRVVQVElNRVJfRVZFTlQpCi0KLS8qKgotICAqIEBicmllZiBDbGVhciB0aGUgUlRDIFdha2VVcCBUaW1lciBhc3NvY2lhdGVkIEV4dGkgbGluZSBmbGFnLgotICAqIEByZXR2YWwgTm9uZS4KLSAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VYVElfQ0xFQVJfRkxBRygpICAgICAgICAgICAgKEVYVEktPlBSID0gUlRDX0VYVElfTElORV9XQUtFVVBUSU1FUl9FVkVOVCkKLQotLyoqCi0gICogQGJyaWVmIEdlbmVyYXRlIGEgU29mdHdhcmUgaW50ZXJydXB0IG9uIHRoZSBSVEMgV2FrZVVwIFRpbWVyIGFzc29jaWF0ZWQgRXh0aSBsaW5lLgotICAqIEByZXR2YWwgTm9uZS4KLSAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VYVElfR0VORVJBVEVfU1dJVCgpICAgICAgICAgKEVYVEktPlNXSUVSIHw9IFJUQ19FWFRJX0xJTkVfV0FLRVVQVElNRVJfRVZFTlQpCi0KLS8qKgotICAqIEBicmllZiAgRW5hYmxlIGludGVycnVwdCBvbiB0aGUgUlRDIFRhbXBlciBhbmQgVGltZXN0YW1wIGFzc29jaWF0ZWQgRXh0aSBsaW5lLgotICAqIEByZXR2YWwgTm9uZQotICAqLwotI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0VOQUJMRV9JVCgpICAgICAgICAoRVhUSS0+SU1SIHw9IFJUQ19FWFRJX0xJTkVfVEFNUEVSX1RJTUVTVEFNUF9FVkVOVCkKLQotLyoqCi0gICogQGJyaWVmICBEaXNhYmxlIGludGVycnVwdCBvbiB0aGUgUlRDIFRhbXBlciBhbmQgVGltZXN0YW1wIGFzc29jaWF0ZWQgRXh0aSBsaW5lLgotICAqIEByZXR2YWwgTm9uZQotICAqLwotI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0RJU0FCTEVfSVQoKSAgICAgICAoRVhUSS0+SU1SICY9IH4oUlRDX0VYVElfTElORV9UQU1QRVJfVElNRVNUQU1QX0VWRU5UKSkKLQotLyoqCi0gICogQGJyaWVmICBFbmFibGUgZXZlbnQgb24gdGhlIFJUQyBUYW1wZXIgYW5kIFRpbWVzdGFtcCBhc3NvY2lhdGVkIEV4dGkgbGluZS4KLSAgKiBAcmV0dmFsIE5vbmUuCi0gICovCi0jZGVmaW5lIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfRU5BQkxFX0VWRU5UKCkgICAgKEVYVEktPkVNUiB8PSBSVENfRVhUSV9MSU5FX1RBTVBFUl9USU1FU1RBTVBfRVZFTlQpCi0KLS8qKgotICAqIEBicmllZiAgRGlzYWJsZSBldmVudCBvbiB0aGUgUlRDIFRhbXBlciBhbmQgVGltZXN0YW1wIGFzc29jaWF0ZWQgRXh0aSBsaW5lLgotICAqIEByZXR2YWwgTm9uZS4KLSAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1RBTVBFUl9USU1FU1RBTVBfRVhUSV9ESVNBQkxFX0VWRU5UKCkgICAoRVhUSS0+RU1SICY9IH4oUlRDX0VYVElfTElORV9UQU1QRVJfVElNRVNUQU1QX0VWRU5UKSkKLQotLyoqCi0gICogQGJyaWVmICBFbmFibGUgZmFsbGluZyBlZGdlIHRyaWdnZXIgb24gdGhlIFJUQyBUYW1wZXIgYW5kIFRpbWVzdGFtcCBhc3NvY2lhdGVkIEV4dGkgbGluZS4gCi0gICogQHJldHZhbCBOb25lLgotICAqLwotI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0VOQUJMRV9GQUxMSU5HX0VER0UoKSAgIChFWFRJLT5GVFNSIHw9IFJUQ19FWFRJX0xJTkVfVEFNUEVSX1RJTUVTVEFNUF9FVkVOVCkKLQotLyoqCi0gICogQGJyaWVmICBEaXNhYmxlIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgVGFtcGVyIGFuZCBUaW1lc3RhbXAgYXNzb2NpYXRlZCBFeHRpIGxpbmUuCi0gICogQHJldHZhbCBOb25lLgotICAqLwotI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0RJU0FCTEVfRkFMTElOR19FREdFKCkgIChFWFRJLT5GVFNSICY9IH4oUlRDX0VYVElfTElORV9UQU1QRVJfVElNRVNUQU1QX0VWRU5UKSkKLQotLyoqCi0gICogQGJyaWVmICBFbmFibGUgcmlzaW5nIGVkZ2UgdHJpZ2dlciBvbiB0aGUgUlRDIFRhbXBlciBhbmQgVGltZXN0YW1wIGFzc29jaWF0ZWQgRXh0aSBsaW5lLgotICAqIEByZXR2YWwgTm9uZS4KLSAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1RBTVBFUl9USU1FU1RBTVBfRVhUSV9FTkFCTEVfUklTSU5HX0VER0UoKSAgICAoRVhUSS0+UlRTUiB8PSBSVENfRVhUSV9MSU5FX1RBTVBFUl9USU1FU1RBTVBfRVZFTlQpCi0KLS8qKgotICAqIEBicmllZiAgRGlzYWJsZSByaXNpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgVGFtcGVyIGFuZCBUaW1lc3RhbXAgYXNzb2NpYXRlZCBFeHRpIGxpbmUuCi0gICogQHJldHZhbCBOb25lLgotICAqLwotI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0RJU0FCTEVfUklTSU5HX0VER0UoKSAgIChFWFRJLT5SVFNSICY9IH4oUlRDX0VYVElfTElORV9UQU1QRVJfVElNRVNUQU1QX0VWRU5UKSkKLQotLyoqCi0gICogQGJyaWVmICBFbmFibGUgcmlzaW5nICYgZmFsbGluZyBlZGdlIHRyaWdnZXIgb24gdGhlIFJUQyBUYW1wZXIgYW5kIFRpbWVzdGFtcCBhc3NvY2lhdGVkIEV4dGkgbGluZS4KLSAgKiBAcmV0dmFsIE5vbmUuCi0gICovCi0jZGVmaW5lIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfRU5BQkxFX1JJU0lOR19GQUxMSU5HX0VER0UoKSBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0VOQUJMRV9SSVNJTkdfRURHRSgpO19fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfRU5BQkxFX0ZBTExJTkdfRURHRSgpOwotCi0vKioKLSAgKiBAYnJpZWYgIERpc2FibGUgcmlzaW5nICYgZmFsbGluZyBlZGdlIHRyaWdnZXIgb24gdGhlIFJUQyBUYW1wZXIgYW5kIFRpbWVzdGFtcCBhc3NvY2lhdGVkIEV4dGkgbGluZS4KLSAgKiBUaGlzIHBhcmFtZXRlciBjYW4gYmU6Ci0gICogQHJldHZhbCBOb25lLgotICAqLwotI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0RJU0FCTEVfUklTSU5HX0ZBTExJTkdfRURHRSgpIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfRElTQUJMRV9SSVNJTkdfRURHRSgpO19fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfRElTQUJMRV9GQUxMSU5HX0VER0UoKTsKLQotLyoqCi0gICogQGJyaWVmIENoZWNrIHdoZXRoZXIgdGhlIFJUQyBUYW1wZXIgYW5kIFRpbWVzdGFtcCBhc3NvY2lhdGVkIEV4dGkgbGluZSBpbnRlcnJ1cHQgZmxhZyBpcyBzZXQgb3Igbm90LgotICAqIEByZXR2YWwgTGluZSBTdGF0dXMuCi0gICovCi0jZGVmaW5lIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfR0VUX0ZMQUcoKSAgICAgICAgIChFWFRJLT5QUiAmIFJUQ19FWFRJX0xJTkVfVEFNUEVSX1RJTUVTVEFNUF9FVkVOVCkKLQotLyoqCi0gICogQGJyaWVmIENsZWFyIHRoZSBSVEMgVGFtcGVyIGFuZCBUaW1lc3RhbXAgYXNzb2NpYXRlZCBFeHRpIGxpbmUgZmxhZy4KLSAgKiBAcmV0dmFsIE5vbmUuCi0gICovCi0jZGVmaW5lIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfQ0xFQVJfRkxBRygpICAgICAgIChFWFRJLT5QUiA9IFJUQ19FWFRJX0xJTkVfVEFNUEVSX1RJTUVTVEFNUF9FVkVOVCkKLQotLyoqCi0gICogQGJyaWVmIEdlbmVyYXRlIGEgU29mdHdhcmUgaW50ZXJydXB0IG9uIHRoZSBSVEMgVGFtcGVyIGFuZCBUaW1lc3RhbXAgYXNzb2NpYXRlZCBFeHRpIGxpbmUKLSAgKiBAcmV0dmFsIE5vbmUuCi0gICovCi0jZGVmaW5lIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfR0VORVJBVEVfU1dJVCgpICAgIChFWFRJLT5TV0lFUiB8PSBSVENfRVhUSV9MSU5FX1RBTVBFUl9USU1FU1RBTVBfRVZFTlQpCiAKIC8qKgogICAqIEB9CiAgICovCiAKIC8qIEV4cG9ydGVkIGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKIC8qKiBAZGVmZ3JvdXAgUlRDRXhfRXhwb3J0ZWRfRnVuY3Rpb25zIFJUQ0V4IEV4cG9ydGVkIEZ1bmN0aW9ucwogICAqIEB7CiAgICovCkBAIC04MjYsMTcgKzkxNywxNiBAQAogLyoqIEBhZGR0b2dyb3VwIFJUQ0V4X0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDEKICAgKiBAewogICAqLwotCi0vKiBSVEMgVGltZVN0YW1wIGFuZCBUYW1wZXIgZnVuY3Rpb25zICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1NldFRpbWVTdGFtcChSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgVGltZVN0YW1wRWRnZSwgdWludDMyX3QgUlRDX1RpbWVTdGFtcFBpbik7Ci1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0VGltZVN0YW1wX0lUKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBUaW1lU3RhbXBFZGdlLCB1aW50MzJfdCBSVENfVGltZVN0YW1wUGluKTsKKy8qIFJUQyBUaW1lc3RhbXAgYW5kIFRhbXBlciBmdW5jdGlvbnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0VGltZVN0YW1wKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBSVENfVGltZVN0YW1wRWRnZSwgdWludDMyX3QgUlRDX1RpbWVTdGFtcFBpbik7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0VGltZVN0YW1wX0lUKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBSVENfVGltZVN0YW1wRWRnZSwgdWludDMyX3QgUlRDX1RpbWVTdGFtcFBpbik7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfRGVhY3RpdmF0ZVRpbWVTdGFtcChSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0SW50ZXJuYWxUaW1lU3RhbXAoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X0RlYWN0aXZhdGVJbnRlcm5hbFRpbWVTdGFtcChSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfR2V0VGltZVN0YW1wKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCBSVENfVGltZVR5cGVEZWYgKnNUaW1lU3RhbXAsIFJUQ19EYXRlVHlwZURlZiAqc1RpbWVTdGFtcERhdGUsIHVpbnQzMl90IEZvcm1hdCk7CiAKLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRUYW1wZXIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIFJUQ19UYW1wZXJUeXBlRGVmKiBzVGFtcGVyKTsKLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRUYW1wZXJfSVQoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIFJUQ19UYW1wZXJUeXBlRGVmKiBzVGFtcGVyKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRUYW1wZXIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIFJUQ19UYW1wZXJUeXBlRGVmICpzVGFtcGVyKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRUYW1wZXJfSVQoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIFJUQ19UYW1wZXJUeXBlRGVmICpzVGFtcGVyKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9EZWFjdGl2YXRlVGFtcGVyKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBUYW1wZXIpOwogdm9pZCAgICAgICAgICAgICAgSEFMX1JUQ0V4X1RhbXBlclRpbWVTdGFtcElSUUhhbmRsZXIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOwogCkBAIC04NTUsMTAgKzk0NSwxMCBAQAogLyoqIEBhZGR0b2dyb3VwIFJUQ0V4X0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDIKICAgKiBAewogICAqLwotLyogUlRDIFdha2UtdXAgZnVuY3Rpb25zICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIFJUQyBXYWtldXAgZnVuY3Rpb25zICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRXYWtlVXBUaW1lcihSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgV2FrZVVwQ291bnRlciwgdWludDMyX3QgV2FrZVVwQ2xvY2spOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1NldFdha2VVcFRpbWVyX0lUKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBXYWtlVXBDb3VudGVyLCB1aW50MzJfdCBXYWtlVXBDbG9jayk7Ci11aW50MzJfdCAgICAgICAgICBIQUxfUlRDRXhfRGVhY3RpdmF0ZVdha2VVcFRpbWVyKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9EZWFjdGl2YXRlV2FrZVVwVGltZXIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOwogdWludDMyX3QgICAgICAgICAgSEFMX1JUQ0V4X0dldFdha2VVcFRpbWVyKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKIHZvaWQgICAgICAgICAgICAgIEhBTF9SVENFeF9XYWtlVXBUaW1lcklSUUhhbmRsZXIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOwogdm9pZCAgICAgICAgICAgICAgSEFMX1JUQ0V4X1dha2VVcFRpbWVyRXZlbnRDYWxsYmFjayhSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7CkBAIC04NzAsMTEgKzk2MCwxMSBAQAogLyoqIEBhZGR0b2dyb3VwIFJUQ0V4X0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDMKICAgKiBAewogICAqLwotLyogRXh0ZW5zaW9uIENvbnRyb2wgZnVuY3Rpb25zICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIEV4dGVuZGVkIENvbnRyb2wgZnVuY3Rpb25zICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIHZvaWQgICAgICAgICAgICAgIEhBTF9SVENFeF9CS1VQV3JpdGUoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIHVpbnQzMl90IEJhY2t1cFJlZ2lzdGVyLCB1aW50MzJfdCBEYXRhKTsKIHVpbnQzMl90ICAgICAgICAgIEhBTF9SVENFeF9CS1VQUmVhZChSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgQmFja3VwUmVnaXN0ZXIpOwogCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0U21vb3RoQ2FsaWIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIHVpbnQzMl90IFNtb290aENhbGliUGVyaW9kLCB1aW50MzJfdCBTbW9vdGhDYWxpYlBsdXNQdWxzZXMsIHVpbnQzMl90IFNtb3V0aENhbGliTWludXNQdWxzZXNWYWx1ZSk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0U21vb3RoQ2FsaWIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIHVpbnQzMl90IFNtb290aENhbGliUGVyaW9kLCB1aW50MzJfdCBTbW9vdGhDYWxpYlBsdXNQdWxzZXMsIHVpbnQzMl90IFNtb290aENhbGliTWludXNQdWxzZXNWYWx1ZSk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0U3luY2hyb1NoaWZ0KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBTaGlmdEFkZDFTLCB1aW50MzJfdCBTaGlmdFN1YkZTKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRDYWxpYnJhdGlvbk91dFB1dChSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgQ2FsaWJPdXRwdXQpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X0RlYWN0aXZhdGVDYWxpYnJhdGlvbk91dFB1dChSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7CkBAIC04ODksNDAgKzk3OSw1MiBAQAogLyoqIEBhZGR0b2dyb3VwIFJUQ0V4X0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDQKICAgKiBAewogICAqLwotLyogRXh0ZW5zaW9uIFJUQyBmZWF0dXJlcyBmdW5jdGlvbnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLXZvaWQgICAgICAgICAgICAgIEhBTF9SVENFeF9BbGFybUJFdmVudENhbGxiYWNrKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsgCisvKiBFeHRlbmRlZCBSVEMgZmVhdHVyZXMgZnVuY3Rpb25zICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIEhBTF9SVENFeF9BbGFybUJFdmVudENhbGxiYWNrKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9Qb2xsRm9yQWxhcm1CRXZlbnQoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIHVpbnQzMl90IFRpbWVvdXQpOwogLyoqCiAgICogQH0KLSAgKi8gCisgICovCiAKIC8qKgogICAqIEB9Ci0gICovIAotLyogUHJpdmF0ZSB0eXBlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8gCisgICovCisKKy8qIFByaXZhdGUgdHlwZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKiBQcml2YXRlIHZhcmlhYmxlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogLyogUHJpdmF0ZSBjb25zdGFudHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwogLyoqIEBkZWZncm91cCBSVENFeF9Qcml2YXRlX0NvbnN0YW50cyBSVENFeCBQcml2YXRlIENvbnN0YW50cwogICAqIEB7CiAgICovCi0jZGVmaW5lIFJUQ19FWFRJX0xJTkVfVEFNUEVSX1RJTUVTVEFNUF9FVkVOVCAgKCh1aW50MzJfdClFWFRJX0lNUl9JTTIxKSAgLyohPCBFeHRlcm5hbCBpbnRlcnJ1cHQgbGluZSAyMSBDb25uZWN0ZWQgdG8gdGhlIFJUQyBUYW1wZXIgYW5kIFRpbWUgU3RhbXAgZXZlbnRzICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLSNkZWZpbmUgUlRDX0VYVElfTElORV9XQUtFVVBUSU1FUl9FVkVOVCAgICAgICAoKHVpbnQzMl90KUVYVElfSU1SX0lNMjIpICAvKiE8IEV4dGVybmFsIGludGVycnVwdCBsaW5lIDIyIENvbm5lY3RlZCB0byB0aGUgUlRDIFdha2UtdXAgZXZlbnQgKi8gIAorI2RlZmluZSBSVENfRVhUSV9MSU5FX1RBTVBFUl9USU1FU1RBTVBfRVZFTlQgIEVYVElfSU1SX0lNMjEgIC8qITwgRXh0ZXJuYWwgaW50ZXJydXB0IGxpbmUgMjEgQ29ubmVjdGVkIHRvIHRoZSBSVEMgVGFtcGVyIGFuZCBUaW1lc3RhbXAgZXZlbnQgKi8KKyNkZWZpbmUgUlRDX0VYVElfTElORV9XQUtFVVBUSU1FUl9FVkVOVCAgICAgICBFWFRJX0lNUl9JTTIyICAvKiE8IEV4dGVybmFsIGludGVycnVwdCBsaW5lIDIyIENvbm5lY3RlZCB0byB0aGUgUlRDIFdha2V1cCBldmVudCAqLwogLyoqCiAgICogQH0KICAgKi8KIAotLyogUHJpdmF0ZSBjb25zdGFudHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIC8qKiBAZGVmZ3JvdXAgUlRDRXhfUHJpdmF0ZV9Db25zdGFudHMgUlRDRXggUHJpdmF0ZSBDb25zdGFudHMKICAgKiBAewogICAqLwogLyogTWFza3MgRGVmaW5pdGlvbiAqLwotI2RlZmluZSBSVENfVEFNUENSX1RBTVBYRSAgICAgKCh1aW50MzJfdCkgKFJUQ19UQU1QQ1JfVEFNUDNFIHwgUlRDX1RBTVBDUl9UQU1QMkUgfCBSVENfVEFNUENSX1RBTVAxRSkpCi0jZGVmaW5lIFJUQ19UQU1QQ1JfVEFNUFhJRSAgICAoKHVpbnQzMl90KSAoUlRDX1RBTVBFUjFfSU5URVJSVVBUIHwgUlRDX1RBTVBFUjJfSU5URVJSVVBUIHwgUlRDX1RBTVBFUjNfSU5URVJSVVBUIHwgUlRDX0FMTF9UQU1QRVJfSU5URVJSVVBUKSkKKyNkZWZpbmUgUlRDX1RBTVBFUl9FTkFCTEVfQklUU19NQVNLICAgICAgICAgKCh1aW50MzJfdCkgKFJUQ19UQU1QRVJfMSB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19UQU1QRVJfMiB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19UQU1QRVJfMykpCisKKyNkZWZpbmUgUlRDX1RBTVBFUl9GTEFHU19NQVNLICAgICAgICAgICAgICAgKCh1aW50MzJfdCkgKFJUQ19GTEFHX1RBTVAxRiB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19GTEFHX1RBTVAyRiB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19GTEFHX1RBTVAzRikpCisKKyNkZWZpbmUgUlRDX1RBTVBFUl9JVF9FTkFCTEVfQklUU19NQVNLICAgICAgKCh1aW50MzJfdCkgKFJUQ19JVF9UQU1QMSB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19JVF9UQU1QMiB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19JVF9UQU1QMyB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19JVF9UQU1QKSkKIC8qKgogICAqIEB9CiAgICovCi0gIAotLyogUHJpdmF0ZSBtYWNyb3MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8gICAKKworLyogUHJpdmF0ZSBtYWNyb3MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwogLyoqIEBkZWZncm91cCBSVENFeF9Qcml2YXRlX01hY3JvcyBSVENFeCBQcml2YXRlIE1hY3JvcwogICAqIEB7CiAgICovCkBAIC05MzAsNjcgKzEwMzIsOTAgQEAKIC8qKiBAZGVmZ3JvdXAgUlRDRXhfSVNfUlRDX0RlZmluaXRpb25zIFByaXZhdGUgbWFjcm9zIHRvIGNoZWNrIGlucHV0IHBhcmFtZXRlcnMKICAgKiBAewogICAqLwotI2RlZmluZSBJU19SVENfT1VUUFVUKF9fT1VUUFVUX18pICAgICAgKCgoX19PVVRQVVRfXykgPT0gUlRDX09VVFBVVF9ESVNBQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX09VVFBVVF9fKSA9PSBSVENfT1VUUFVUX0FMQVJNQSkgIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fT1VUUFVUX18pID09IFJUQ19PVVRQVVRfQUxBUk1CKSAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19PVVRQVVRfXykgPT0gUlRDX09VVFBVVF9XQUtFVVApKQotI2RlZmluZSBJU19SVENfQktQKF9fQktQX18pICAgICAgICAgICAgICAgKChfX0JLUF9fKSA8ICh1aW50MzJfdCkgUlRDX0JLUF9OVU1CRVIpCi0jZGVmaW5lIElTX1RJTUVTVEFNUF9FREdFKF9fRURHRV9fKSAoKChfX0VER0VfXykgPT0gUlRDX1RJTUVTVEFNUEVER0VfUklTSU5HKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0VER0VfXykgPT0gUlRDX1RJTUVTVEFNUEVER0VfRkFMTElORykpCi0jZGVmaW5lIElTX1JUQ19UQU1QRVIoX19UQU1QRVJfXykgICAoKCgoX19UQU1QRVJfXykgJiAoKHVpbnQzMl90KSgweEZGRkZGRkZGVSBeIFJUQ19UQU1QQ1JfVEFNUFhFKSkpID09IDB4MDBVKSAmJiAoKF9fVEFNUEVSX18pICE9ICh1aW50MzJfdClSRVNFVCkpCisjZGVmaW5lIElTX1JUQ19CS1AoQktQKSAgICAgKChCS1ApIDwgKHVpbnQzMl90KSBSVENfQktQX05VTUJFUikKIAotI2RlZmluZSBJU19SVENfVEFNUEVSX0lOVEVSUlVQVChfX0lOVEVSUlVQVF9fKSAgKCgoKF9fSU5URVJSVVBUX18pICYgKHVpbnQzMl90KSgweEZGRkZGRkZGVSBeIFJUQ19UQU1QQ1JfVEFNUFhJRSkpID09IDB4MDBVKSAmJiAoKF9fSU5URVJSVVBUX18pICE9ICh1aW50MzJfdClSRVNFVCkpCisjZGVmaW5lIElTX1RJTUVTVEFNUF9FREdFKEVER0UpICgoKEVER0UpID09IFJUQ19USU1FU1RBTVBFREdFX1JJU0lORykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChFREdFKSA9PSBSVENfVElNRVNUQU1QRURHRV9GQUxMSU5HKSkKIAotI2RlZmluZSBJU19SVENfVElNRVNUQU1QX1BJTihfX1BJTl9fKSAoKChfX1BJTl9fKSA9PSBSVENfVElNRVNUQU1QUElOX0RFRkFVTFQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19QSU5fXykgPT0gUlRDX1RJTUVTVEFNUFBJTl9QT1MxKSAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1BJTl9fKSA9PSBSVENfVElNRVNUQU1QUElOX1BPUzIpKQotI2RlZmluZSBJU19SVENfVEFNUEVSX1RSSUdHRVIoX19UUklHR0VSX18pICgoKF9fVFJJR0dFUl9fKSA9PSBSVENfVEFNUEVSVFJJR0dFUl9SSVNJTkdFREdFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1RSSUdHRVJfXykgPT0gUlRDX1RBTVBFUlRSSUdHRVJfRkFMTElOR0VER0UpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fVFJJR0dFUl9fKSA9PSBSVENfVEFNUEVSVFJJR0dFUl9MT1dMRVZFTCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19UUklHR0VSX18pID09IFJUQ19UQU1QRVJUUklHR0VSX0hJR0hMRVZFTCkpCi0jZGVmaW5lIElTX1JUQ19UQU1QRVJfRVJBU0VfTU9ERShfX01PREVfXykgICAgICAgICAgICAgKCgoX19NT0RFX18pID09IFJUQ19UQU1QRVJfRVJBU0VfQkFDS1VQX0VOQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fTU9ERV9fKSA9PSBSVENfVEFNUEVSX0VSQVNFX0JBQ0tVUF9ESVNBQkxFKSkKLSNkZWZpbmUgSVNfUlRDX1RBTVBFUl9NQVNLRkxBR19TVEFURShfX1NUQVRFX18pICAgICAoKChfX1NUQVRFX18pID09IFJUQ19UQU1QRVJNQVNLX0ZMQUdfRU5BQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19TVEFURV9fKSA9PSBSVENfVEFNUEVSTUFTS19GTEFHX0RJU0FCTEUpKQotI2RlZmluZSBJU19SVENfVEFNUEVSX0ZJTFRFUihfX0ZJTFRFUl9fKSAgKCgoX19GSUxURVJfXykgPT0gUlRDX1RBTVBFUkZJTFRFUl9ESVNBQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fRklMVEVSX18pID09IFJUQ19UQU1QRVJGSUxURVJfMlNBTVBMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0ZJTFRFUl9fKSA9PSBSVENfVEFNUEVSRklMVEVSXzRTQU1QTEUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19GSUxURVJfXykgPT0gUlRDX1RBTVBFUkZJTFRFUl84U0FNUExFKSkKLSNkZWZpbmUgSVNfUlRDX1RBTVBFUl9TQU1QTElOR19GUkVRKF9fRlJFUV9fKSAoKChfX0ZSRVFfXykgPT0gUlRDX1RBTVBFUlNBTVBMSU5HRlJFUV9SVENDTEtfRElWMzI3NjgpfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19GUkVRX18pID09IFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjE2Mzg0KXx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fRlJFUV9fKSA9PSBSVENfVEFNUEVSU0FNUExJTkdGUkVRX1JUQ0NMS19ESVY4MTkyKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0ZSRVFfXykgPT0gUlRDX1RBTVBFUlNBTVBMSU5HRlJFUV9SVENDTEtfRElWNDA5NikgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19GUkVRX18pID09IFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjIwNDgpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fRlJFUV9fKSA9PSBSVENfVEFNUEVSU0FNUExJTkdGUkVRX1JUQ0NMS19ESVYxMDI0KSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0ZSRVFfXykgPT0gUlRDX1RBTVBFUlNBTVBMSU5HRlJFUV9SVENDTEtfRElWNTEyKSAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19GUkVRX18pID09IFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjI1NikpCi0jZGVmaW5lIElTX1JUQ19UQU1QRVJfUFJFQ0hBUkdFX0RVUkFUSU9OKF9fRFVSQVRJT05fXykgKCgoX19EVVJBVElPTl9fKSA9PSBSVENfVEFNUEVSUFJFQ0hBUkdFRFVSQVRJT05fMVJUQ0NMSykgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19EVVJBVElPTl9fKSA9PSBSVENfVEFNUEVSUFJFQ0hBUkdFRFVSQVRJT05fMlJUQ0NMSykgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19EVVJBVElPTl9fKSA9PSBSVENfVEFNUEVSUFJFQ0hBUkdFRFVSQVRJT05fNFJUQ0NMSykgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19EVVJBVElPTl9fKSA9PSBSVENfVEFNUEVSUFJFQ0hBUkdFRFVSQVRJT05fOFJUQ0NMSykpCi0jZGVmaW5lIElTX1JUQ19UQU1QRVJfVElNRVNUQU1QT05UQU1QRVJfREVURUNUSU9OKF9fREVURUNUSU9OX18pICgoKF9fREVURUNUSU9OX18pID09IFJUQ19USU1FU1RBTVBPTlRBTVBFUkRFVEVDVElPTl9FTkFCTEUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0RFVEVDVElPTl9fKSA9PSBSVENfVElNRVNUQU1QT05UQU1QRVJERVRFQ1RJT05fRElTQUJMRSkpCi0jZGVmaW5lIElTX1JUQ19UQU1QRVJfUFVMTFVQX1NUQVRFKF9fU1RBVEVfXykgKCgoX19TVEFURV9fKSA9PSBSVENfVEFNUEVSX1BVTExVUF9FTkFCTEUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19TVEFURV9fKSA9PSBSVENfVEFNUEVSX1BVTExVUF9ESVNBQkxFKSkKLSNkZWZpbmUgSVNfUlRDX1dBS0VVUF9DTE9DSyhfX0NMT0NLX18pICgoKF9fQ0xPQ0tfXykgPT0gUlRDX1dBS0VVUENMT0NLX1JUQ0NMS19ESVYxNikgICAgICAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0NMT0NLX18pID09IFJUQ19XQUtFVVBDTE9DS19SVENDTEtfRElWOCkgICAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0NMT0NLX18pID09IFJUQ19XQUtFVVBDTE9DS19SVENDTEtfRElWNCkgICAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0NMT0NLX18pID09IFJUQ19XQUtFVVBDTE9DS19SVENDTEtfRElWMikgICAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0NMT0NLX18pID09IFJUQ19XQUtFVVBDTE9DS19DS19TUFJFXzE2QklUUykgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0NMT0NLX18pID09IFJUQ19XQUtFVVBDTE9DS19DS19TUFJFXzE3QklUUykpCisjZGVmaW5lIElTX1JUQ19UQU1QRVIoVEFNUEVSKSAoKCgoVEFNUEVSKSAmICgodWludDMyX3QpflJUQ19UQU1QRVJfRU5BQkxFX0JJVFNfTUFTSykpID09IDB4MDBVKSAmJiAoKFRBTVBFUikgIT0gMFUpKQogCi0jZGVmaW5lIElTX1JUQ19XQUtFVVBfQ09VTlRFUihfX0NPVU5URVJfXykgICgoX19DT1VOVEVSX18pIDw9IDB4RkZGRikKLSNkZWZpbmUgSVNfUlRDX1NNT09USF9DQUxJQl9QRVJJT0QoX19QRVJJT0RfXykgKCgoX19QRVJJT0RfXykgPT0gUlRDX1NNT09USENBTElCX1BFUklPRF8zMlNFQykgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1BFUklPRF9fKSA9PSBSVENfU01PT1RIQ0FMSUJfUEVSSU9EXzE2U0VDKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fUEVSSU9EX18pID09IFJUQ19TTU9PVEhDQUxJQl9QRVJJT0RfOFNFQykpCi0jZGVmaW5lIElTX1JUQ19TTU9PVEhfQ0FMSUJfUExVUyhfX1BMVVNfXykgKCgoX19QTFVTX18pID09IFJUQ19TTU9PVEhDQUxJQl9QTFVTUFVMU0VTX1NFVCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fUExVU19fKSA9PSBSVENfU01PT1RIQ0FMSUJfUExVU1BVTFNFU19SRVNFVCkpCi0jZGVmaW5lICBJU19SVENfU01PT1RIX0NBTElCX01JTlVTKF9fVkFMVUVfXykgKChfX1ZBTFVFX18pIDw9IDB4MDAwMDAxRkYpCi0jZGVmaW5lIElTX1JUQ19TSElGVF9BREQxUyhfX1NFTF9fKSAoKChfX1NFTF9fKSA9PSBSVENfU0hJRlRBREQxU19SRVNFVCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19TRUxfXykgPT0gUlRDX1NISUZUQUREMVNfU0VUKSkKLSNkZWZpbmUgSVNfUlRDX1NISUZUX1NVQkZTKF9fRlNfXykgKChfX0ZTX18pIDw9IDB4MDAwMDdGRkYpCi0jZGVmaW5lIElTX1JUQ19DQUxJQl9PVVRQVVQoX19PVVRQVVRfXykgICgoKF9fT1VUUFVUX18pID09IFJUQ19DQUxJQk9VVFBVVF81MTJIWikgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX09VVFBVVF9fKSA9PSBSVENfQ0FMSUJPVVRQVVRfMUhaKSkKKyNkZWZpbmUgSVNfUlRDX1RBTVBFUl9QSU4oUElOKSAoKFBJTikgPT0gUlRDX1RBTVBFUlBJTl9ERUZBVUxUKQorCisjZGVmaW5lIElTX1JUQ19USU1FU1RBTVBfUElOKFBJTikgKCgoUElOKSA9PSBSVENfVElNRVNUQU1QUElOX0RFRkFVTFQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChQSU4pID09IFJUQ19USU1FU1RBTVBQSU5fUE9TMSkgICAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFBJTikgPT0gUlRDX1RJTUVTVEFNUFBJTl9QT1MyKSkKKworI2RlZmluZSBJU19SVENfVEFNUEVSX0lOVEVSUlVQVChJTlRFUlJVUFQpICgoKChJTlRFUlJVUFQpICYgKCh1aW50MzJfdCl+UlRDX1RBTVBFUl9JVF9FTkFCTEVfQklUU19NQVNLICApKSA9PSAweDAwVSkgJiYgKChJTlRFUlJVUFQpICE9IDBVKSkKKworI2RlZmluZSBJU19SVENfVEFNUEVSX1RSSUdHRVIoVFJJR0dFUikgKCgoVFJJR0dFUikgPT0gUlRDX1RBTVBFUlRSSUdHRVJfUklTSU5HRURHRSkgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFRSSUdHRVIpID09IFJUQ19UQU1QRVJUUklHR0VSX0ZBTExJTkdFREdFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUUklHR0VSKSA9PSBSVENfVEFNUEVSVFJJR0dFUl9MT1dMRVZFTCkgICAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVFJJR0dFUikgPT0gUlRDX1RBTVBFUlRSSUdHRVJfSElHSExFVkVMKSkKKworI2RlZmluZSBJU19SVENfVEFNUEVSX0VSQVNFX01PREUoTU9ERSkgICAgICAgICAgKCgoTU9ERSkgPT0gUlRDX1RBTVBFUl9FUkFTRV9CQUNLVVBfRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNT0RFKSA9PSBSVENfVEFNUEVSX0VSQVNFX0JBQ0tVUF9ESVNBQkxFKSkKKworI2RlZmluZSBJU19SVENfVEFNUEVSX01BU0tGTEFHX1NUQVRFKFNUQVRFKSAgICAgKCgoU1RBVEUpID09IFJUQ19UQU1QRVJNQVNLX0ZMQUdfRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChTVEFURSkgPT0gUlRDX1RBTVBFUk1BU0tfRkxBR19ESVNBQkxFKSkKKworI2RlZmluZSBJU19SVENfVEFNUEVSX0ZJTFRFUihGSUxURVIpICAoKChGSUxURVIpID09IFJUQ19UQU1QRVJGSUxURVJfRElTQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGSUxURVIpID09IFJUQ19UQU1QRVJGSUxURVJfMlNBTVBMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGSUxURVIpID09IFJUQ19UQU1QRVJGSUxURVJfNFNBTVBMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGSUxURVIpID09IFJUQ19UQU1QRVJGSUxURVJfOFNBTVBMRSkpCisKKyNkZWZpbmUgSVNfUlRDX1RBTVBFUl9GSUxURVJfQ09ORklHX0NPUlJFQ1QoRklMVEVSLCBUUklHR0VSKSAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICggICggICgoRklMVEVSKSAhPSBSVENfVEFNUEVSRklMVEVSX0RJU0FCTEUpICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICYmICggICgoVFJJR0dFUikgPT0gUlRDX1RBTVBFUlRSSUdHRVJfTE9XTEVWRUwpICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8ICgoVFJJR0dFUikgPT0gUlRDX1RBTVBFUlRSSUdHRVJfSElHSExFVkVMKSkpIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIHx8ICggICgoRklMVEVSKSA9PSBSVENfVEFNUEVSRklMVEVSX0RJU0FCTEUpICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICYmICggICgoVFJJR0dFUikgPT0gUlRDX1RBTVBFUlRSSUdHRVJfUklTSU5HRURHRSkgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8ICgoVFJJR0dFUikgPT0gUlRDX1RBTVBFUlRSSUdHRVJfRkFMTElOR0VER0UpKSkpCisKKyNkZWZpbmUgSVNfUlRDX1RBTVBFUl9TQU1QTElOR19GUkVRKEZSRVEpICgoKEZSRVEpID09IFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjMyNzY4KXx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZSRVEpID09IFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjE2Mzg0KXx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZSRVEpID09IFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjgxOTIpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZSRVEpID09IFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjQwOTYpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZSRVEpID09IFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjIwNDgpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZSRVEpID09IFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjEwMjQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZSRVEpID09IFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjUxMikgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZSRVEpID09IFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjI1NikpCisKKyNkZWZpbmUgSVNfUlRDX1RBTVBFUl9QUkVDSEFSR0VfRFVSQVRJT04oRFVSQVRJT04pICgoKERVUkFUSU9OKSA9PSBSVENfVEFNUEVSUFJFQ0hBUkdFRFVSQVRJT05fMVJUQ0NMSykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRFVSQVRJT04pID09IFJUQ19UQU1QRVJQUkVDSEFSR0VEVVJBVElPTl8yUlRDQ0xLKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChEVVJBVElPTikgPT0gUlRDX1RBTVBFUlBSRUNIQVJHRURVUkFUSU9OXzRSVENDTEspIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKERVUkFUSU9OKSA9PSBSVENfVEFNUEVSUFJFQ0hBUkdFRFVSQVRJT05fOFJUQ0NMSykpCisKKyNkZWZpbmUgSVNfUlRDX1RBTVBFUl9QVUxMVVBfU1RBVEUoU1RBVEUpICgoKFNUQVRFKSA9PSBSVENfVEFNUEVSX1BVTExVUF9FTkFCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFNUQVRFKSA9PSBSVENfVEFNUEVSX1BVTExVUF9ESVNBQkxFKSkKKworI2RlZmluZSBJU19SVENfVEFNUEVSX1RJTUVTVEFNUE9OVEFNUEVSX0RFVEVDVElPTihERVRFQ1RJT04pICgoKERFVEVDVElPTikgPT0gUlRDX1RJTUVTVEFNUE9OVEFNUEVSREVURUNUSU9OX0VOQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKERFVEVDVElPTikgPT0gUlRDX1RJTUVTVEFNUE9OVEFNUEVSREVURUNUSU9OX0RJU0FCTEUpKQorCisjZGVmaW5lIElTX1JUQ19XQUtFVVBfQ0xPQ0soQ0xPQ0spICgoKENMT0NLKSA9PSBSVENfV0FLRVVQQ0xPQ0tfUlRDQ0xLX0RJVjE2KSAgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ0xPQ0spID09IFJUQ19XQUtFVVBDTE9DS19SVENDTEtfRElWOCkgICAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTE9DSykgPT0gUlRDX1dBS0VVUENMT0NLX1JUQ0NMS19ESVY0KSAgICB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENMT0NLKSA9PSBSVENfV0FLRVVQQ0xPQ0tfUlRDQ0xLX0RJVjIpICAgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ0xPQ0spID09IFJUQ19XQUtFVVBDTE9DS19DS19TUFJFXzE2QklUUykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTE9DSykgPT0gUlRDX1dBS0VVUENMT0NLX0NLX1NQUkVfMTdCSVRTKSkKKworI2RlZmluZSBJU19SVENfV0FLRVVQX0NPVU5URVIoQ09VTlRFUikgICgoQ09VTlRFUikgPD0gUlRDX1dVVFJfV1VUKQorCisjZGVmaW5lIElTX1JUQ19TTU9PVEhfQ0FMSUJfUEVSSU9EKFBFUklPRCkgKCgoUEVSSU9EKSA9PSBSVENfU01PT1RIQ0FMSUJfUEVSSU9EXzMyU0VDKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUEVSSU9EKSA9PSBSVENfU01PT1RIQ0FMSUJfUEVSSU9EXzE2U0VDKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUEVSSU9EKSA9PSBSVENfU01PT1RIQ0FMSUJfUEVSSU9EXzhTRUMpKQorCisjZGVmaW5lIElTX1JUQ19TTU9PVEhfQ0FMSUJfUExVUyhQTFVTKSAoKChQTFVTKSA9PSBSVENfU01PT1RIQ0FMSUJfUExVU1BVTFNFU19TRVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFBMVVMpID09IFJUQ19TTU9PVEhDQUxJQl9QTFVTUFVMU0VTX1JFU0VUKSkKKworI2RlZmluZSAgSVNfUlRDX1NNT09USF9DQUxJQl9NSU5VUyhWQUxVRSkgKChWQUxVRSkgPD0gUlRDX0NBTFJfQ0FMTSkKKworI2RlZmluZSBJU19SVENfU0hJRlRfQUREMVMoU0VMKSAoKChTRUwpID09IFJUQ19TSElGVEFERDFTX1JFU0VUKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFNFTCkgPT0gUlRDX1NISUZUQUREMVNfU0VUKSkKKworI2RlZmluZSBJU19SVENfU0hJRlRfU1VCRlMoRlMpICgoRlMpIDw9IFJUQ19TSElGVFJfU1VCRlMpCisKKyNkZWZpbmUgSVNfUlRDX0NBTElCX09VVFBVVChPVVRQVVQpICAoKChPVVRQVVQpID09IFJUQ19DQUxJQk9VVFBVVF81MTJIWikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE9VVFBVVCkgPT0gUlRDX0NBTElCT1VUUFVUXzFIWikpCiAvKioKICAgKiBAfQogICAqLwpAQCAtMTAwMSw3ICsxMTI2LDcgQEAKIAogLyoqCiAgICogQH0KLSAgKi8gCisgICovCiAKIC8qKgogICAqIEB9CkBAIC0xMDExLDUgKzExMzYsNCBAQAogfQogI2VuZGlmCiAKLSNlbmRpZiAvKiBfX1NUTTMyRjd4eF9IQUxfUlRDX0VYX0ggKi8KLQorI2VuZGlmIC8qIFNUTTMyRjd4eF9IQUxfUlRDX0VYX0ggKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY3eHhfaGFsX3NtYXJ0Y2FyZC5oIGIvSW5jL3N0bTMyZjd4eF9oYWxfc21hcnRjYXJkLmgKaW5kZXggNGZhYTgxMi4uNDViMTdiMSAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjd4eF9oYWxfc21hcnRjYXJkLmgKKysrIGIvSW5jL3N0bTMyZjd4eF9oYWxfc21hcnRjYXJkLmgKQEAgLTExMjEsOCArMTEyMSw4IEBACiAgICogQHsKICAgKi8KIAotSEFMX1NNQVJUQ0FSRF9TdGF0ZVR5cGVEZWYgSEFMX1NNQVJUQ0FSRF9HZXRTdGF0ZShTTUFSVENBUkRfSGFuZGxlVHlwZURlZiAqaHNtYXJ0Y2FyZCk7Ci11aW50MzJfdCAgICAgICAgICAgICAgICAgICBIQUxfU01BUlRDQVJEX0dldEVycm9yKFNNQVJUQ0FSRF9IYW5kbGVUeXBlRGVmICpoc21hcnRjYXJkKTsKK0hBTF9TTUFSVENBUkRfU3RhdGVUeXBlRGVmIEhBTF9TTUFSVENBUkRfR2V0U3RhdGUoY29uc3QgU01BUlRDQVJEX0hhbmRsZVR5cGVEZWYgKmhzbWFydGNhcmQpOwordWludDMyX3QgICAgICAgICAgICAgICAgICAgSEFMX1NNQVJUQ0FSRF9HZXRFcnJvcihjb25zdCBTTUFSVENBUkRfSGFuZGxlVHlwZURlZiAqaHNtYXJ0Y2FyZCk7CiAKIC8qKgogICAqIEB9CmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmN3h4X2hhbF9zcGRpZnJ4LmggYi9JbmMvc3RtMzJmN3h4X2hhbF9zcGRpZnJ4LmgKaW5kZXggNGQ3NTkzZC4uYjZhZTI4MyAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjd4eF9oYWxfc3BkaWZyeC5oCisrKyBiL0luYy9zdG0zMmY3eHhfaGFsX3NwZGlmcnguaApAQCAtMjEsNyArMjEsNyBAQAogI2RlZmluZSBTVE0zMkY3eHhfSEFMX1NQRElGUlhfSAogCiAjaWZkZWYgX19jcGx1c3BsdXMKLSBleHRlcm4gIkMiIHsKK2V4dGVybiAiQyIgewogI2VuZGlmCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCkBAIC0xMjMsNyArMTIzLDcgQEAKIHR5cGVkZWYgc3RydWN0IF9fU1BESUZSWF9IYW5kbGVUeXBlRGVmCiAjZWxzZQogdHlwZWRlZiBzdHJ1Y3QKLSNlbmRpZgorI2VuZGlmIC8qIFVTRV9IQUxfU1BESUZSWF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KIHsKICAgU1BESUZSWF9UeXBlRGVmICAgICAgICAgICAgKkluc3RhbmNlOyAgICAvKiBTUERJRlJYIHJlZ2lzdGVycyBiYXNlIGFkZHJlc3MgKi8KIApAQCAtMTY3LDggKzE2Nyw4IEBACiAgIHZvaWQgKCpDeEhhbGZDcGx0Q2FsbGJhY2spKHN0cnVjdCBfX1NQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmKTsgICAvKiE8IFNQRElGUlggQ29udHJvbCBmbG93IGhhbGYgY29tcGxldGVkIGNhbGxiYWNrICovCiAgIHZvaWQgKCpDeENwbHRDYWxsYmFjaykoc3RydWN0IF9fU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYpOyAgICAgICAvKiE8IFNQRElGUlggQ29udHJvbCBmbG93IGNvbXBsZXRlZCBjYWxsYmFjayAqLwogICB2b2lkICgqRXJyb3JDYWxsYmFjaykoc3RydWN0IF9fU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYpOyAgICAgICAgLyohPCBTUERJRlJYIGVycm9yIGNhbGxiYWNrICovCi0gIHZvaWQgKCogTXNwSW5pdENhbGxiYWNrKSggc3RydWN0IF9fU1BESUZSWF9IYW5kbGVUeXBlRGVmICogaHNwZGlmKTsgICAvKiE8IFNQRElGUlggTXNwIEluaXQgY2FsbGJhY2sgICovCi0gIHZvaWQgKCogTXNwRGVJbml0Q2FsbGJhY2spKCBzdHJ1Y3QgX19TUERJRlJYX0hhbmRsZVR5cGVEZWYgKiBoc3BkaWYpOyAvKiE8IFNQRElGUlggTXNwIERlSW5pdCBjYWxsYmFjayAgKi8KKyAgdm9pZCAoKiBNc3BJbml0Q2FsbGJhY2spKHN0cnVjdCBfX1NQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmKTsgICAgIC8qITwgU1BESUZSWCBNc3AgSW5pdCBjYWxsYmFjayAgKi8KKyAgdm9pZCAoKiBNc3BEZUluaXRDYWxsYmFjaykoc3RydWN0IF9fU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYpOyAgIC8qITwgU1BESUZSWCBNc3AgRGVJbml0IGNhbGxiYWNrICAqLwogI2VuZGlmIC8qIFVTRV9IQUxfU1BESUZSWF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KIAogfSBTUERJRlJYX0hhbmRsZVR5cGVEZWY7CkBAIC0xODksMTIgKzE4OSwxMiBAQAogICBIQUxfU1BESUZSWF9FUlJPUl9DQl9JRCAgICAgPSAweDA0VSwgICAgLyohPCBTUERJRlJYIGVycm9yIGNhbGxiYWNrICovCiAgIEhBTF9TUERJRlJYX01TUElOSVRfQ0JfSUQgICA9IDB4MDVVLCAgICAvKiE8IFNQRElGUlggTXNwIEluaXQgY2FsbGJhY2sgSUQgICAgICovCiAgIEhBTF9TUERJRlJYX01TUERFSU5JVF9DQl9JRCA9IDB4MDZVICAgICAvKiE8IFNQRElGUlggTXNwIERlSW5pdCBjYWxsYmFjayBJRCAgICovCi19SEFMX1NQRElGUlhfQ2FsbGJhY2tJRFR5cGVEZWY7Cit9IEhBTF9TUERJRlJYX0NhbGxiYWNrSURUeXBlRGVmOwogCiAvKioKICAgKiBAYnJpZWYgIEhBTCBTUERJRlJYIENhbGxiYWNrIHBvaW50ZXIgZGVmaW5pdGlvbgogICAqLwotdHlwZWRlZiAgdm9pZCAoKnBTUERJRlJYX0NhbGxiYWNrVHlwZURlZikoU1BESUZSWF9IYW5kbGVUeXBlRGVmICogaHNwZGlmKTsgLyohPCBwb2ludGVyIHRvIGFuIFNQRElGUlggY2FsbGJhY2sgZnVuY3Rpb24gKi8KK3R5cGVkZWYgIHZvaWQgKCpwU1BESUZSWF9DYWxsYmFja1R5cGVEZWYpKFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmKTsgIC8qITwgcG9pbnRlciB0byBhbiBTUERJRlJYIGNhbGxiYWNrIGZ1bmN0aW9uICovCiAjZW5kaWYgLyogVVNFX0hBTF9TUERJRlJYX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogCiAvKiBFeHBvcnRlZCBjb25zdGFudHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtMjY3LDggKzI2Nyw4IEBACiAgICovCiAKIC8qKiBAZGVmZ3JvdXAgU1BESUZSWF9WX01hc2sgU1BESUZSWCBWYWxpZGl0eSBNYXNrCi0qIEB7Ci0qLworICAqIEB7CisgICovCiAjZGVmaW5lIFNQRElGUlhfVkFMSURJVFlNQVNLX09GRiAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQogI2RlZmluZSBTUERJRlJYX1ZBTElESVRZTUFTS19PTiAgICAgKCh1aW50MzJfdClTUERJRlJYX0NSX1ZNU0spCiAvKioKQEAgLTM2OCwxMCArMzY4LDEwIEBACiAgICovCiAjaWYgKFVTRV9IQUxfU1BESUZSWF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKICNkZWZpbmUgX19IQUxfU1BESUZSWF9SRVNFVF9IQU5ETEVfU1RBVEUoX19IQU5ETEVfXykgZG97XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9fSEFORExFX18pLT5TdGF0ZSA9IEhBTF9TUERJRlJYX1NUQVRFX1JFU0VUO1wKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+TXNwSW5pdENhbGxiYWNrID0gTlVMTDtcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX19IQU5ETEVfXyktPk1zcERlSW5pdENhbGxiYWNrID0gTlVMTDtcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH13aGlsZSgwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9fSEFORExFX18pLT5TdGF0ZSA9IEhBTF9TUERJRlJYX1NUQVRFX1JFU0VUO1wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+TXNwSW5pdENhbGxiYWNrID0gTlVMTDtcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX19IQU5ETEVfXyktPk1zcERlSW5pdENhbGxiYWNrID0gTlVMTDtcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfXdoaWxlKDApCiAjZWxzZQogI2RlZmluZSBfX0hBTF9TUERJRlJYX1JFU0VUX0hBTkRMRV9TVEFURShfX0hBTkRMRV9fKSAoKF9fSEFORExFX18pLT5TdGF0ZSA9IEhBTF9TUERJRlJYX1NUQVRFX1JFU0VUKQogI2VuZGlmIC8qIFVTRV9IQUxfU1BESUZSWF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KQEAgLTQxMCw3ICs0MTAsOCBAQAogICAqIEByZXR2YWwgTm9uZQogICAqLwogI2RlZmluZSBfX0hBTF9TUERJRlJYX0VOQUJMRV9JVChfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SU1SIHw9IChfX0lOVEVSUlVQVF9fKSkKLSNkZWZpbmUgX19IQUxfU1BESUZSWF9ESVNBQkxFX0lUKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JTVIgJj0gKHVpbnQxNl90KSh+KF9fSU5URVJSVVBUX18pKSkKKyNkZWZpbmUgX19IQUxfU1BESUZSWF9ESVNBQkxFX0lUKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JTVJcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJj0gKHVpbnQxNl90KSh+KF9fSU5URVJSVVBUX18pKSkKIAogLyoqIEBicmllZiAgQ2hlY2tzIGlmIHRoZSBzcGVjaWZpZWQgU1BESUZSWCBpbnRlcnJ1cHQgc291cmNlIGlzIGVuYWJsZWQgb3IgZGlzYWJsZWQuCiAgICogQHBhcmFtICBfX0hBTkRMRV9fICAgIHNwZWNpZmllcyB0aGUgU1BESUZSWCBIYW5kbGUuCkBAIC00MjUsNyArNDI2LDggQEAKICAgKiAgICAgICAgICAgIEBhcmcgU1BESUZSWF9JVF9JRkVJRQogICAqIEByZXR2YWwgVGhlIG5ldyBzdGF0ZSBvZiBfX0lUX18gKFRSVUUgb3IgRkFMU0UpLgogICAqLwotI2RlZmluZSBfX0hBTF9TUERJRlJYX0dFVF9JVF9TT1VSQ0UoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SU1SICYgKF9fSU5URVJSVVBUX18pKSA9PSAoX19JTlRFUlJVUFRfXykpID8gU0VUIDogUkVTRVQpCisjZGVmaW5lIF9fSEFMX1NQRElGUlhfR0VUX0lUX1NPVVJDRShfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JTVJcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmIChfX0lOVEVSUlVQVF9fKSkgPT0gKF9fSU5URVJSVVBUX18pKSA/IFNFVCA6IFJFU0VUKQogCiAvKiogQGJyaWVmICBDaGVja3Mgd2hldGhlciB0aGUgc3BlY2lmaWVkIFNQRElGUlggZmxhZyBpcyBzZXQgb3Igbm90LgogICAqIEBwYXJhbSAgX19IQU5ETEVfXyAgc3BlY2lmaWVzIHRoZSBTUERJRlJYIEhhbmRsZS4KQEAgLTQ0Miw3ICs0NDQsOCBAQAogICAqICAgICAgICAgICAgQGFyZyBTUERJRlJYX0ZMQUdfVEVSUgogICAqIEByZXR2YWwgVGhlIG5ldyBzdGF0ZSBvZiBfX0ZMQUdfXyAoVFJVRSBvciBGQUxTRSkuCiAgICovCi0jZGVmaW5lIF9fSEFMX1NQRElGUlhfR0VUX0ZMQUcoX19IQU5ETEVfXywgX19GTEFHX18pICgoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5TUikgJiAoX19GTEFHX18pKSA9PSAoX19GTEFHX18pKSA/IFNFVCA6IFJFU0VUKQorI2RlZmluZSBfX0hBTF9TUERJRlJYX0dFVF9GTEFHKF9fSEFORExFX18sIF9fRkxBR19fKSAoKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+U1IpXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmIChfX0ZMQUdfXykpID09IChfX0ZMQUdfXykpID8gU0VUIDogUkVTRVQpCiAKIC8qKiBAYnJpZWYgIENsZWFycyB0aGUgc3BlY2lmaWVkIFNQRElGUlggU1IgZmxhZywgaW4gc2V0dGluZyB0aGUgcHJvcGVyIElGQ1IgcmVnaXN0ZXIgYml0LgogICAqIEBwYXJhbSAgX19IQU5ETEVfXyAgICBzcGVjaWZpZXMgdGhlIFVTQVJUIEhhbmRsZS4KQEAgLTQ3MSwxNSArNDc0LDE3IEBACiAgICovCiAvKiBJbml0aWFsaXphdGlvbi9kZS1pbml0aWFsaXphdGlvbiBmdW5jdGlvbnMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfU1BESUZSWF9Jbml0KFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmKTsKLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUERJRlJYX0RlSW5pdCAoU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NQRElGUlhfRGVJbml0KFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmKTsKIHZvaWQgSEFMX1NQRElGUlhfTXNwSW5pdChTUERJRlJYX0hhbmRsZVR5cGVEZWYgKmhzcGRpZik7CiB2b2lkIEhBTF9TUERJRlJYX01zcERlSW5pdChTUERJRlJYX0hhbmRsZVR5cGVEZWYgKmhzcGRpZik7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfU1BESUZSWF9TZXREYXRhRm9ybWF0KFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLCBTUERJRlJYX1NldERhdGFGb3JtYXRUeXBlRGVmICBzRGF0YUZvcm1hdCk7CiAKIC8qIENhbGxiYWNrcyBSZWdpc3Rlci9VblJlZ2lzdGVyIGZ1bmN0aW9ucyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWYgKFVTRV9IQUxfU1BESUZSWF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUERJRlJYX1JlZ2lzdGVyQ2FsbGJhY2soU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYsIEhBTF9TUERJRlJYX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQsIHBTUERJRlJYX0NhbGxiYWNrVHlwZURlZiBwQ2FsbGJhY2spOwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NQRElGUlhfVW5SZWdpc3RlckNhbGxiYWNrKFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLCBIQUxfU1BESUZSWF9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lEKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUERJRlJYX1JlZ2lzdGVyQ2FsbGJhY2soU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYsIEhBTF9TUERJRlJYX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBTUERJRlJYX0NhbGxiYWNrVHlwZURlZiBwQ2FsbGJhY2spOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NQRElGUlhfVW5SZWdpc3RlckNhbGxiYWNrKFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9TUERJRlJYX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQpOwogI2VuZGlmIC8qIFVTRV9IQUxfU1BESUZSWF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KIC8qKgogICAqIEB9CkBAIC00ODksOSArNDk0LDExIEBACiAgICogQHsKICAgKi8KIC8qIEkvTyBvcGVyYXRpb24gZnVuY3Rpb25zICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0gLyogQmxvY2tpbmcgbW9kZTogUG9sbGluZyAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NQRElGUlhfUmVjZWl2ZURhdGFGbG93KFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLCB1aW50MzJfdCAqcERhdGEsIHVpbnQxNl90IFNpemUsIHVpbnQzMl90IFRpbWVvdXQpOwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NQRElGUlhfUmVjZWl2ZUNvbnRyb2xGbG93KFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLCB1aW50MzJfdCAqcERhdGEsIHVpbnQxNl90IFNpemUsIHVpbnQzMl90IFRpbWVvdXQpOworLyogQmxvY2tpbmcgbW9kZTogUG9sbGluZyAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NQRElGUlhfUmVjZWl2ZURhdGFGbG93KFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLCB1aW50MzJfdCAqcERhdGEsIHVpbnQxNl90IFNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgVGltZW91dCk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfU1BESUZSWF9SZWNlaXZlQ29udHJvbEZsb3coU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYsIHVpbnQzMl90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaW1lb3V0KTsKIAogLyogTm9uLUJsb2NraW5nIG1vZGU6IEludGVycnVwdCAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NQRElGUlhfUmVjZWl2ZUNvbnRyb2xGbG93X0lUKFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLCB1aW50MzJfdCAqcERhdGEsIHVpbnQxNl90IFNpemUpOwpAQCAtNTE3LDggKzUyNCw4IEBACiAgICogQHsKICAgKi8KIC8qIFBlcmlwaGVyYWwgQ29udHJvbCBhbmQgU3RhdGUgZnVuY3Rpb25zICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1IQUxfU1BESUZSWF9TdGF0ZVR5cGVEZWYgSEFMX1NQRElGUlhfR2V0U3RhdGUoU1BESUZSWF9IYW5kbGVUeXBlRGVmIGNvbnN0ICogY29uc3QgaHNwZGlmKTsKLXVpbnQzMl90IEhBTF9TUERJRlJYX0dldEVycm9yKFNQRElGUlhfSGFuZGxlVHlwZURlZiBjb25zdCAqIGNvbnN0IGhzcGRpZik7CitIQUxfU1BESUZSWF9TdGF0ZVR5cGVEZWYgSEFMX1NQRElGUlhfR2V0U3RhdGUoU1BESUZSWF9IYW5kbGVUeXBlRGVmIGNvbnN0ICpjb25zdCBoc3BkaWYpOwordWludDMyX3QgSEFMX1NQRElGUlhfR2V0RXJyb3IoU1BESUZSWF9IYW5kbGVUeXBlRGVmIGNvbnN0ICpjb25zdCBoc3BkaWYpOwogLyoqCiAgICogQH0KICAgKi8KQEAgLTUzNCwzOSArNTQxLDM5IEBACiAgICogQHsKICAgKi8KICNkZWZpbmUgSVNfU1BESUZSWF9JTlBVVF9TRUxFQ1QoSU5QVVQpICAgICAgKCgoSU5QVVQpID09IFNQRElGUlhfSU5QVVRfSU4xKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5QVVQpID09IFNQRElGUlhfSU5QVVRfSU4yKSAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOUFVUKSA9PSBTUERJRlJYX0lOUFVUX0lOMykgIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlBVVCkgPT0gU1BESUZSWF9JTlBVVF9JTjApKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlBVVCkgPT0gU1BESUZSWF9JTlBVVF9JTjIpICB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOUFVUKSA9PSBTUERJRlJYX0lOUFVUX0lOMykgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5QVVQpID09IFNQRElGUlhfSU5QVVRfSU4wKSkKIAogI2RlZmluZSBJU19TUERJRlJYX01BWF9SRVRSSUVTKFJFVCkgICAgICAgICAoKChSRVQpID09IFNQRElGUlhfTUFYUkVUUklFU19OT05FKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUkVUKSA9PSBTUERJRlJYX01BWFJFVFJJRVNfMykgICAgIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChSRVQpID09IFNQRElGUlhfTUFYUkVUUklFU18xNSkgICAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFJFVCkgPT0gU1BESUZSWF9NQVhSRVRSSUVTXzYzKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUkVUKSA9PSBTUERJRlJYX01BWFJFVFJJRVNfMykgICAgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUkVUKSA9PSBTUERJRlJYX01BWFJFVFJJRVNfMTUpICAgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUkVUKSA9PSBTUERJRlJYX01BWFJFVFJJRVNfNjMpKQogCiAjZGVmaW5lIElTX1NQRElGUlhfV0FJVF9GT1JfQUNUSVZJVFkoVkFMKSAgICgoKFZBTCkgPT0gU1BESUZSWF9XQUlURk9SQUNUSVZJVFlfT04pIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChWQUwpID09IFNQRElGUlhfV0FJVEZPUkFDVElWSVRZX09GRikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFZBTCkgPT0gU1BESUZSWF9XQUlURk9SQUNUSVZJVFlfT0ZGKSkKIAogI2RlZmluZSBJU19QUkVBTUJMRV9UWVBFX01BU0soVkFMKSAgICAgICAgICAoKChWQUwpID09IFNQRElGUlhfUFJFQU1CTEVUWVBFTUFTS19PTikgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFZBTCkgPT0gU1BESUZSWF9QUkVBTUJMRVRZUEVNQVNLX09GRikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFZBTCkgPT0gU1BESUZSWF9QUkVBTUJMRVRZUEVNQVNLX09GRikpCiAKICNkZWZpbmUgSVNfVkFMSURJVFlfTUFTSyhWQUwpICAgICAgICAgICAgICAgKCgoVkFMKSA9PSBTUERJRlJYX1ZBTElESVRZTUFTS19PRkYpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChWQUwpID09IFNQRElGUlhfVkFMSURJVFlNQVNLX09OKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVkFMKSA9PSBTUERJRlJYX1ZBTElESVRZTUFTS19PTikpCiAKICNkZWZpbmUgSVNfUEFSSVRZX0VSUk9SX01BU0soVkFMKSAgICAgICAgICAgKCgoVkFMKSA9PSBTUERJRlJYX1BBUklUWUVSUk9STUFTS19PRkYpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChWQUwpID09IFNQRElGUlhfUEFSSVRZRVJST1JNQVNLX09OKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVkFMKSA9PSBTUERJRlJYX1BBUklUWUVSUk9STUFTS19PTikpCiAKICNkZWZpbmUgSVNfU1BESUZSWF9DSEFOTkVMKENIQU5ORUwpICAgICAgICAgKCgoQ0hBTk5FTCkgPT0gU1BESUZSWF9DSEFOTkVMX0EpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDSEFOTkVMKSA9PSBTUERJRlJYX0NIQU5ORUxfQikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENIQU5ORUwpID09IFNQRElGUlhfQ0hBTk5FTF9CKSkKIAogI2RlZmluZSBJU19TUERJRlJYX0RBVEFfRk9STUFUKEZPUk1BVCkgICAgICAoKChGT1JNQVQpID09IFNQRElGUlhfREFUQUZPUk1BVF9MU0IpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGT1JNQVQpID09IFNQRElGUlhfREFUQUZPUk1BVF9NU0IpICB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRk9STUFUKSA9PSBTUERJRlJYX0RBVEFGT1JNQVRfMzJCSVRTKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRk9STUFUKSA9PSBTUERJRlJYX0RBVEFGT1JNQVRfTVNCKSAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGT1JNQVQpID09IFNQRElGUlhfREFUQUZPUk1BVF8zMkJJVFMpKQogCiAjZGVmaW5lIElTX1NURVJFT19NT0RFKE1PREUpICAgICAgICAgICAgICAgICgoKE1PREUpID09IFNQRElGUlhfU1RFUkVPTU9ERV9ESVNBQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTU9ERSkgPT0gU1BESUZSWF9TVEVSRU9NT0RFX0VOQUJMRSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1PREUpID09IFNQRElGUlhfU1RFUkVPTU9ERV9FTkFCTEUpKQogCiAjZGVmaW5lIElTX0NIQU5ORUxfU1RBVFVTX01BU0soVkFMKSAgICAgICAgICgoKFZBTCkgPT0gU1BESUZSWF9DSEFOTkVMU1RBVFVTX09OKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVkFMKSA9PSBTUERJRlJYX0NIQU5ORUxTVEFUVVNfT0ZGKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVkFMKSA9PSBTUERJRlJYX0NIQU5ORUxTVEFUVVNfT0ZGKSkKIAogLyoqCiAgICogQH0KQEAgLTU5NCw0ICs2MDEsNCBAQAogI2VuZGlmCiAKIAotI2VuZGlmIC8qIF9fU1RNMzJGN3h4X0hBTF9TUERJRlJYX0ggKi8KKyNlbmRpZiAvKiBTVE0zMkY3eHhfSEFMX1NQRElGUlhfSCAqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjd4eF9oYWxfdGltLmggYi9JbmMvc3RtMzJmN3h4X2hhbF90aW0uaAppbmRleCA5NDBjMWQyLi42NGQ2ZWUxIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmN3h4X2hhbF90aW0uaAorKysgYi9JbmMvc3RtMzJmN3h4X2hhbF90aW0uaApAQCAtNzM3LDYgKzczNywxNSBAQAogICAqIEB9CiAgICovCiAKKy8qKiBAZGVmZ3JvdXAgVElNX0NDX0RNQV9SZXF1ZXN0IENDeCBETUEgcmVxdWVzdCBzZWxlY3Rpb24KKyAgKiBAeworICAqLworI2RlZmluZSBUSU1fQ0NETUFSRVFVRVNUX0NDICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENDeCBETUEgcmVxdWVzdCBzZW50IHdoZW4gY2FwdHVyZSBvciBjb21wYXJlIG1hdGNoIGV2ZW50IG9jY3VycyAqLworI2RlZmluZSBUSU1fQ0NETUFSRVFVRVNUX1VQREFURSAgICAgICAgICAgICBUSU1fQ1IyX0NDRFMgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENDeCBETUEgcmVxdWVzdHMgc2VudCB3aGVuIHVwZGF0ZSBldmVudCBvY2N1cnMgKi8KKy8qKgorICAqIEB9CisgICovCisKIC8qKiBAZGVmZ3JvdXAgVElNX0ZsYWdfZGVmaW5pdGlvbiBUSU0gRmxhZyBEZWZpbml0aW9uCiAgICogQHsKICAgKi8KQEAgLTc3NywxNiArNzg2LDE2IEBACiAvKiogQGRlZmdyb3VwIFRJTV9DbG9ja19Tb3VyY2UgVElNIENsb2NrIFNvdXJjZQogICAqIEB7CiAgICovCi0jZGVmaW5lIFRJTV9DTE9DS1NPVVJDRV9FVFJNT0RFMiAgICBUSU1fU01DUl9FVFBTXzEgICAgICAvKiE8IEV4dGVybmFsIGNsb2NrIHNvdXJjZSBtb2RlIDIgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAjZGVmaW5lIFRJTV9DTE9DS1NPVVJDRV9JTlRFUk5BTCAgICBUSU1fU01DUl9FVFBTXzAgICAgICAvKiE8IEludGVybmFsIGNsb2NrIHNvdXJjZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIFRJTV9DTE9DS1NPVVJDRV9FVFJNT0RFMSAgICBUSU1fVFNfRVRSRiAgICAgICAgICAvKiE8IEV4dGVybmFsIGNsb2NrIHNvdXJjZSBtb2RlIDEgKEVUUkYpICAgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIFRJTV9DTE9DS1NPVVJDRV9FVFJNT0RFMiAgICBUSU1fU01DUl9FVFBTXzEgICAgICAvKiE8IEV4dGVybmFsIGNsb2NrIHNvdXJjZSBtb2RlIDIgICAgICAgICAgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIFRJTV9DTE9DS1NPVVJDRV9USTFFRCAgICAgICBUSU1fVFNfVEkxRl9FRCAgICAgICAvKiE8IEV4dGVybmFsIGNsb2NrIHNvdXJjZSBtb2RlIDEgKFRUSTFGUDEgKyBlZGdlIGRldGVjdC4pICovCisjZGVmaW5lIFRJTV9DTE9DS1NPVVJDRV9USTEgICAgICAgICBUSU1fVFNfVEkxRlAxICAgICAgICAvKiE8IEV4dGVybmFsIGNsb2NrIHNvdXJjZSBtb2RlIDEgKFRUSTFGUDEpICAgICAgICAgICAgICAgICovCisjZGVmaW5lIFRJTV9DTE9DS1NPVVJDRV9USTIgICAgICAgICBUSU1fVFNfVEkyRlAyICAgICAgICAvKiE8IEV4dGVybmFsIGNsb2NrIHNvdXJjZSBtb2RlIDEgKFRUSTJGUDIpICAgICAgICAgICAgICAgICovCiAjZGVmaW5lIFRJTV9DTE9DS1NPVVJDRV9JVFIwICAgICAgICBUSU1fVFNfSVRSMCAgICAgICAgICAvKiE8IEV4dGVybmFsIGNsb2NrIHNvdXJjZSBtb2RlIDEgKElUUjApICAgICAgICAgICAgICAgICAgICovCiAjZGVmaW5lIFRJTV9DTE9DS1NPVVJDRV9JVFIxICAgICAgICBUSU1fVFNfSVRSMSAgICAgICAgICAvKiE8IEV4dGVybmFsIGNsb2NrIHNvdXJjZSBtb2RlIDEgKElUUjEpICAgICAgICAgICAgICAgICAgICovCiAjZGVmaW5lIFRJTV9DTE9DS1NPVVJDRV9JVFIyICAgICAgICBUSU1fVFNfSVRSMiAgICAgICAgICAvKiE8IEV4dGVybmFsIGNsb2NrIHNvdXJjZSBtb2RlIDEgKElUUjIpICAgICAgICAgICAgICAgICAgICovCiAjZGVmaW5lIFRJTV9DTE9DS1NPVVJDRV9JVFIzICAgICAgICBUSU1fVFNfSVRSMyAgICAgICAgICAvKiE8IEV4dGVybmFsIGNsb2NrIHNvdXJjZSBtb2RlIDEgKElUUjMpICAgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIFRJTV9DTE9DS1NPVVJDRV9USTFFRCAgICAgICBUSU1fVFNfVEkxRl9FRCAgICAgICAvKiE8IEV4dGVybmFsIGNsb2NrIHNvdXJjZSBtb2RlIDEgKFRUSTFGUDEgKyBlZGdlIGRldGVjdC4pICovCi0jZGVmaW5lIFRJTV9DTE9DS1NPVVJDRV9USTEgICAgICAgICBUSU1fVFNfVEkxRlAxICAgICAgICAvKiE8IEV4dGVybmFsIGNsb2NrIHNvdXJjZSBtb2RlIDEgKFRUSTFGUDEpICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIFRJTV9DTE9DS1NPVVJDRV9USTIgICAgICAgICBUSU1fVFNfVEkyRlAyICAgICAgICAvKiE8IEV4dGVybmFsIGNsb2NrIHNvdXJjZSBtb2RlIDEgKFRUSTJGUDIpICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIFRJTV9DTE9DS1NPVVJDRV9FVFJNT0RFMSAgICBUSU1fVFNfRVRSRiAgICAgICAgICAvKiE8IEV4dGVybmFsIGNsb2NrIHNvdXJjZSBtb2RlIDEgKEVUUkYpICAgICAgICAgICAgICAgICAgICovCiAvKioKICAgKiBAfQogICAqLwpAQCAtMTY5OSw2ICsxNzA4LDE3IEBACiAgICAgVElNX1NFVF9DQVBUVVJFUE9MQVJJVFkoKF9fSEFORExFX18pLCAoX19DSEFOTkVMX18pLCAoX19QT0xBUklUWV9fKSk7IFwKICAgfXdoaWxlKDApCiAKKy8qKiBAYnJpZWYgIFNlbGVjdCB0aGUgQ2FwdHVyZS9jb21wYXJlIERNQSByZXF1ZXN0IHNvdXJjZS4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBUSU0gSGFuZGxlLgorICAqIEBwYXJhbSAgX19DQ0RNQV9fIHNwZWNpZmllcyBDYXB0dXJlL2NvbXBhcmUgRE1BIHJlcXVlc3Qgc291cmNlCisgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKKyAgKiAgICAgICAgICAgIEBhcmcgVElNX0NDRE1BUkVRVUVTVF9DQzogQ0N4IERNQSByZXF1ZXN0IGdlbmVyYXRlZCBvbiBDYXB0dXJlL0NvbXBhcmUgZXZlbnQKKyAgKiAgICAgICAgICAgIEBhcmcgVElNX0NDRE1BUkVRVUVTVF9VUERBVEU6IENDeCBETUEgcmVxdWVzdCBnZW5lcmF0ZWQgb24gVXBkYXRlIGV2ZW50CisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX1RJTV9TRUxFQ1RfQ0NETUFSRVFVRVNUKF9fSEFORExFX18sIF9fQ0NETUFfXykgICAgXAorICBNT0RJRllfUkVHKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSMiwgVElNX0NSMl9DQ0RTLCAoX19DQ0RNQV9fKSkKKwogLyoqCiAgICogQH0KICAgKi8KQEAgLTE3ODMsNyArMTgwMyw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19NT0RFX18pID09IFRJTV9DT1VOVEVSTU9ERV9DRU5URVJBTElHTkVEMykpCiAKICNkZWZpbmUgSVNfVElNX1VJRlJFTUFQX01PREUoX19NT0RFX18pICAgICAoKChfX01PREVfXykgPT0gVElNX1VJRlJFTUFQX0RJU0FCTEUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX01PREVfXykgPT0gVElNX1VJRlJFTUFQX0VOQUxFKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX01PREVfXykgPT0gVElNX1VJRlJFTUFQX0VOQUJMRSkpCiAKICNkZWZpbmUgSVNfVElNX0NMT0NLRElWSVNJT05fRElWKF9fRElWX18pICAoKChfX0RJVl9fKSA9PSBUSU1fQ0xPQ0tESVZJU0lPTl9ESVYxKSB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19ESVZfXykgPT0gVElNX0NMT0NLRElWSVNJT05fRElWMikgfHwgXApAQCAtMTg0MywyMCArMTg2MywyMyBAQAogI2RlZmluZSBJU19USU1fT1BNX0NIQU5ORUxTKF9fQ0hBTk5FTF9fKSAgICgoKF9fQ0hBTk5FTF9fKSA9PSBUSU1fQ0hBTk5FTF8xKSB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19DSEFOTkVMX18pID09IFRJTV9DSEFOTkVMXzIpKQogCisjZGVmaW5lIElTX1RJTV9QRVJJT0QoX19IQU5ETEVfXywgX19QRVJJT0RfXykgXAorICAoKElTX1RJTV8zMkJfQ09VTlRFUl9JTlNUQU5DRSgoKF9fSEFORExFX18pLT5JbnN0YW5jZSkpID09IDBVKSA/ICgoKF9fUEVSSU9EX18pID4gMFUpICYmICgoX19QRVJJT0RfXykgPD0gMHgwMDAwRkZGRlUpKSA6ICgoX19QRVJJT0RfXykgPiAwVSkpCisKICNkZWZpbmUgSVNfVElNX0NPTVBMRU1FTlRBUllfQ0hBTk5FTFMoX19DSEFOTkVMX18pICgoKF9fQ0hBTk5FTF9fKSA9PSBUSU1fQ0hBTk5FTF8xKSB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0NIQU5ORUxfXykgPT0gVElNX0NIQU5ORUxfMikgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19DSEFOTkVMX18pID09IFRJTV9DSEFOTkVMXzMpKQogCiAjZGVmaW5lIElTX1RJTV9DTE9DS1NPVVJDRShfX0NMT0NLX18pICgoKF9fQ0xPQ0tfXykgPT0gVElNX0NMT0NLU09VUkNFX0lOVEVSTkFMKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ0xPQ0tfXykgPT0gVElNX0NMT0NLU09VUkNFX0VUUk1PREUxKSB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ0xPQ0tfXykgPT0gVElNX0NMT0NLU09VUkNFX0VUUk1PREUyKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ0xPQ0tfXykgPT0gVElNX0NMT0NLU09VUkNFX0lUUjApICAgICB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ0xPQ0tfXykgPT0gVElNX0NMT0NLU09VUkNFX0lUUjEpICAgICB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ0xPQ0tfXykgPT0gVElNX0NMT0NLU09VUkNFX0lUUjIpICAgICB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ0xPQ0tfXykgPT0gVElNX0NMT0NLU09VUkNFX0lUUjMpICAgICB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ0xPQ0tfXykgPT0gVElNX0NMT0NLU09VUkNFX1RJMUVEKSAgICB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ0xPQ0tfXykgPT0gVElNX0NMT0NLU09VUkNFX1RJMSkgICAgICB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ0xPQ0tfXykgPT0gVElNX0NMT0NLU09VUkNFX1RJMikgICAgICB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ0xPQ0tfXykgPT0gVElNX0NMT0NLU09VUkNFX0VUUk1PREUxKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19DTE9DS19fKSA9PSBUSU1fQ0xPQ0tTT1VSQ0VfSVRSMCkgICAgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19DTE9DS19fKSA9PSBUSU1fQ0xPQ0tTT1VSQ0VfSVRSMSkgICAgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19DTE9DS19fKSA9PSBUSU1fQ0xPQ0tTT1VSQ0VfSVRSMikgICAgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19DTE9DS19fKSA9PSBUSU1fQ0xPQ0tTT1VSQ0VfSVRSMykpCiAKICNkZWZpbmUgSVNfVElNX0NMT0NLUE9MQVJJVFkoX19QT0xBUklUWV9fKSAoKChfX1BPTEFSSVRZX18pID09IFRJTV9DTE9DS1BPTEFSSVRZX0lOVkVSVEVEKSAgICB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19QT0xBUklUWV9fKSA9PSBUSU1fQ0xPQ0tQT0xBUklUWV9OT05JTlZFUlRFRCkgfHwgXApAQCAtMTk2NSwxMyArMTk4OCwxMyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fTU9ERV9fKSA9PSBUSU1fT0NNT0RFX1JFVFJJR0VSUkFCTEVfT1BNMSkgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fTU9ERV9fKSA9PSBUSU1fT0NNT0RFX1JFVFJJR0VSUkFCTEVfT1BNMikpCiAKLSNkZWZpbmUgSVNfVElNX1RSSUdHRVJfU0VMRUNUSU9OKF9fU0VMRUNUSU9OX18pICgoKF9fU0VMRUNUSU9OX18pID09IFRJTV9UU19JVFIwKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1NFTEVDVElPTl9fKSA9PSBUSU1fVFNfSVRSMSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19TRUxFQ1RJT05fXykgPT0gVElNX1RTX0lUUjIpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0VMRUNUSU9OX18pID09IFRJTV9UU19JVFIzKSB8fCBcCisjZGVmaW5lIElTX1RJTV9UUklHR0VSX1NFTEVDVElPTihfX1NFTEVDVElPTl9fKSAoKChfX1NFTEVDVElPTl9fKSA9PSBUSU1fVFNfSVRSMCkgICAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19TRUxFQ1RJT05fXykgPT0gVElNX1RTX0lUUjEpICAgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0VMRUNUSU9OX18pID09IFRJTV9UU19JVFIyKSAgICB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1NFTEVDVElPTl9fKSA9PSBUSU1fVFNfSVRSMykgICAgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19TRUxFQ1RJT05fXykgPT0gVElNX1RTX1RJMUZfRUQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0VMRUNUSU9OX18pID09IFRJTV9UU19USTFGUDEpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0VMRUNUSU9OX18pID09IFRJTV9UU19USTJGUDIpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0VMRUNUSU9OX18pID09IFRJTV9UU19USTFGUDEpICB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1NFTEVDVElPTl9fKSA9PSBUSU1fVFNfVEkyRlAyKSAgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19TRUxFQ1RJT05fXykgPT0gVElNX1RTX0VUUkYpKQogCiAjZGVmaW5lIElTX1RJTV9JTlRFUk5BTF9UUklHR0VSRVZFTlRfU0VMRUNUSU9OKF9fU0VMRUNUSU9OX18pICgoKF9fU0VMRUNUSU9OX18pID09IFRJTV9UU19JVFIwKSB8fCBcCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmN3h4X2hhbF91YXJ0LmggYi9JbmMvc3RtMzJmN3h4X2hhbF91YXJ0LmgKaW5kZXggNjUwZWRkNC4uZjMyY2ExOSAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjd4eF9oYWxfdWFydC5oCisrKyBiL0luYy9zdG0zMmY3eHhfaGFsX3VhcnQuaApAQCAtMTg2LDcgKzE4Niw3IEBACiAvKioKICAgKiBAYnJpZWYgSEFMIFVBUlQgUmVjZXB0aW9uIHR5cGUgZGVmaW5pdGlvbgogICAqIEBub3RlICBIQUwgVUFSVCBSZWNlcHRpb24gdHlwZSB2YWx1ZSBhaW1zIHRvIGlkZW50aWZ5IHdoaWNoIHR5cGUgb2YgUmVjZXB0aW9uIGlzIG9uZ29pbmcuCi0gICogICAgICAgIEl0IGlzIGV4cGVjdGVkIHRvIGFkbWl0IGZvbGxvd2luZyB2YWx1ZXMgOgorICAqICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIFVBUlRfUmVjZXB0aW9uX1R5cGVfVmFsdWVzIDoKICAgKiAgICAgICAgICAgSEFMX1VBUlRfUkVDRVBUSU9OX1NUQU5EQVJEICAgICAgICAgPSAweDAwVSwKICAgKiAgICAgICAgICAgSEFMX1VBUlRfUkVDRVBUSU9OX1RPSURMRSAgICAgICAgICAgPSAweDAxVSwKICAgKiAgICAgICAgICAgSEFMX1VBUlRfUkVDRVBUSU9OX1RPUlRPICAgICAgICAgICAgPSAweDAyVSwKQEAgLTE5NSw2ICsxOTUsMTcgQEAKIHR5cGVkZWYgdWludDMyX3QgSEFMX1VBUlRfUnhUeXBlVHlwZURlZjsKIAogLyoqCisgICogQGJyaWVmIEhBTCBVQVJUIFJ4IEV2ZW50IHR5cGUgZGVmaW5pdGlvbgorICAqIEBub3RlICBIQUwgVUFSVCBSeCBFdmVudCB0eXBlIHZhbHVlIGFpbXMgdG8gaWRlbnRpZnkgd2hpY2ggdHlwZSBvZiBFdmVudCBoYXMgb2NjdXJyZWQKKyAgKiAgICAgICAgbGVhZGluZyB0byBjYWxsIG9mIHRoZSBSeEV2ZW50IGNhbGxiYWNrLgorICAqICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIFVBUlRfUnhFdmVudF9UeXBlX1ZhbHVlcyA6CisgICogICAgICAgICAgIEhBTF9VQVJUX1JYRVZFTlRfVEMgICAgICAgICAgICAgICAgID0gMHgwMFUsCisgICogICAgICAgICAgIEhBTF9VQVJUX1JYRVZFTlRfSFQgICAgICAgICAgICAgICAgID0gMHgwMVUsCisgICogICAgICAgICAgIEhBTF9VQVJUX1JYRVZFTlRfSURMRSAgICAgICAgICAgICAgID0gMHgwMlUsCisgICovCit0eXBlZGVmIHVpbnQzMl90IEhBTF9VQVJUX1J4RXZlbnRUeXBlVHlwZURlZjsKKworLyoqCiAgICogQGJyaWVmICBVQVJUIGhhbmRsZSBTdHJ1Y3R1cmUgZGVmaW5pdGlvbgogICAqLwogdHlwZWRlZiBzdHJ1Y3QgX19VQVJUX0hhbmRsZVR5cGVEZWYKQEAgLTIyMSw2ICsyMzIsOCBAQAogCiAgIF9fSU8gSEFMX1VBUlRfUnhUeXBlVHlwZURlZiBSZWNlcHRpb25UeXBlOyAgICAgICAgIC8qITwgVHlwZSBvZiBvbmdvaW5nIHJlY2VwdGlvbiAgICAgICAgICAqLwogCisgIF9fSU8gSEFMX1VBUlRfUnhFdmVudFR5cGVUeXBlRGVmIFJ4RXZlbnRUeXBlOyAgICAgIC8qITwgVHlwZSBvZiBSeCBFdmVudCAgICAgICAgICAgICAgICAgICAqLworCiAgIHZvaWQgKCpSeElTUikoc3RydWN0IF9fVUFSVF9IYW5kbGVUeXBlRGVmICpodWFydCk7IC8qITwgRnVuY3Rpb24gcG9pbnRlciBvbiBSeCBJUlEgaGFuZGxlciAqLwogCiAgIHZvaWQgKCpUeElTUikoc3RydWN0IF9fVUFSVF9IYW5kbGVUeXBlRGVmICpodWFydCk7IC8qITwgRnVuY3Rpb24gcG9pbnRlciBvbiBUeCBJUlEgaGFuZGxlciAqLwpAQCAtNzgyLDcgKzc5NSw3IEBACiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBVQVJUX1JFQ0VQVElPTl9UWVBFX1ZhbHVlcyAgVUFSVCBSZWNlcHRpb24gdHlwZSB2YWx1ZXMKKy8qKiBAZGVmZ3JvdXAgVUFSVF9SZWNlcHRpb25fVHlwZV9WYWx1ZXMgIFVBUlQgUmVjZXB0aW9uIHR5cGUgdmFsdWVzCiAgICogQHsKICAgKi8KICNkZWZpbmUgSEFMX1VBUlRfUkVDRVBUSU9OX1NUQU5EQVJEICAgICAgICAgICgweDAwMDAwMDAwVSkgICAgICAgICAgICAgLyohPCBTdGFuZGFyZCByZWNlcHRpb24gICAgICAgICAgICAgICAgICAgICAgICovCkBAIC03OTMsNiArODA2LDE2IEBACiAgICogQH0KICAgKi8KIAorLyoqIEBkZWZncm91cCBVQVJUX1J4RXZlbnRfVHlwZV9WYWx1ZXMgIFVBUlQgUnhFdmVudCB0eXBlIHZhbHVlcworICAqIEB7CisgICovCisjZGVmaW5lIEhBTF9VQVJUX1JYRVZFTlRfVEMgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpICAgICAgICAgICAgIC8qITwgUnhFdmVudCBsaW5rZWQgdG8gVHJhbnNmZXIgQ29tcGxldGUgZXZlbnQgKi8KKyNkZWZpbmUgSEFMX1VBUlRfUlhFVkVOVF9IVCAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxVSkgICAgICAgICAgICAgLyohPCBSeEV2ZW50IGxpbmtlZCB0byBIYWxmIFRyYW5zZmVyIGV2ZW50ICAgICAqLworI2RlZmluZSBIQUxfVUFSVF9SWEVWRU5UX0lETEUgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDJVKSAgICAgICAgICAgICAvKiE8IFJ4RXZlbnQgbGlua2VkIHRvIElETEUgZXZlbnQgICAgICAgICAgICAgICovCisvKioKKyAgKiBAfQorICAqLworCiAvKioKICAgKiBAfQogICAqLwpAQCAtMTU4NSw4ICsxNjA4LDggQEAKICAgKi8KIAogLyogUGVyaXBoZXJhbCBTdGF0ZSBhbmQgRXJyb3JzIGZ1bmN0aW9ucyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1IQUxfVUFSVF9TdGF0ZVR5cGVEZWYgSEFMX1VBUlRfR2V0U3RhdGUoVUFSVF9IYW5kbGVUeXBlRGVmICpodWFydCk7Ci11aW50MzJfdCAgICAgICAgICAgICAgSEFMX1VBUlRfR2V0RXJyb3IoVUFSVF9IYW5kbGVUeXBlRGVmICpodWFydCk7CitIQUxfVUFSVF9TdGF0ZVR5cGVEZWYgSEFMX1VBUlRfR2V0U3RhdGUoY29uc3QgVUFSVF9IYW5kbGVUeXBlRGVmICpodWFydCk7Cit1aW50MzJfdCAgICAgICAgICAgICAgSEFMX1VBUlRfR2V0RXJyb3IoY29uc3QgVUFSVF9IYW5kbGVUeXBlRGVmICpodWFydCk7CiAKIC8qKgogICAqIEB9CmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmN3h4X2hhbF91YXJ0X2V4LmggYi9JbmMvc3RtMzJmN3h4X2hhbF91YXJ0X2V4LmgKaW5kZXggZTgzMWU2Yi4uYTJhZDg3NiAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjd4eF9oYWxfdWFydF9leC5oCisrKyBiL0luYy9zdG0zMmY3eHhfaGFsX3VhcnRfZXguaApAQCAtMTMwLDcgKzEzMCw3IEBACiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfVUFSVEV4X0VuYWJsZVN0b3BNb2RlKFVBUlRfSGFuZGxlVHlwZURlZiAqaHVhcnQpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1VBUlRFeF9EaXNhYmxlU3RvcE1vZGUoVUFSVF9IYW5kbGVUeXBlRGVmICpodWFydCk7CiAKLSNlbmRpZi8qIFVTQVJUX0NSMV9VRVNNICovCisjZW5kaWYgLyogVVNBUlRfQ1IxX1VFU00gKi8KICNpZiBkZWZpbmVkKFVTQVJUX0NSM19VQ0VTTSkKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9VQVJURXhfRW5hYmxlQ2xvY2tTdG9wTW9kZShVQVJUX0hhbmRsZVR5cGVEZWYgKmh1YXJ0KTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9VQVJURXhfRGlzYWJsZUNsb2NrU3RvcE1vZGUoVUFSVF9IYW5kbGVUeXBlRGVmICpodWFydCk7CkBAIC0xNDQsNiArMTQ0LDggQEAKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9VQVJURXhfUmVjZWl2ZVRvSWRsZV9JVChVQVJUX0hhbmRsZVR5cGVEZWYgKmh1YXJ0LCB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfVUFSVEV4X1JlY2VpdmVUb0lkbGVfRE1BKFVBUlRfSGFuZGxlVHlwZURlZiAqaHVhcnQsIHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplKTsKIAorSEFMX1VBUlRfUnhFdmVudFR5cGVUeXBlRGVmIEhBTF9VQVJURXhfR2V0UnhFdmVudFR5cGUoVUFSVF9IYW5kbGVUeXBlRGVmICpodWFydCk7CisKIAogLyoqCiAgICogQH0KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY3eHhfaGFsX3VzYXJ0LmggYi9JbmMvc3RtMzJmN3h4X2hhbF91c2FydC5oCmluZGV4IDdhZjVjNTIuLmUwZTg0NDcgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY3eHhfaGFsX3VzYXJ0LmgKKysrIGIvSW5jL3N0bTMyZjd4eF9oYWxfdXNhcnQuaApAQCAtODA2LDcgKzgwNiw4IEBACiAgICovCiAKIC8qIElPIG9wZXJhdGlvbiBmdW5jdGlvbnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfVVNBUlRfVHJhbnNtaXQoVVNBUlRfSGFuZGxlVHlwZURlZiAqaHVzYXJ0LCBjb25zdCB1aW50OF90ICpwVHhEYXRhLCB1aW50MTZfdCBTaXplLCB1aW50MzJfdCBUaW1lb3V0KTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9VU0FSVF9UcmFuc21pdChVU0FSVF9IYW5kbGVUeXBlRGVmICpodXNhcnQsIGNvbnN0IHVpbnQ4X3QgKnBUeERhdGEsIHVpbnQxNl90IFNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgVGltZW91dCk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfVVNBUlRfUmVjZWl2ZShVU0FSVF9IYW5kbGVUeXBlRGVmICpodXNhcnQsIHVpbnQ4X3QgKnBSeERhdGEsIHVpbnQxNl90IFNpemUsIHVpbnQzMl90IFRpbWVvdXQpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1VTQVJUX1RyYW5zbWl0UmVjZWl2ZShVU0FSVF9IYW5kbGVUeXBlRGVmICpodXNhcnQsIGNvbnN0IHVpbnQ4X3QgKnBUeERhdGEsIHVpbnQ4X3QgKnBSeERhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IFNpemUsIHVpbnQzMl90IFRpbWVvdXQpOwpAQCAtODQzLDggKzg0NCw4IEBACiAgICovCiAKIC8qIFBlcmlwaGVyYWwgU3RhdGUgYW5kIEVycm9yIGZ1bmN0aW9ucyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1IQUxfVVNBUlRfU3RhdGVUeXBlRGVmIEhBTF9VU0FSVF9HZXRTdGF0ZShVU0FSVF9IYW5kbGVUeXBlRGVmICpodXNhcnQpOwotdWludDMyX3QgICAgICAgICAgICAgICBIQUxfVVNBUlRfR2V0RXJyb3IoVVNBUlRfSGFuZGxlVHlwZURlZiAqaHVzYXJ0KTsKK0hBTF9VU0FSVF9TdGF0ZVR5cGVEZWYgSEFMX1VTQVJUX0dldFN0YXRlKGNvbnN0IFVTQVJUX0hhbmRsZVR5cGVEZWYgKmh1c2FydCk7Cit1aW50MzJfdCAgICAgICAgICAgICAgIEhBTF9VU0FSVF9HZXRFcnJvcihjb25zdCBVU0FSVF9IYW5kbGVUeXBlRGVmICpodXNhcnQpOwogCiAvKioKICAgKiBAfQpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjd4eF9sbF9jb3J0ZXguaCBiL0luYy9zdG0zMmY3eHhfbGxfY29ydGV4LmgKaW5kZXggOGUyMTg0Zi4uYmI1ODlhYiAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjd4eF9sbF9jb3J0ZXguaAorKysgYi9JbmMvc3RtMzJmN3h4X2xsX2NvcnRleC5oCkBAIC0xNjQsNiArMTY0LDggQEAKICNkZWZpbmUgTExfTVBVX1RFWF9MRVZFTDAgICAgICAgICAgICAgICAgICAoMHgwMFUgPDwgTVBVX1JBU1JfVEVYX1BvcykgLyohPCBiMDAwIGZvciBURVggYml0cyAqLwogI2RlZmluZSBMTF9NUFVfVEVYX0xFVkVMMSAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBNUFVfUkFTUl9URVhfUG9zKSAvKiE8IGIwMDEgZm9yIFRFWCBiaXRzICovCiAjZGVmaW5lIExMX01QVV9URVhfTEVWRUwyICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IE1QVV9SQVNSX1RFWF9Qb3MpIC8qITwgYjAxMCBmb3IgVEVYIGJpdHMgKi8KKworLyogTGVnYWN5IERlZmluZSAqLwogI2RlZmluZSBMTF9NUFVfVEVYX0xFVkVMNCAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBNUFVfUkFTUl9URVhfUG9zKSAvKiE8IGIxMDAgZm9yIFRFWCBiaXRzICovCiAvKioKICAgKiBAfQpAQCAtNTcyLDcgKzU3NCw3IEBACiAgICogICAgICAgICAgIG9yIEByZWYgTExfTVBVX1JFR0lPTl9TSVpFXzFHQiBvciBAcmVmIExMX01QVV9SRUdJT05fU0laRV8yR0Igb3IgQHJlZiBMTF9NUFVfUkVHSU9OX1NJWkVfNEdCCiAgICogICAgICAgICBAYXJnIEByZWYgTExfTVBVX1JFR0lPTl9OT19BQ0NFU1Mgb3IgQHJlZiBMTF9NUFVfUkVHSU9OX1BSSVZfUlcgb3IgQHJlZiBMTF9NUFVfUkVHSU9OX1BSSVZfUldfVVJPIG9yIEByZWYgTExfTVBVX1JFR0lPTl9GVUxMX0FDQ0VTUwogICAqICAgICAgICAgICBvciBAcmVmIExMX01QVV9SRUdJT05fUFJJVl9STyBvciBAcmVmIExMX01QVV9SRUdJT05fUFJJVl9ST19VUk8KLSAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9NUFVfVEVYX0xFVkVMMCBvciBAcmVmIExMX01QVV9URVhfTEVWRUwxIG9yIEByZWYgTExfTVBVX1RFWF9MRVZFTDIgb3IgQHJlZiBMTF9NUFVfVEVYX0xFVkVMNAorICAqICAgICAgICAgQGFyZyBAcmVmIExMX01QVV9URVhfTEVWRUwwIG9yIEByZWYgTExfTVBVX1RFWF9MRVZFTDEgb3IgQHJlZiBMTF9NUFVfVEVYX0xFVkVMMgogICAqICAgICAgICAgQGFyZyBAcmVmIExMX01QVV9JTlNUUlVDVElPTl9BQ0NFU1NfRU5BQkxFIG9yICBAcmVmIExMX01QVV9JTlNUUlVDVElPTl9BQ0NFU1NfRElTQUJMRQogICAqICAgICAgICAgQGFyZyBAcmVmIExMX01QVV9BQ0NFU1NfU0hBUkVBQkxFIG9yIEByZWYgTExfTVBVX0FDQ0VTU19OT1RfU0hBUkVBQkxFCiAgICogICAgICAgICBAYXJnIEByZWYgTExfTVBVX0FDQ0VTU19DQUNIRUFCTEUgb3IgQHJlZiBMTF9NUFVfQUNDRVNTX05PVF9DQUNIRUFCTEUKZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY3eHhfbGxfZm1jLmggYi9JbmMvc3RtMzJmN3h4X2xsX2ZtYy5oCmluZGV4IDRmNzA0YWIuLjI1MGVjY2EgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY3eHhfbGxfZm1jLmgKKysrIGIvSW5jL3N0bTMyZjd4eF9sbF9mbWMuaApAQCAtNTk3LDExICs1OTcsMTMgQEAKICAgKiBAfQogICAqLwogCisjaWYgZGVmaW5lZChGTUNfQkNSMV9XRkRJUykKIC8qKiBAZGVmZ3JvdXAgRk1DX1dyaXRlX0ZJRk8gRk1DIFdyaXRlIEZJRk8KICAgKiBAewogICAqLwogI2RlZmluZSBGTUNfV1JJVEVfRklGT19ESVNBQkxFICAgICAgICAgICAgICAgICAgRk1DX0JDUjFfV0ZESVMKICNkZWZpbmUgRk1DX1dSSVRFX0ZJRk9fRU5BQkxFICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAwVSkKKyNlbmRpZiAvKiBGTUNfQkNSMV9XRkRJUyAqLwogLyoqCiAgICogQH0KICAgKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY3eHhfbGxfcnRjLmggYi9JbmMvc3RtMzJmN3h4X2xsX3J0Yy5oCmluZGV4IGYwNDA1MTcuLjY0ZGZhOGMgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY3eHhfbGxfcnRjLmgKKysrIGIvSW5jL3N0bTMyZjd4eF9sbF9ydGMuaApAQCAtMTcsOCArMTcsOCBAQAogICAqLwogCiAvKiBEZWZpbmUgdG8gcHJldmVudCByZWN1cnNpdmUgaW5jbHVzaW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotI2lmbmRlZiBfX1NUTTMyRjd4eF9MTF9SVENfSAotI2RlZmluZSBfX1NUTTMyRjd4eF9MTF9SVENfSAorI2lmbmRlZiBTVE0zMkY3eHhfTExfUlRDX0gKKyNkZWZpbmUgU1RNMzJGN3h4X0xMX1JUQ19ICiAKICNpZmRlZiBfX2NwbHVzcGx1cwogZXh0ZXJuICJDIiB7CkBAIC00NSw3ICs0NSw3IEBACiAgICovCiAvKiBNYXNrcyBEZWZpbml0aW9uICovCiAjZGVmaW5lIFJUQ19JTklUX01BU0sgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkZVCi0jZGVmaW5lIFJUQ19SU0ZfTUFTSyAgICAgICAgICAgICAgICAgIDB4RkZGRkZGNUZVCisjZGVmaW5lIFJUQ19SU0ZfTUFTSyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpfihSVENfSVNSX0lOSVQgfCBSVENfSVNSX1JTRikpCiAKIC8qIFdyaXRlIHByb3RlY3Rpb24gZGVmaW5lcyAqLwogI2RlZmluZSBSVENfV1JJVEVfUFJPVEVDVElPTl9ESVNBQkxFICAoKHVpbnQ4X3QpMHhGRlUpCkBAIC04NiwxOSArODYsMTkgQEAKIHsKICAgdWludDMyX3QgSG91ckZvcm1hdDsgICAvKiE8IFNwZWNpZmllcyB0aGUgUlRDIEhvdXJzIEZvcm1hdC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgUlRDX0xMX0VDX0hPVVJGT1JNQVQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGZlYXR1cmUgY2FuIGJlIG1vZGlmaWVkIGFmdGVyd2FyZHMgdXNpbmcgdW5pdGFyeSBmdW5jdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQHJlZiBMTF9SVENfU2V0SG91ckZvcm1hdCgpLiAqLwogCiAgIHVpbnQzMl90IEFzeW5jaFByZXNjYWxlcjsgLyohPCBTcGVjaWZpZXMgdGhlIFJUQyBBc3luY2hyb25vdXMgUHJlZGl2aWRlciB2YWx1ZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDB4MDAgYW5kIE1heF9EYXRhID0gMHg3RgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgZmVhdHVyZSBjYW4gYmUgbW9kaWZpZWQgYWZ0ZXJ3YXJkcyB1c2luZyB1bml0YXJ5IGZ1bmN0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAcmVmIExMX1JUQ19TZXRBc3luY2hQcmVzY2FsZXIoKS4gKi8KIAogICB1aW50MzJfdCBTeW5jaFByZXNjYWxlcjsgIC8qITwgU3BlY2lmaWVzIHRoZSBSVEMgU3luY2hyb25vdXMgUHJlZGl2aWRlciB2YWx1ZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDB4MDAgYW5kIE1heF9EYXRhID0gMHg3RkZGCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBmZWF0dXJlIGNhbiBiZSBtb2RpZmllZCBhZnRlcndhcmRzIHVzaW5nIHVuaXRhcnkgZnVuY3Rpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEByZWYgTExfUlRDX1NldFN5bmNoUHJlc2NhbGVyKCkuICovCiB9IExMX1JUQ19Jbml0VHlwZURlZjsKQEAgLTE2Niw4ICsxNjYsOCBAQAogICB1aW50MzJfdCBBbGFybU1hc2s7ICAgICAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIFJUQyBBbGFybSBNYXNrcy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBSVENfTExfRUNfQUxNQV9NQVNLIGZvciBBTEFSTSBBIG9yIEByZWYgUlRDX0xMX0VDX0FMTUJfTUFTSyBmb3IgQUxBUk0gQi4KIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGZlYXR1cmUgY2FuIGJlIG1vZGlmaWVkIGFmdGVyd2FyZHMgdXNpbmcgdW5pdGFyeSBmdW5jdGlvbiBAcmVmIExMX1JUQ19BTE1BX1NldE1hc2soKSBmb3IgQUxBUk0gQSAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgQHJlZiBMTF9SVENfQUxNQl9TZXRNYXNrKCkgZm9yIEFMQVJNIEIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBmZWF0dXJlIGNhbiBiZSBtb2RpZmllZCBhZnRlcndhcmRzIHVzaW5nIHVuaXRhcnkgZnVuY3Rpb24gQHJlZiBMTF9SVENfQUxNQV9TZXRNYXNrKCkgZm9yIEFMQVJNIEEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgQHJlZiBMTF9SVENfQUxNQl9TZXRNYXNrKCkgZm9yIEFMQVJNIEIuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogCiAgIHVpbnQzMl90IEFsYXJtRGF0ZVdlZWtEYXlTZWw7ICAvKiE8IFNwZWNpZmllcyB0aGUgUlRDIEFsYXJtIGlzIG9uIGRheSBvciBXZWVrRGF5LgpAQCAtMjA0LDggKzIwNCw4IEBACiAvKiogQGRlZmdyb3VwIFJUQ19MTF9FQ19GT1JNQVQgRk9STUFUCiAgICogQHsKICAgKi8KLSNkZWZpbmUgTExfUlRDX0ZPUk1BVF9CSU4gICAgICAgICAgICAgICAgICAweDAwMDAwMDAwMFUgLyohPCBCaW5hcnkgZGF0YSBmb3JtYXQgKi8KLSNkZWZpbmUgTExfUlRDX0ZPUk1BVF9CQ0QgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwMVUgLyohPCBCQ0QgZGF0YSBmb3JtYXQgKi8KKyNkZWZpbmUgTExfUlRDX0ZPUk1BVF9CSU4gICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAvKiE8IEJpbmFyeSBkYXRhIGZvcm1hdCAqLworI2RlZmluZSBMTF9SVENfRk9STUFUX0JDRCAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDFVIC8qITwgQkNEIGRhdGEgZm9ybWF0ICovCiAvKioKICAgKiBAfQogICAqLwpAQCAtMzg1LDExICszODUsMTEgQEAKIC8qKiBAZGVmZ3JvdXAgUlRDX0xMX0VDX0FMTUJfTUFTSyAgQUxBUk1CIE1BU0sKICAgKiBAewogICAqLwotI2RlZmluZSBMTF9SVENfQUxNQl9NQVNLX05PTkUgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgIC8qITwgTm8gbWFza3MgYXBwbGllZCBvbiBBbGFybSBCKi8KKyNkZWZpbmUgTExfUlRDX0FMTUJfTUFTS19OT05FICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAvKiE8IE5vIG1hc2tzIGFwcGxpZWQgb24gQWxhcm0gQiAgICAgICAgICAgICAgICAqLwogI2RlZmluZSBMTF9SVENfQUxNQl9NQVNLX0RBVEVXRUVLREFZICAgICAgIFJUQ19BTFJNQlJfTVNLNCAgICAgICAgIC8qITwgRGF0ZS9kYXkgZG8gbm90IGNhcmUgaW4gQWxhcm0gQiBjb21wYXJpc29uICovCi0jZGVmaW5lIExMX1JUQ19BTE1CX01BU0tfSE9VUlMgICAgICAgICAgICAgUlRDX0FMUk1CUl9NU0szICAgICAgICAgLyohPCBIb3VycyBkbyBub3QgY2FyZSBpbiBBbGFybSBCIGNvbXBhcmlzb24gKi8KLSNkZWZpbmUgTExfUlRDX0FMTUJfTUFTS19NSU5VVEVTICAgICAgICAgICBSVENfQUxSTUJSX01TSzIgICAgICAgICAvKiE8IE1pbnV0ZXMgZG8gbm90IGNhcmUgaW4gQWxhcm0gQiBjb21wYXJpc29uICovCi0jZGVmaW5lIExMX1JUQ19BTE1CX01BU0tfU0VDT05EUyAgICAgICAgICAgUlRDX0FMUk1CUl9NU0sxICAgICAgICAgLyohPCBTZWNvbmRzIGRvIG5vdCBjYXJlIGluIEFsYXJtIEIgY29tcGFyaXNvbiAqLworI2RlZmluZSBMTF9SVENfQUxNQl9NQVNLX0hPVVJTICAgICAgICAgICAgIFJUQ19BTFJNQlJfTVNLMyAgICAgICAgIC8qITwgSG91cnMgZG8gbm90IGNhcmUgaW4gQWxhcm0gQiBjb21wYXJpc29uICAgICovCisjZGVmaW5lIExMX1JUQ19BTE1CX01BU0tfTUlOVVRFUyAgICAgICAgICAgUlRDX0FMUk1CUl9NU0syICAgICAgICAgLyohPCBNaW51dGVzIGRvIG5vdCBjYXJlIGluIEFsYXJtIEIgY29tcGFyaXNvbiAgKi8KKyNkZWZpbmUgTExfUlRDX0FMTUJfTUFTS19TRUNPTkRTICAgICAgICAgICBSVENfQUxSTUJSX01TSzEgICAgICAgICAvKiE8IFNlY29uZHMgZG8gbm90IGNhcmUgaW4gQWxhcm0gQiBjb21wYXJpc29uICAqLwogI2RlZmluZSBMTF9SVENfQUxNQl9NQVNLX0FMTCAgICAgICAgICAgICAgIChSVENfQUxSTUJSX01TSzQgfCBSVENfQUxSTUJSX01TSzMgfCBSVENfQUxSTUJSX01TSzIgfCBSVENfQUxSTUJSX01TSzEpIC8qITwgTWFza3MgYWxsICovCiAvKioKICAgKiBAfQpAQCAtNDUyLDcgKzQ1Miw2IEBACiAgICogQH0KICAgKi8KIAotI2lmIGRlZmluZWQoUlRDX1RBTVBDUl9UQU1QUFJDSCkKIC8qKiBAZGVmZ3JvdXAgUlRDX0xMX0VDX1RBTVBFUl9EVVJBVElPTiAgVEFNUEVSIERVUkFUSU9OCiAgICogQHsKICAgKi8KQEAgLTQ2Myw5ICs0NjIsNyBAQAogLyoqCiAgICogQH0KICAgKi8KLSNlbmRpZiAvKiBSVENfVEFNUENSX1RBTVBQUkNIICovCiAKLSNpZiBkZWZpbmVkKFJUQ19UQU1QQ1JfVEFNUEZMVCkKIC8qKiBAZGVmZ3JvdXAgUlRDX0xMX0VDX1RBTVBFUl9GSUxURVIgIFRBTVBFUiBGSUxURVIKICAgKiBAewogICAqLwpAQCAtNDc2LDkgKzQ3Myw3IEBACiAvKioKICAgKiBAfQogICAqLwotI2VuZGlmIC8qIFJUQ19UQU1QQ1JfVEFNUEZMVCAqLwogCi0jaWYgZGVmaW5lZChSVENfVEFNUENSX1RBTVBGUkVRKQogLyoqIEBkZWZncm91cCBSVENfTExfRUNfVEFNUEVSX1NBTVBMRlJFUURJViAgVEFNUEVSIFNBTVBMSU5HIEZSRVFVRU5DWSBESVZJREVSCiAgICogQHsKICAgKi8KQEAgLTQ5MywxNCArNDg4LDEzIEBACiAvKioKICAgKiBAfQogICAqLwotI2VuZGlmIC8qIFJUQ19UQU1QQ1JfVEFNUEZSRVEgKi8KIAogLyoqIEBkZWZncm91cCBSVENfTExfRUNfVEFNUEVSX0FDVElWRUxFVkVMICBUQU1QRVIgQUNUSVZFIExFVkVMCiAgICogQHsKICAgKi8KLSNkZWZpbmUgTExfUlRDX1RBTVBFUl9BQ1RJVkVMRVZFTF9UQU1QMSAgICBSVENfVEFNUENSX1RBTVAxVFJHIC8qITwgUlRDX1RBTVAxIGlucHV0IGZhbGxpbmcgZWRnZSAoaWYgVEFNUEZMVCA9IDAwKSBvciBzdGF5aW5nIGhpZ2ggKGlmIFRBTVBGTFQgIT0gMDApIHRyaWdnZXJzIGEgdGFtcGVyIGRldGVjdGlvbiBldmVudCovCi0jZGVmaW5lIExMX1JUQ19UQU1QRVJfQUNUSVZFTEVWRUxfVEFNUDIgICAgUlRDX1RBTVBDUl9UQU1QMlRSRyAvKiE8IFJUQ19UQU1QMiBpbnB1dCBmYWxsaW5nIGVkZ2UgKGlmIFRBTVBGTFQgPSAwMCkgb3Igc3RheWluZyBoaWdoIChpZiBUQU1QRkxUICE9IDAwKSB0cmlnZ2VycyBhIHRhbXBlciBkZXRlY3Rpb24gZXZlbnQqLwotI2RlZmluZSBMTF9SVENfVEFNUEVSX0FDVElWRUxFVkVMX1RBTVAzICAgIFJUQ19UQU1QQ1JfVEFNUDNUUkcgLyohPCBSVENfVEFNUDMgaW5wdXQgZmFsbGluZyBlZGdlIChpZiBUQU1QRkxUID0gMDApIG9yIHN0YXlpbmcgaGlnaCAoaWYgVEFNUEZMVCAhPSAwMCkgdHJpZ2dlcnMgYSB0YW1wZXIgZGV0ZWN0aW9uIGV2ZW50Ki8KKyNkZWZpbmUgTExfUlRDX1RBTVBFUl9BQ1RJVkVMRVZFTF9UQU1QMSAgICBSVENfVEFNUENSX1RBTVAxVFJHIC8qITwgUlRDX1RBTVAxIGlucHV0IGZhbGxpbmcgZWRnZSAoaWYgVEFNUEZMVCA9IDAwKSBvciBzdGF5aW5nIGhpZ2ggKGlmIFRBTVBGTFQgIT0gMDApIHRyaWdnZXJzIGEgdGFtcGVyIGRldGVjdGlvbiBldmVudCAqLworI2RlZmluZSBMTF9SVENfVEFNUEVSX0FDVElWRUxFVkVMX1RBTVAyICAgIFJUQ19UQU1QQ1JfVEFNUDJUUkcgLyohPCBSVENfVEFNUDIgaW5wdXQgZmFsbGluZyBlZGdlIChpZiBUQU1QRkxUID0gMDApIG9yIHN0YXlpbmcgaGlnaCAoaWYgVEFNUEZMVCAhPSAwMCkgdHJpZ2dlcnMgYSB0YW1wZXIgZGV0ZWN0aW9uIGV2ZW50ICovCisjZGVmaW5lIExMX1JUQ19UQU1QRVJfQUNUSVZFTEVWRUxfVEFNUDMgICAgUlRDX1RBTVBDUl9UQU1QM1RSRyAvKiE8IFJUQ19UQU1QMyBpbnB1dCBmYWxsaW5nIGVkZ2UgKGlmIFRBTVBGTFQgPSAwMCkgb3Igc3RheWluZyBoaWdoIChpZiBUQU1QRkxUICE9IDAwKSB0cmlnZ2VycyBhIHRhbXBlciBkZXRlY3Rpb24gZXZlbnQgKi8KIC8qKgogICAqIEB9CiAgICovCkBAIC01MjYsNyArNTIwLDYgQEAKICNkZWZpbmUgTExfUlRDX0JLUF9EUjIgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAyVQogI2RlZmluZSBMTF9SVENfQktQX0RSMyAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDNVCiAjZGVmaW5lIExMX1JUQ19CS1BfRFI0ICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwNFUKLSNpZiBSVENfQktQX05VTUJFUiA+IDUKICNkZWZpbmUgTExfUlRDX0JLUF9EUjUgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA1VQogI2RlZmluZSBMTF9SVENfQktQX0RSNiAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDZVCiAjZGVmaW5lIExMX1JUQ19CS1BfRFI3ICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwN1UKQEAgLTUzOCwxNiArNTMxLDEwIEBACiAjZGVmaW5lIExMX1JUQ19CS1BfRFIxMyAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwRFUKICNkZWZpbmUgTExfUlRDX0JLUF9EUjE0ICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDBFVQogI2RlZmluZSBMTF9SVENfQktQX0RSMTUgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMEZVCi0jZW5kaWYgLyogUlRDX0JLUF9OVU1CRVIgPiA1ICovCi0KLSNpZiBSVENfQktQX05VTUJFUiA+IDE2CiAjZGVmaW5lIExMX1JUQ19CS1BfRFIxNiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAxMFUKICNkZWZpbmUgTExfUlRDX0JLUF9EUjE3ICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDExVQogI2RlZmluZSBMTF9SVENfQktQX0RSMTggICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMTJVCiAjZGVmaW5lIExMX1JUQ19CS1BfRFIxOSAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAxM1UKLSNlbmRpZiAvKiBSVENfQktQX05VTUJFUiA+IDE2ICovCi0KLSNpZiBSVENfQktQX05VTUJFUiA+IDIwCiAjZGVmaW5lIExMX1JUQ19CS1BfRFIyMCAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAxNFUKICNkZWZpbmUgTExfUlRDX0JLUF9EUjIxICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDE1VQogI2RlZmluZSBMTF9SVENfQktQX0RSMjIgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMTZVCkBAIC01NjAsNyArNTQ3LDYgQEAKICNkZWZpbmUgTExfUlRDX0JLUF9EUjI5ICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDFEVQogI2RlZmluZSBMTF9SVENfQktQX0RSMzAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMUVVCiAjZGVmaW5lIExMX1JUQ19CS1BfRFIzMSAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAxRlUKLSNlbmRpZiAvKiBSVENfQktQX05VTUJFUiA+IDIwICovCiAvKioKICAgKiBAfQogICAqLwpAQCAtNTc1LDcgKzU2MSw3IEBACiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBSVENfTExfRUNfQ0FMSUJfSU5TRVJUUFVMU0UgIENhbGlicmF0aW9uIHB1bHNlIGluc2VydGlvbiAKKy8qKiBAZGVmZ3JvdXAgUlRDX0xMX0VDX0NBTElCX0lOU0VSVFBVTFNFICBDYWxpYnJhdGlvbiBwdWxzZSBpbnNlcnRpb24KICAgKiBAewogICAqLwogI2RlZmluZSBMTF9SVENfQ0FMSUJfSU5TRVJUUFVMU0VfTk9ORSAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAvKiE8IE5vIFJUQ0NMSyBwdWxzZXMgYXJlIGFkZGVkICovCkBAIC01OTQsNiArNTgwLDE1IEBACiAgICogQH0KICAgKi8KIAorLyoqIEBkZWZncm91cCBSVENfTExfRUNfVFNJTlNFTCAgVElNRVNUQU1QIG1hcHBpbmcKKyAgKiBAeworICAqLworI2RlZmluZSBMTF9SVENfVGltZVN0YW1wUGluX0RlZmF1bHQgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAvKiE8IFVzZSBSVENfQUYxIGFzIFRJTUVTVEFNUCAqLworI2RlZmluZSBMTF9SVENfVGltZVN0YW1wUGluX1BvczEgICAgICAgICAgIFJUQ19PUl9UU0lOU0VMICAgICAgICAvKiE8IFVzZSBSVENfQUYyIGFzIFRJTUVTVEFNUCAqLworLyoqCisgICogQH0KKyAgKi8KKwogLyoqCiAgICogQH0KICAgKi8KQEAgLTkyMiw3ICs5MTcsNyBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19Jc1NoYWRvd1JlZ0J5cGFzc0VuYWJsZWQoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAoUkVBRF9CSVQoUlRDeC0+Q1IsIFJUQ19DUl9CWVBTSEFEKSA9PSAoUlRDX0NSX0JZUFNIQUQpKTsKKyAgcmV0dXJuICgoUkVBRF9CSVQoUlRDeC0+Q1IsIFJUQ19DUl9CWVBTSEFEKSA9PSAoUlRDX0NSX0JZUFNIQUQpKSA/IDFVTCA6IDBVTCk7CiB9CiAKIC8qKgpAQCAtMTEyOCw3ICsxMTIzLDcgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfVElNRV9HZXRNaW51dGUoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAodWludDMyX3QpKFJFQURfQklUKFJUQ3gtPlRSLCAoUlRDX1RSX01OVCB8IFJUQ19UUl9NTlUpKT4+IFJUQ19UUl9NTlVfUG9zKTsKKyAgcmV0dXJuICh1aW50MzJfdCkoUkVBRF9CSVQoUlRDeC0+VFIsIChSVENfVFJfTU5UIHwgUlRDX1RSX01OVSkpID4+IFJUQ19UUl9NTlVfUG9zKTsKIH0KIAogLyoqCkBAIC0xMTg5LDEyICsxMTg0LDEyIEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdm9pZCBMTF9SVENfVElNRV9Db25maWcoUlRDX1R5cGVEZWYgKlJUQ3gsIHVpbnQzMl90IEZvcm1hdDEyXzI0LCB1aW50MzJfdCBIb3VycywgdWludDMyX3QgTWludXRlcywgdWludDMyX3QgU2Vjb25kcykKIHsKLSAgdWludDMyX3QgdGVtcCA9IDBVOworICB1aW50MzJfdCB0ZW1wOwogCi0gIHRlbXAgPSBGb3JtYXQxMl8yNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXAotICAgICAgICAgKCgoSG91cnMgJiAweEYwVSkgPDwgKFJUQ19UUl9IVF9Qb3MgLSA0VSkpIHwgKChIb3VycyAmIDB4MEZVKSA8PCBSVENfVFJfSFVfUG9zKSkgICAgIHwgXAorICB0ZW1wID0gRm9ybWF0MTJfMjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcCisgICAgICAgICAoKChIb3VycyAgICYgMHhGMFUpIDw8IChSVENfVFJfSFRfUG9zICAtIDRVKSkgfCAoKEhvdXJzICYgMHgwRlUpIDw8IFJUQ19UUl9IVV9Qb3MpKSAgICB8IFwKICAgICAgICAgICgoKE1pbnV0ZXMgJiAweEYwVSkgPDwgKFJUQ19UUl9NTlRfUG9zIC0gNFUpKSB8ICgoTWludXRlcyAmIDB4MEZVKSA8PCBSVENfVFJfTU5VX1BvcykpIHwgXAotICAgICAgICAgKCgoU2Vjb25kcyAmIDB4RjBVKSA8PCAoUlRDX1RSX1NUX1BvcyAtIDRVKSkgfCAoKFNlY29uZHMgJiAweDBGVSkgPDwgUlRDX1RSX1NVX1BvcykpOworICAgICAgICAgKCgoU2Vjb25kcyAmIDB4RjBVKSA8PCAoUlRDX1RSX1NUX1BvcyAgLSA0VSkpIHwgKChTZWNvbmRzICYgMHgwRlUpIDw8IFJUQ19UUl9TVV9Qb3MpKTsKICAgTU9ESUZZX1JFRyhSVEN4LT5UUiwgKFJUQ19UUl9QTSB8IFJUQ19UUl9IVCB8IFJUQ19UUl9IVSB8IFJUQ19UUl9NTlQgfCBSVENfVFJfTU5VIHwgUlRDX1RSX1NUIHwgUlRDX1RSX1NVKSwgdGVtcCk7CiB9CiAKQEAgLTEyMTcsMTIgKzEyMTIsNyBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19USU1FX0dldChSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgdWludDMyX3QgdGVtcCA9IDBVOwotICAKLSAgdGVtcCA9IFJFQURfQklUKFJUQ3gtPlRSLCAoUlRDX1RSX0hUIHwgUlRDX1RSX0hVIHwgUlRDX1RSX01OVCB8IFJUQ19UUl9NTlUgfCBSVENfVFJfU1QgfCBSVENfVFJfU1UpKTsKLSAgcmV0dXJuICh1aW50MzJfdCkoKCgoKCh0ZW1wICYgUlRDX1RSX0hUKSA+PiBSVENfVFJfSFRfUG9zKSA8PCA0VSkgfCAoKHRlbXAgJiBSVENfVFJfSFUpID4+IFJUQ19UUl9IVV9Qb3MpKSA8PCBSVENfT0ZGU0VUX0hPVVIpIHwgIFwKLSAgICAgICAgICAgICAgICAgICAgKCgoKCh0ZW1wICYgUlRDX1RSX01OVCkgPj4gUlRDX1RSX01OVF9Qb3MpIDw8IDRVKSB8ICgodGVtcCAmIFJUQ19UUl9NTlUpID4+IFJUQ19UUl9NTlVfUG9zKSkgPDwgUlRDX09GRlNFVF9NSU5VVEUpIHwgXAotICAgICAgICAgICAgICAgICAgICAoKCgodGVtcCAmIFJUQ19UUl9TVCkgPj4gUlRDX1RSX1NUX1BvcykgPDwgNFUpIHwgKCh0ZW1wICYgUlRDX1RSX1NVKSA+PiBSVENfVFJfU1VfUG9zKSkpOworICByZXR1cm4gKHVpbnQzMl90KShSRUFEX0JJVChSVEN4LT5UUiwgKFJUQ19UUl9IVCB8IFJUQ19UUl9IVSB8IFJUQ19UUl9NTlQgfCBSVENfVFJfTU5VIHwgUlRDX1RSX1NUIHwgUlRDX1RSX1NVKSkpOwogfQogCiAvKioKQEAgLTEyNTcsNyArMTI0Nyw3IEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX1RJTUVfSXNEYXlMaWdodFN0b3JlRW5hYmxlZChSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgcmV0dXJuIChSRUFEX0JJVChSVEN4LT5DUiwgUlRDX0NSX0JLUCkgPT0gKFJUQ19DUl9CS1ApKTsKKyAgcmV0dXJuICgoUkVBRF9CSVQoUlRDeC0+Q1IsIFJUQ19DUl9CS1ApID09IChSVENfQ1JfQktQKSkgPyAxVUwgOiAwVUwpOwogfQogCiAvKioKQEAgLTEyODUsMTcgKzEyNzUsMTggQEAKIH0KIAogLyoqCi0gICogQGJyaWVmICBHZXQgU3ViIHNlY29uZCB2YWx1ZSBpbiB0aGUgc3luY2hyb25vdXMgcHJlc2NhbGVyIGNvdW50ZXIuCisgICogQGJyaWVmICBHZXQgc3Vic2Vjb25kcyB2YWx1ZSBpbiB0aGUgc3luY2hyb25vdXMgcHJlc2NhbGVyIGNvdW50ZXIuCiAgICogQG5vdGUgIFlvdSBjYW4gdXNlIGJvdGggU3ViU2Vjb25kcyB2YWx1ZSBhbmQgU2Vjb25kRnJhY3Rpb24gKFBSRURJVl9TIHRocm91Z2gKICAgKiAgICAgICAgTExfUlRDX0dldFN5bmNoUHJlc2NhbGVyIGZ1bmN0aW9uKSB0ZXJtcyByZXR1cm5lZCB0byBjb252ZXJ0IENhbGVuZGFyCiAgICogICAgICAgIFN1YlNlY29uZHMgdmFsdWUgaW4gc2Vjb25kIGZyYWN0aW9uIHJhdGlvIHdpdGggdGltZSB1bml0IGZvbGxvd2luZwogICAqICAgICAgICBnZW5lcmljIGZvcm11bGE6Ci0gICogICAgICAgICAgPT0+IFNlY29uZHMgZnJhY3Rpb24gcmF0aW8gKiB0aW1lX3VuaXQ9IFsoU2Vjb25kRnJhY3Rpb24tU3ViU2Vjb25kcykvKFNlY29uZEZyYWN0aW9uKzEpXSAqIHRpbWVfdW5pdAorICAqICAgICAgICAgID09PiBTZWNvbmRzIGZyYWN0aW9uIHJhdGlvICogdGltZV91bml0ID0KKyAgKiAgICAgICAgICAgICAgICAgWyhTZWNvbmRGcmFjdGlvbi1TdWJTZWNvbmRzKS8oU2Vjb25kRnJhY3Rpb24rMSldICogdGltZV91bml0CiAgICogICAgICAgIFRoaXMgY29udmVyc2lvbiBjYW4gYmUgcGVyZm9ybWVkIG9ubHkgaWYgbm8gc2hpZnQgb3BlcmF0aW9uIGlzIHBlbmRpbmcKICAgKiAgICAgICAgKGllLiBTSEZQPTApIHdoZW4gUFJFRElWX1MgPj0gU1MuCiAgICogQHJtdG9sbCBTU1IgICAgICAgICAgU1MgICAgICAgICAgICBMTF9SVENfVElNRV9HZXRTdWJTZWNvbmQKICAgKiBAcGFyYW0gIFJUQ3ggUlRDIEluc3RhbmNlCi0gICogQHJldHZhbCBTdWIgc2Vjb25kIHZhbHVlIChudW1iZXIgYmV0d2VlbiAwIGFuZCA2NTUzNSkKKyAgKiBAcmV0dmFsIFN1YnNlY29uZHMgdmFsdWUgKG51bWJlciBiZXR3ZWVuIDAgYW5kIDY1NTM1KQogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19USU1FX0dldFN1YlNlY29uZChSVENfVHlwZURlZiAqUlRDeCkKIHsKQEAgLTE0NDksNyArMTQ0MCw3IEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX0RBVEVfR2V0TW9udGgoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAodWludDMyX3QpKChSRUFEX0JJVChSVEN4LT5EUiwgKFJUQ19EUl9NVCB8IFJUQ19EUl9NVSkpKT4+IFJUQ19EUl9NVV9Qb3MpOworICByZXR1cm4gKHVpbnQzMl90KSgoUkVBRF9CSVQoUlRDeC0+RFIsIChSVENfRFJfTVQgfCBSVENfRFJfTVUpKSkgPj4gUlRDX0RSX01VX1Bvcyk7CiB9CiAKIC8qKgpAQCAtMTUxOSwxMiArMTUxMCwxMiBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHZvaWQgTExfUlRDX0RBVEVfQ29uZmlnKFJUQ19UeXBlRGVmICpSVEN4LCB1aW50MzJfdCBXZWVrRGF5LCB1aW50MzJfdCBEYXksIHVpbnQzMl90IE1vbnRoLCB1aW50MzJfdCBZZWFyKQogewotICB1aW50MzJfdCB0ZW1wID0gMFU7CisgIHVpbnQzMl90IHRlbXA7CiAKLSAgdGVtcCA9IChXZWVrRGF5IDw8IFJUQ19EUl9XRFVfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcCi0gICAgICAgICAoKChZZWFyICYgMHhGMFUpIDw8IChSVENfRFJfWVRfUG9zIC0gNFUpKSB8ICgoWWVhciAmIDB4MEZVKSA8PCBSVENfRFJfWVVfUG9zKSkgICB8IFwKKyAgdGVtcCA9ICggIFdlZWtEYXkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDwgUlRDX0RSX1dEVV9Qb3MpIHwgXAorICAgICAgICAgKCgoWWVhciAgJiAweEYwVSkgPDwgKFJUQ19EUl9ZVF9Qb3MgLSA0VSkpIHwgKChZZWFyICAmIDB4MEZVKSA8PCBSVENfRFJfWVVfUG9zKSkgfCBcCiAgICAgICAgICAoKChNb250aCAmIDB4RjBVKSA8PCAoUlRDX0RSX01UX1BvcyAtIDRVKSkgfCAoKE1vbnRoICYgMHgwRlUpIDw8IFJUQ19EUl9NVV9Qb3MpKSB8IFwKLSAgICAgICAgICgoKERheSAmIDB4RjBVKSA8PCAoUlRDX0RSX0RUX1BvcyAtIDRVKSkgfCAoKERheSAmIDB4MEZVKSA8PCBSVENfRFJfRFVfUG9zKSk7CisgICAgICAgICAoKChEYXkgICAmIDB4RjBVKSA8PCAoUlRDX0RSX0RUX1BvcyAtIDRVKSkgfCAoKERheSAgICYgMHgwRlUpIDw8IFJUQ19EUl9EVV9Qb3MpKTsKIAogICBNT0RJRllfUkVHKFJUQ3gtPkRSLCAoUlRDX0RSX1dEVSB8IFJUQ19EUl9NVCB8IFJUQ19EUl9NVSB8IFJUQ19EUl9EVCB8IFJUQ19EUl9EVSB8IFJUQ19EUl9ZVCB8IFJUQ19EUl9ZVSksIHRlbXApOwogfQpAQCAtMTU0NywxMyArMTUzOCwxNCBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19EQVRFX0dldChSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgdWludDMyX3QgdGVtcCA9IDBVOwotICAKKyAgdWludDMyX3QgdGVtcDsKKwogICB0ZW1wID0gUkVBRF9CSVQoUlRDeC0+RFIsIChSVENfRFJfV0RVIHwgUlRDX0RSX01UIHwgUlRDX0RSX01VIHwgUlRDX0RSX0RUIHwgUlRDX0RSX0RVIHwgUlRDX0RSX1lUIHwgUlRDX0RSX1lVKSk7Ci0gIHJldHVybiAodWludDMyX3QpKCgoKHRlbXAgJiBSVENfRFJfV0RVKSA+PiBSVENfRFJfV0RVX1BvcykgPDwgUlRDX09GRlNFVF9XRUVLREFZKSB8IFwKLSAgICAgICAgICAgICAgICAgICAgKCgoKCh0ZW1wICYgUlRDX0RSX0RUKSA+PiBSVENfRFJfRFRfUG9zKSA8PCA0VSkgfCAoKHRlbXAgJiBSVENfRFJfRFUpID4+IFJUQ19EUl9EVV9Qb3MpKSA8PCBSVENfT0ZGU0VUX0RBWSkgfCBcCi0gICAgICAgICAgICAgICAgICAgICgoKCgodGVtcCAmIFJUQ19EUl9NVCkgPj4gUlRDX0RSX01UX1BvcykgPDwgNFUpIHwgKCh0ZW1wICYgUlRDX0RSX01VKSA+PiBSVENfRFJfTVVfUG9zKSkgPDwgUlRDX09GRlNFVF9NT05USCkgfCBcCi0gICAgICAgICAgICAgICAgICAgICgoKCh0ZW1wICYgUlRDX0RSX1lUKSA+PiBSVENfRFJfWVRfUG9zKSA8PCA0VSkgfCAoKHRlbXAgJiBSVENfRFJfWVUpID4+IFJUQ19EUl9ZVV9Qb3MpKSk7CisKKyAgcmV0dXJuICh1aW50MzJfdCkoKCgodGVtcCAmICAgICAgICAgICAgICBSVENfRFJfV0RVKSA+PiBSVENfRFJfV0RVX1BvcykgPDwgUlRDX09GRlNFVF9XRUVLREFZKSB8IFwKKyAgICAgICAgICAgICAgICAgICAgKCgodGVtcCAmIChSVENfRFJfRFQgfCBSVENfRFJfRFUpKSA+PiBSVENfRFJfRFVfUG9zKSAgPDwgUlRDX09GRlNFVF9EQVkpICAgICB8IFwKKyAgICAgICAgICAgICAgICAgICAgKCgodGVtcCAmIChSVENfRFJfTVQgfCBSVENfRFJfTVUpKSA+PiBSVENfRFJfTVVfUG9zKSAgPDwgUlRDX09GRlNFVF9NT05USCkgICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICgodGVtcCAmIChSVENfRFJfWVQgfCBSVENfRFJfWVUpKSA+PiBSVENfRFJfWVVfUG9zKSk7CiB9CiAKIC8qKgpAQCAtMTc2OCw3ICsxNzYwLDcgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfQUxNQV9HZXRIb3VyKFJUQ19UeXBlRGVmICpSVEN4KQogewotICByZXR1cm4gKHVpbnQzMl90KSgoIFJFQURfQklUKFJUQ3gtPkFMUk1BUiwgKFJUQ19BTFJNQVJfSFQgfCBSVENfQUxSTUFSX0hVKSkpID4+IFJUQ19BTFJNQVJfSFVfUG9zKTsKKyAgcmV0dXJuICh1aW50MzJfdCkoKFJFQURfQklUKFJUQ3gtPkFMUk1BUiwgKFJUQ19BTFJNQVJfSFQgfCBSVENfQUxSTUFSX0hVKSkpID4+IFJUQ19BTFJNQVJfSFVfUG9zKTsKIH0KIAogLyoqCkBAIC0xODQ3LDExICsxODM5LDEyIEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdm9pZCBMTF9SVENfQUxNQV9Db25maWdUaW1lKFJUQ19UeXBlRGVmICpSVEN4LCB1aW50MzJfdCBGb3JtYXQxMl8yNCwgdWludDMyX3QgSG91cnMsIHVpbnQzMl90IE1pbnV0ZXMsIHVpbnQzMl90IFNlY29uZHMpCiB7Ci0gIHVpbnQzMl90IHRlbXAgPSAwVTsKKyAgdWludDMyX3QgdGVtcDsKIAotICB0ZW1wID0gRm9ybWF0MTJfMjQgfCAoKChIb3VycyAmIDB4RjBVKSA8PCAoUlRDX0FMUk1BUl9IVF9Qb3MgLSA0VSkpIHwgKChIb3VycyAmIDB4MEZVKSA8PCBSVENfQUxSTUFSX0hVX1BvcykpICAgIHwgXAorICB0ZW1wID0gRm9ybWF0MTJfMjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFwKKyAgICAgICAgICgoKEhvdXJzICAgJiAweEYwVSkgPDwgKFJUQ19BTFJNQVJfSFRfUG9zICAtIDRVKSkgfCAoKEhvdXJzICAgJiAweDBGVSkgPDwgUlRDX0FMUk1BUl9IVV9Qb3MpKSAgfCBcCiAgICAgICAgICAoKChNaW51dGVzICYgMHhGMFUpIDw8IChSVENfQUxSTUFSX01OVF9Qb3MgLSA0VSkpIHwgKChNaW51dGVzICYgMHgwRlUpIDw8IFJUQ19BTFJNQVJfTU5VX1BvcykpIHwgXAotICAgICAgICAgKCgoU2Vjb25kcyAmIDB4RjBVKSA8PCAoUlRDX0FMUk1BUl9TVF9Qb3MgLSA0VSkpIHwgKChTZWNvbmRzICYgMHgwRlUpIDw8IFJUQ19BTFJNQVJfU1VfUG9zKSk7CisgICAgICAgICAoKChTZWNvbmRzICYgMHhGMFUpIDw8IChSVENfQUxSTUFSX1NUX1BvcyAgLSA0VSkpIHwgKChTZWNvbmRzICYgMHgwRlUpIDw8IFJUQ19BTFJNQVJfU1VfUG9zKSk7CiAKICAgTU9ESUZZX1JFRyhSVEN4LT5BTFJNQVIsIFJUQ19BTFJNQVJfUE0gfCBSVENfQUxSTUFSX0hUIHwgUlRDX0FMUk1BUl9IVSB8IFJUQ19BTFJNQVJfTU5UIHwgUlRDX0FMUk1BUl9NTlUgfCBSVENfQUxSTUFSX1NUIHwgUlRDX0FMUk1BUl9TVSwgdGVtcCk7CiB9CkBAIC0xODc1LDcgKzE4NjgsOCBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIFNldCBBbGFybSBBIE1hc2sgdGhlIG1vc3Qtc2lnbmlmaWNhbnQgYml0cyBzdGFydGluZyBhdCB0aGlzIGJpdAorICAqIEBicmllZiAgTWFzayB0aGUgbW9zdC1zaWduaWZpY2FudCBiaXRzIG9mIHRoZSBzdWJzZWNvbmRzIGZpZWxkIHN0YXJ0aW5nIGZyb20KKyAgKiAgICAgICAgIHRoZSBiaXQgc3BlY2lmaWVkIGluIHBhcmFtZXRlciBNYXNrCiAgICogQG5vdGUgVGhpcyByZWdpc3RlciBjYW4gYmUgd3JpdHRlbiBvbmx5IHdoZW4gQUxSQUUgaXMgcmVzZXQgaW4gUlRDX0NSIHJlZ2lzdGVyLAogICAqICAgICAgIG9yIGluIGluaXRpYWxpemF0aW9uIG1vZGUuCiAgICogQHJtdG9sbCBBTFJNQVNTUiAgICAgTUFTS1NTICAgICAgICBMTF9SVENfQUxNQV9TZXRTdWJTZWNvbmRNYXNrCkBAIC0xODg5LDcgKzE4ODMsNyBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIEdldCBBbGFybSBBIE1hc2sgdGhlIG1vc3Qtc2lnbmlmaWNhbnQgYml0cyBzdGFydGluZyBhdCB0aGlzIGJpdAorICAqIEBicmllZiAgR2V0IEFsYXJtIEEgc3Vic2Vjb25kcyBtYXNrCiAgICogQHJtdG9sbCBBTFJNQVNTUiAgICAgTUFTS1NTICAgICAgICBMTF9SVENfQUxNQV9HZXRTdWJTZWNvbmRNYXNrCiAgICogQHBhcmFtICBSVEN4IFJUQyBJbnN0YW5jZQogICAqIEByZXR2YWwgVmFsdWUgYmV0d2VlbiBNaW5fRGF0YT0weDAwIGFuZCBNYXhfRGF0YT0weEYKQEAgLTE5MDAsNyArMTg5NCw3IEBACiB9CiAKIC8qKgotICAqIEBicmllZiAgU2V0IEFsYXJtIEEgU3ViIHNlY29uZHMgdmFsdWUKKyAgKiBAYnJpZWYgIFNldCBBbGFybSBBIHN1YnNlY29uZHMgdmFsdWUKICAgKiBAcm10b2xsIEFMUk1BU1NSICAgICBTUyAgICAgICAgICAgIExMX1JUQ19BTE1BX1NldFN1YlNlY29uZAogICAqIEBwYXJhbSAgUlRDeCBSVEMgSW5zdGFuY2UKICAgKiBAcGFyYW0gIFN1YnNlY29uZCBWYWx1ZSBiZXR3ZWVuIE1pbl9EYXRhPTB4MDAgYW5kIE1heF9EYXRhPTB4N0ZGRgpAQCAtMTkxMiw3ICsxOTA2LDcgQEAKIH0KIAogLyoqCi0gICogQGJyaWVmICBHZXQgQWxhcm0gQSBTdWIgc2Vjb25kcyB2YWx1ZQorICAqIEBicmllZiAgR2V0IEFsYXJtIEEgc3Vic2Vjb25kcyB2YWx1ZQogICAqIEBybXRvbGwgQUxSTUFTU1IgICAgIFNTICAgICAgICAgICAgTExfUlRDX0FMTUFfR2V0U3ViU2Vjb25kCiAgICogQHBhcmFtICBSVEN4IFJUQyBJbnN0YW5jZQogICAqIEByZXR2YWwgVmFsdWUgYmV0d2VlbiBNaW5fRGF0YT0weDAwIGFuZCBNYXhfRGF0YT0weDdGRkYKQEAgLTIwMjgsNyArMjAyMiw3IEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdm9pZCBMTF9SVENfQUxNQl9TZXREYXkoUlRDX1R5cGVEZWYgKlJUQ3gsIHVpbnQzMl90IERheSkKIHsKLSAgTU9ESUZZX1JFRyhSVEMtPkFMUk1CUiwgKFJUQ19BTFJNQlJfRFQgfCBSVENfQUxSTUJSX0RVKSwKKyAgTU9ESUZZX1JFRyhSVEN4LT5BTFJNQlIsIChSVENfQUxSTUJSX0RUIHwgUlRDX0FMUk1CUl9EVSksCiAgICAgICAgICAgICAgKCgoRGF5ICYgMHhGMFUpIDw8IChSVENfQUxSTUJSX0RUX1BvcyAtIDRVKSkgfCAoKERheSAmIDB4MEZVKSA8PCBSVENfQUxSTUJSX0RVX1BvcykpKTsKIH0KIApAQCAtMjA0Miw3ICsyMDM2LDcgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfQUxNQl9HZXREYXkoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAodWludDMyX3QpKCggUkVBRF9CSVQoUlRDeC0+QUxSTUJSLCAoUlRDX0FMUk1CUl9EVCB8IFJUQ19BTFJNQlJfRFUpKSkgPj4gUlRDX0FMUk1CUl9EVV9Qb3MpOworICByZXR1cm4gKHVpbnQzMl90KSgoUkVBRF9CSVQoUlRDeC0+QUxSTUJSLCAoUlRDX0FMUk1CUl9EVCB8IFJUQ19BTFJNQlJfRFUpKSkgPj4gUlRDX0FMUk1CUl9EVV9Qb3MpOwogfQogCiAvKioKQEAgLTIyMTMsMTMgKzIyMDcsMTQgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB2b2lkIExMX1JUQ19BTE1CX0NvbmZpZ1RpbWUoUlRDX1R5cGVEZWYgKlJUQ3gsIHVpbnQzMl90IEZvcm1hdDEyXzI0LCB1aW50MzJfdCBIb3VycywgdWludDMyX3QgTWludXRlcywgdWludDMyX3QgU2Vjb25kcykKIHsKLSAgdWludDMyX3QgdGVtcCA9IDBVOworICB1aW50MzJfdCB0ZW1wOwogCi0gIHRlbXAgPSBGb3JtYXQxMl8yNCB8ICgoKEhvdXJzICYgMHhGMFUpIDw8IChSVENfQUxSTUJSX0hUX1BvcyAtIDRVKSkgfCAoKEhvdXJzICYgMHgwRlUpIDw8IFJUQ19BTFJNQlJfSFVfUG9zKSkgICAgfCBcCisgIHRlbXAgPSBGb3JtYXQxMl8yNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXAorICAgICAgICAgKCgoSG91cnMgICAmIDB4RjBVKSA8PCAoUlRDX0FMUk1CUl9IVF9Qb3MgIC0gNFUpKSB8ICgoSG91cnMgICAmIDB4MEZVKSA8PCBSVENfQUxSTUJSX0hVX1BvcykpICB8IFwKICAgICAgICAgICgoKE1pbnV0ZXMgJiAweEYwVSkgPDwgKFJUQ19BTFJNQlJfTU5UX1BvcyAtIDRVKSkgfCAoKE1pbnV0ZXMgJiAweDBGVSkgPDwgUlRDX0FMUk1CUl9NTlVfUG9zKSkgfCBcCi0gICAgICAgICAoKChTZWNvbmRzICYgMHhGMFUpIDw8IChSVENfQUxSTUJSX1NUX1BvcyAtIDRVKSkgfCAoKFNlY29uZHMgJiAweDBGVSkgPDwgUlRDX0FMUk1CUl9TVV9Qb3MpKTsKKyAgICAgICAgICgoKFNlY29uZHMgJiAweEYwVSkgPDwgKFJUQ19BTFJNQlJfU1RfUG9zICAtIDRVKSkgfCAoKFNlY29uZHMgJiAweDBGVSkgPDwgUlRDX0FMUk1CUl9TVV9Qb3MpKTsKIAotICBNT0RJRllfUkVHKFJUQ3gtPkFMUk1CUiwgUlRDX0FMUk1CUl9QTXwgUlRDX0FMUk1CUl9IVCB8IFJUQ19BTFJNQlJfSFUgfCBSVENfQUxSTUJSX01OVCB8IFJUQ19BTFJNQlJfTU5VIHwgUlRDX0FMUk1CUl9TVCB8IFJUQ19BTFJNQlJfU1UsIHRlbXApOworICBNT0RJRllfUkVHKFJUQ3gtPkFMUk1CUiwgUlRDX0FMUk1CUl9QTSB8IFJUQ19BTFJNQlJfSFQgfCBSVENfQUxSTUJSX0hVIHwgUlRDX0FMUk1CUl9NTlQgfCBSVENfQUxSTUJSX01OVSB8IFJUQ19BTFJNQlJfU1QgfCBSVENfQUxSTUJSX1NVLCB0ZW1wKTsKIH0KIAogLyoqCkBAIC0yMjQxLDcgKzIyMzYsOCBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIFNldCBBbGFybSBCIE1hc2sgdGhlIG1vc3Qtc2lnbmlmaWNhbnQgYml0cyBzdGFydGluZyBhdCB0aGlzIGJpdAorICAqIEBicmllZiAgTWFzayB0aGUgbW9zdC1zaWduaWZpY2FudCBiaXRzIG9mIHRoZSBzdWJzZWNvbmRzIGZpZWxkIHN0YXJ0aW5nIGZyb20KKyAgKiAgICAgICAgIHRoZSBiaXQgc3BlY2lmaWVkIGluIHBhcmFtZXRlciBNYXNrCiAgICogQG5vdGUgVGhpcyByZWdpc3RlciBjYW4gYmUgd3JpdHRlbiBvbmx5IHdoZW4gQUxSQkUgaXMgcmVzZXQgaW4gUlRDX0NSIHJlZ2lzdGVyLAogICAqICAgICAgIG9yIGluIGluaXRpYWxpemF0aW9uIG1vZGUuCiAgICogQHJtdG9sbCBBTFJNQlNTUiAgICAgTUFTS1NTICAgICAgICBMTF9SVENfQUxNQl9TZXRTdWJTZWNvbmRNYXNrCkBAIC0yMjU1LDcgKzIyNTEsNyBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIEdldCBBbGFybSBCIE1hc2sgdGhlIG1vc3Qtc2lnbmlmaWNhbnQgYml0cyBzdGFydGluZyBhdCB0aGlzIGJpdAorICAqIEBicmllZiAgR2V0IEFsYXJtIEIgc3Vic2Vjb25kcyBtYXNrCiAgICogQHJtdG9sbCBBTFJNQlNTUiAgICAgTUFTS1NTICAgICAgICBMTF9SVENfQUxNQl9HZXRTdWJTZWNvbmRNYXNrCiAgICogQHBhcmFtICBSVEN4IFJUQyBJbnN0YW5jZQogICAqIEByZXR2YWwgVmFsdWUgYmV0d2VlbiBNaW5fRGF0YT0weDAwIGFuZCBNYXhfRGF0YT0weEYKQEAgLTIyNjYsNyArMjI2Miw3IEBACiB9CiAKIC8qKgotICAqIEBicmllZiAgU2V0IEFsYXJtIEIgU3ViIHNlY29uZHMgdmFsdWUKKyAgKiBAYnJpZWYgIFNldCBBbGFybSBCIHN1YnNlY29uZHMgdmFsdWUKICAgKiBAcm10b2xsIEFMUk1CU1NSICAgICBTUyAgICAgICAgICAgIExMX1JUQ19BTE1CX1NldFN1YlNlY29uZAogICAqIEBwYXJhbSAgUlRDeCBSVEMgSW5zdGFuY2UKICAgKiBAcGFyYW0gIFN1YnNlY29uZCBWYWx1ZSBiZXR3ZWVuIE1pbl9EYXRhPTB4MDAgYW5kIE1heF9EYXRhPTB4N0ZGRgpAQCAtMjI3OCw3ICsyMjc0LDcgQEAKIH0KIAogLyoqCi0gICogQGJyaWVmICBHZXQgQWxhcm0gQiBTdWIgc2Vjb25kcyB2YWx1ZQorICAqIEBicmllZiAgR2V0IEFsYXJtIEIgc3Vic2Vjb25kcyB2YWx1ZQogICAqIEBybXRvbGwgQUxSTUJTU1IgICAgIFNTICAgICAgICAgICAgTExfUlRDX0FMTUJfR2V0U3ViU2Vjb25kCiAgICogQHBhcmFtICBSVEN4IFJUQyBJbnN0YW5jZQogICAqIEByZXR2YWwgVmFsdWUgYmV0d2VlbiBNaW5fRGF0YT0weDAwIGFuZCBNYXhfRGF0YT0weDdGRkYKQEAgLTI1MTksNyArMjUxNSw3IEBACiB9CiAKIC8qKgotICAqIEBicmllZiAgR2V0IHRpbWUtc3RhbXAgc3ViIHNlY29uZCB2YWx1ZQorICAqIEBicmllZiAgR2V0IHRpbWUtc3RhbXAgc3Vic2Vjb25kcyB2YWx1ZQogICAqIEBybXRvbGwgVFNTU1IgICAgICAgIFNTICAgICAgICAgICAgTExfUlRDX1RTX0dldFN1YlNlY29uZAogICAqIEBwYXJhbSAgUlRDeCBSVEMgSW5zdGFuY2UKICAgKiBAcmV0dmFsIFZhbHVlIGJldHdlZW4gTWluX0RhdGE9MHgwMCBhbmQgTWF4X0RhdGE9MHhGRkZGCkBAIC0yNTU0LDYgKzI1NTAsMzUgQEAKICNlbmRpZiAvKiBSVENfVEFNUENSX1RBTVBUUyAqLwogCiAvKioKKyAgKiBAYnJpZWYgIFNldCB0aW1lc3RhbXAgUGluCisgICogQHJtdG9sbCBUQU1QQ1IgICAgICAgVFNJTlNFTCAgICAgIExMX1JUQ19UU19TZXRQaW4KKyAgKiBAcGFyYW0gIFJUQ3ggUlRDIEluc3RhbmNlCisgICogQHBhcmFtICBUU1BpbiBzcGVjaWZpZXMgdGhlIFJUQyBUaW1lc3RhbXAgUGluLgorICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisgICogICAgICAgICAgICBAYXJnIExMX1JUQ19UaW1lU3RhbXBQaW5fRGVmYXVsdDogUlRDX0FGMSBpcyB1c2VkIGFzIFJUQyBUaW1lc3RhbXAgUGluLgorICAqICAgICAgICAgICAgQGFyZyBMTF9SVENfVGltZVN0YW1wUGluX1BvczE6IFJUQ19BRjIgaXMgdXNlZCBhcyBSVEMgVGltZXN0YW1wIFBpbi4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIExMX1JUQ19UU19TZXRQaW4oUlRDX1R5cGVEZWYgKlJUQ3gsIHVpbnQzMl90IFRTUGluKQoreworICBNT0RJRllfUkVHKFJUQ3gtPk9SLCBSVENfT1JfVFNJTlNFTCwgVFNQaW4pOworfQorCisvKioKKyAgKiBAYnJpZWYgIEdldCB0aW1lc3RhbXAgUGluCisgICogQHJtdG9sbCBUQU1QQ1IgICAgICAgVFNJTlNFTCAgICAgIExMX1JUQ19UU19HZXRQaW4KKyAgKiBAcGFyYW0gIFJUQ3ggUlRDIEluc3RhbmNlCisgICogQHJldHZhbCBSZXR1cm5lZCB2YWx1ZSBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgorICAqICAgICAgICAgICAgQGFyZyBMTF9SVENfVGltZVN0YW1wUGluX0RlZmF1bHQ6IFJUQ19BRjEgaXMgdXNlZCBhcyBSVEMgVGltZXN0YW1wIFBpbi4KKyAgKiAgICAgICAgICAgIEBhcmcgTExfUlRDX1RpbWVTdGFtcFBpbl9Qb3MxOiBSVENfQUYyIGlzIHVzZWQgYXMgUlRDIFRpbWVzdGFtcCBQaW4uCisgICogQHJldHZhbCBOb25lCisgICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX1RTX0dldFBpbihSVENfVHlwZURlZiAqUlRDeCkKK3sKKyAgcmV0dXJuICh1aW50MzJfdCkoUkVBRF9CSVQoUlRDeC0+T1IsIFJUQ19PUl9UU0lOU0VMKSk7Cit9CisKKy8qKgogICAqIEB9CiAgICovCiAKQEAgLTI1NjgsMTAgKzI1OTMsMTAgQEAKICAgKiAgICAgICAgIFRBTVBDUiAgICAgICBUQU1QM0UgICAgICAgIExMX1JUQ19UQU1QRVJfRW5hYmxlCiAgICogQHBhcmFtICBSVEN4IFJUQyBJbnN0YW5jZQogICAqIEBwYXJhbSAgVGFtcGVyIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgotICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfMSAKLSAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfVEFNUEVSXzIgCi0gICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX1RBTVBFUl8zIAotICAqICAgICAgICAgCisgICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX1RBTVBFUl8xCisgICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX1RBTVBFUl8yCisgICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX1RBTVBFUl8zCisgICoKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fU1RBVElDX0lOTElORSB2b2lkIExMX1JUQ19UQU1QRVJfRW5hYmxlKFJUQ19UeXBlRGVmICpSVEN4LCB1aW50MzJfdCBUYW1wZXIpCkBAIC0yNTg2LDEwICsyNjExLDEwIEBACiAgICogICAgICAgICBUQU1QQ1IgICAgICAgVEFNUDNFICAgICAgICBMTF9SVENfVEFNUEVSX0Rpc2FibGUKICAgKiBAcGFyYW0gIFJUQ3ggUlRDIEluc3RhbmNlCiAgICogQHBhcmFtICBUYW1wZXIgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6Ci0gICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX1RBTVBFUl8xIAotICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfMiAKLSAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfVEFNUEVSXzMgCi0gICogICAgICAgICAKKyAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfVEFNUEVSXzEKKyAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfVEFNUEVSXzIKKyAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfVEFNUEVSXzMKKyAgKgogICAqIEByZXR2YWwgTm9uZQogICAqLwogX19TVEFUSUNfSU5MSU5FIHZvaWQgTExfUlRDX1RBTVBFUl9EaXNhYmxlKFJUQ19UeXBlRGVmICpSVEN4LCB1aW50MzJfdCBUYW1wZXIpCkBAIC0yNjA1LDEwICsyNjMwLDEwIEBACiAgICogICAgICAgICBUQU1QQ1IgICAgICAgVEFNUDNNRiAgICAgICBMTF9SVENfVEFNUEVSX0VuYWJsZU1hc2sKICAgKiBAcGFyYW0gIFJUQ3ggUlRDIEluc3RhbmNlCiAgICogQHBhcmFtICBNYXNrIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgotICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfTUFTS19UQU1QRVIxIAotICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfTUFTS19UQU1QRVIyIAotICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfTUFTS19UQU1QRVIzIAotICAqICAgICAgICAgCisgICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX1RBTVBFUl9NQVNLX1RBTVBFUjEKKyAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfVEFNUEVSX01BU0tfVEFNUEVSMgorICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfTUFTS19UQU1QRVIzCisgICoKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fU1RBVElDX0lOTElORSB2b2lkIExMX1JUQ19UQU1QRVJfRW5hYmxlTWFzayhSVENfVHlwZURlZiAqUlRDeCwgdWludDMyX3QgTWFzaykKQEAgLTI2MjMsMTAgKzI2NDgsMTAgQEAKICAgKiAgICAgICAgIFRBTVBDUiAgICAgICBUQU1QM01GICAgICAgIExMX1JUQ19UQU1QRVJfRGlzYWJsZU1hc2sKICAgKiBAcGFyYW0gIFJUQ3ggUlRDIEluc3RhbmNlCiAgICogQHBhcmFtICBNYXNrIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgotICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfTUFTS19UQU1QRVIxIAotICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfTUFTS19UQU1QRVIyIAotICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfTUFTS19UQU1QRVIzIAotICAqICAgICAgICAgCisgICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX1RBTVBFUl9NQVNLX1RBTVBFUjEKKyAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfVEFNUEVSX01BU0tfVEFNUEVSMgorICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfTUFTS19UQU1QRVIzCisgICoKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fU1RBVElDX0lOTElORSB2b2lkIExMX1JUQ19UQU1QRVJfRGlzYWJsZU1hc2soUlRDX1R5cGVEZWYgKlJUQ3gsIHVpbnQzMl90IE1hc2spCkBAIC0yNjQxLDEwICsyNjY2LDEwIEBACiAgICogICAgICAgICBUQU1QQ1IgICAgICAgVEFNUDNOT0VSQVNFICBMTF9SVENfVEFNUEVSX0VuYWJsZUVyYXNlQktQCiAgICogQHBhcmFtICBSVEN4IFJUQyBJbnN0YW5jZQogICAqIEBwYXJhbSAgVGFtcGVyIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgotICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfTk9FUkFTRV9UQU1QRVIxIAotICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfTk9FUkFTRV9UQU1QRVIyIAotICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfTk9FUkFTRV9UQU1QRVIzIAotICAqICAgICAgICAgCisgICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX1RBTVBFUl9OT0VSQVNFX1RBTVBFUjEKKyAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfVEFNUEVSX05PRVJBU0VfVEFNUEVSMgorICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfTk9FUkFTRV9UQU1QRVIzCisgICoKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fU1RBVElDX0lOTElORSB2b2lkIExMX1JUQ19UQU1QRVJfRW5hYmxlRXJhc2VCS1AoUlRDX1R5cGVEZWYgKlJUQ3gsIHVpbnQzMl90IFRhbXBlcikKQEAgLTI2NTksMTAgKzI2ODQsMTAgQEAKICAgKiAgICAgICAgIFRBTVBDUiAgICAgICBUQU1QM05PRVJBU0UgIExMX1JUQ19UQU1QRVJfRGlzYWJsZUVyYXNlQktQCiAgICogQHBhcmFtICBSVEN4IFJUQyBJbnN0YW5jZQogICAqIEBwYXJhbSAgVGFtcGVyIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgotICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfTk9FUkFTRV9UQU1QRVIxIAotICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfTk9FUkFTRV9UQU1QRVIyIAotICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfTk9FUkFTRV9UQU1QRVIzIAotICAqICAgICAgICAgCisgICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX1RBTVBFUl9OT0VSQVNFX1RBTVBFUjEKKyAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfVEFNUEVSX05PRVJBU0VfVEFNUEVSMgorICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfTk9FUkFTRV9UQU1QRVIzCisgICoKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fU1RBVElDX0lOTElORSB2b2lkIExMX1JUQ19UQU1QRVJfRGlzYWJsZUVyYXNlQktQKFJUQ19UeXBlRGVmICpSVEN4LCB1aW50MzJfdCBUYW1wZXIpCkBAIC0yNjcwLDcgKzI2OTUsNiBAQAogICBTRVRfQklUKFJUQ3gtPlRBTVBDUiwgVGFtcGVyKTsKIH0KIAotI2lmIGRlZmluZWQoUlRDX1RBTVBDUl9UQU1QUFVESVMpCiAvKioKICAgKiBAYnJpZWYgIERpc2FibGUgUlRDX1RBTVB4IHB1bGwtdXAgZGlzYWJsZSAoRGlzYWJsZSBwcmVjaGFyZ2Ugb2YgUlRDX1RBTVB4IHBpbnMpCiAgICogQHJtdG9sbCBUQU1QQ1IgICAgICAgVEFNUFBVRElTICAgICBMTF9SVENfVEFNUEVSX0Rpc2FibGVQdWxsVXAKQEAgLTI2OTIsOSArMjcxNiw3IEBACiB7CiAgIENMRUFSX0JJVChSVEN4LT5UQU1QQ1IsIFJUQ19UQU1QQ1JfVEFNUFBVRElTKTsKIH0KLSNlbmRpZiAvKiBSVENfVEFNUENSX1RBTVBQVURJUyAqLwogCi0jaWYgZGVmaW5lZChSVENfVEFNUENSX1RBTVBQUkNIKQogLyoqCiAgICogQGJyaWVmICBTZXQgUlRDX1RBTVB4IHByZWNoYXJnZSBkdXJhdGlvbgogICAqIEBybXRvbGwgVEFNUENSICAgICAgIFRBTVBQUkNIICAgICAgTExfUlRDX1RBTVBFUl9TZXRQcmVjaGFyZ2UKQEAgLTI3MjUsOSArMjc0Nyw3IEBACiB7CiAgIHJldHVybiAodWludDMyX3QpKFJFQURfQklUKFJUQ3gtPlRBTVBDUiwgUlRDX1RBTVBDUl9UQU1QUFJDSCkpOwogfQotI2VuZGlmIC8qIFJUQ19UQU1QQ1JfVEFNUFBSQ0ggKi8KIAotI2lmIGRlZmluZWQoUlRDX1RBTVBDUl9UQU1QRkxUKQogLyoqCiAgICogQGJyaWVmICBTZXQgUlRDX1RBTVB4IGZpbHRlciBjb3VudAogICAqIEBybXRvbGwgVEFNUENSICAgICAgIFRBTVBGTFQgICAgICAgTExfUlRDX1RBTVBFUl9TZXRGaWx0ZXJDb3VudApAQCAtMjc1OCw5ICsyNzc4LDcgQEAKIHsKICAgcmV0dXJuICh1aW50MzJfdCkoUkVBRF9CSVQoUlRDeC0+VEFNUENSLCBSVENfVEFNUENSX1RBTVBGTFQpKTsKIH0KLSNlbmRpZiAvKiBSVENfVEFNUENSX1RBTVBGTFQgKi8KIAotI2lmIGRlZmluZWQoUlRDX1RBTVBDUl9UQU1QRlJFUSkKIC8qKgogICAqIEBicmllZiAgU2V0IFRhbXBlciBzYW1wbGluZyBmcmVxdWVuY3kKICAgKiBAcm10b2xsIFRBTVBDUiAgICAgICBUQU1QRlJFUSAgICAgIExMX1JUQ19UQU1QRVJfU2V0U2FtcGxpbmdGcmVxCkBAIC0yNzk5LDcgKzI4MTcsNiBAQAogewogICByZXR1cm4gKHVpbnQzMl90KShSRUFEX0JJVChSVEN4LT5UQU1QQ1IsIFJUQ19UQU1QQ1JfVEFNUEZSRVEpKTsKIH0KLSNlbmRpZiAvKiBSVENfVEFNUENSX1RBTVBGUkVRICovCiAKIC8qKgogICAqIEBicmllZiAgRW5hYmxlIEFjdGl2ZSBsZXZlbCBmb3IgVGFtcGVyIGlucHV0CkBAIC0yODA4LDEwICsyODI1LDEwIEBACiAgICogICAgICAgICBUQU1QQ1IgICAgICAgVEFNUDNUUkcgICAgICBMTF9SVENfVEFNUEVSX0VuYWJsZUFjdGl2ZUxldmVsCiAgICogQHBhcmFtICBSVEN4IFJUQyBJbnN0YW5jZQogICAqIEBwYXJhbSAgVGFtcGVyIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgotICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfQUNUSVZFTEVWRUxfVEFNUDEgCi0gICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX1RBTVBFUl9BQ1RJVkVMRVZFTF9UQU1QMiAKLSAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfVEFNUEVSX0FDVElWRUxFVkVMX1RBTVAzIAotICAqICAgICAgICAgCisgICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX1RBTVBFUl9BQ1RJVkVMRVZFTF9UQU1QMQorICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfQUNUSVZFTEVWRUxfVEFNUDIKKyAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfVEFNUEVSX0FDVElWRUxFVkVMX1RBTVAzCisgICoKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fU1RBVElDX0lOTElORSB2b2lkIExMX1JUQ19UQU1QRVJfRW5hYmxlQWN0aXZlTGV2ZWwoUlRDX1R5cGVEZWYgKlJUQ3gsIHVpbnQzMl90IFRhbXBlcikKQEAgLTI4MjYsMTAgKzI4NDMsMTAgQEAKICAgKiAgICAgICAgIFRBTVBDUiAgICAgICBUQU1QM1RSRyAgICAgIExMX1JUQ19UQU1QRVJfRGlzYWJsZUFjdGl2ZUxldmVsCiAgICogQHBhcmFtICBSVEN4IFJUQyBJbnN0YW5jZQogICAqIEBwYXJhbSAgVGFtcGVyIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgotICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfQUNUSVZFTEVWRUxfVEFNUDEgCi0gICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX1RBTVBFUl9BQ1RJVkVMRVZFTF9UQU1QMiAKLSAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfVEFNUEVSX0FDVElWRUxFVkVMX1RBTVAzIAotICAqICAgICAgICAgCisgICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX1RBTVBFUl9BQ1RJVkVMRVZFTF9UQU1QMQorICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfQUNUSVZFTEVWRUxfVEFNUDIKKyAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfVEFNUEVSX0FDVElWRUxFVkVMX1RBTVAzCisgICoKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fU1RBVElDX0lOTElORSB2b2lkIExMX1JUQ19UQU1QRVJfRGlzYWJsZUFjdGl2ZUxldmVsKFJUQ19UeXBlRGVmICpSVEN4LCB1aW50MzJfdCBUYW1wZXIpCkBAIC0yODc3LDEzICsyODk0LDEzIEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX1dBS0VVUF9Jc0VuYWJsZWQoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAoUkVBRF9CSVQoUlRDeC0+Q1IsIFJUQ19DUl9XVVRFKSA9PSAoUlRDX0NSX1dVVEUpKTsKKyAgcmV0dXJuICgoUkVBRF9CSVQoUlRDeC0+Q1IsIFJUQ19DUl9XVVRFKSA9PSAoUlRDX0NSX1dVVEUpKSA/IDFVTCA6IDBVTCk7CiB9CiAKIC8qKgogICAqIEBicmllZiAgU2VsZWN0IFdha2V1cCBjbG9jawogICAqIEBub3RlICAgQml0IGlzIHdyaXRlLXByb3RlY3RlZC4gQHJlZiBMTF9SVENfRGlzYWJsZVdyaXRlUHJvdGVjdGlvbiBmdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIGJlZm9yZS4KLSAgKiBAbm90ZSBCaXQgY2FuIGJlIHdyaXR0ZW4gb25seSB3aGVuIFJUQ19DUiBXVVRFIGJpdCA9IDAgYW5kIFJUQ19JU1IgV1VUV0YgYml0ID0gMQorICAqIEBub3RlICAgQml0IGNhbiBiZSB3cml0dGVuIG9ubHkgd2hlbiBSVENfQ1IgV1VURSBiaXQgPSAwIGFuZCBSVENfSVNSIFdVVFdGIGJpdCA9IDEKICAgKiBAcm10b2xsIENSICAgICAgICAgICBXVUNLU0VMICAgICAgIExMX1JUQ19XQUtFVVBfU2V0Q2xvY2sKICAgKiBAcGFyYW0gIFJUQ3ggUlRDIEluc3RhbmNlCiAgICogQHBhcmFtICBXYWtldXBDbG9jayBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgpAQCAtMjkxOSw3ICsyOTM2LDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBTZXQgV2FrZXVwIGF1dG8tcmVsb2FkIHZhbHVlCi0gICogQG5vdGUgQml0IGNhbiBiZSB3cml0dGVuIG9ubHkgd2hlbiBXVVRXRiBpcyBzZXQgdG8gMSBpbiBSVENfSVNSCisgICogQG5vdGUgICBCaXQgY2FuIGJlIHdyaXR0ZW4gb25seSB3aGVuIFdVVFdGIGlzIHNldCB0byAxIGluIFJUQ19JU1IKICAgKiBAcm10b2xsIFdVVFIgICAgICAgICBXVVQgICAgICAgICAgIExMX1JUQ19XQUtFVVBfU2V0QXV0b1JlbG9hZAogICAqIEBwYXJhbSAgUlRDeCBSVEMgSW5zdGFuY2UKICAgKiBAcGFyYW0gIFZhbHVlIFZhbHVlIGJldHdlZW4gTWluX0RhdGE9MHgwMCBhbmQgTWF4X0RhdGE9MHhGRkZGCkBAIC0yOTkxLDEzICszMDA4LDEzIEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdm9pZCBMTF9SVENfQkFLX1NldFJlZ2lzdGVyKFJUQ19UeXBlRGVmICpSVEN4LCB1aW50MzJfdCBCYWNrdXBSZWdpc3RlciwgdWludDMyX3QgRGF0YSkKIHsKLSAgdWludDMyX3QgdG1wID0gMFU7CisgIHVpbnQzMl90IHRlbXA7CiAKLSAgdG1wID0gKHVpbnQzMl90KSgmKFJUQ3gtPkJLUDBSKSk7Ci0gIHRtcCArPSAoQmFja3VwUmVnaXN0ZXIgKiA0VSk7CisgIHRlbXAgPSAodWludDMyX3QpKCYoUlRDeC0+QktQMFIpKTsKKyAgdGVtcCArPSAoQmFja3VwUmVnaXN0ZXIgKiA0VSk7CiAKICAgLyogV3JpdGUgdGhlIHNwZWNpZmllZCByZWdpc3RlciAqLwotICAqKF9fSU8gdWludDMyX3QgKil0bXAgPSAodWludDMyX3QpRGF0YTsKKyAgKihfX0lPIHVpbnQzMl90ICopdGVtcCA9ICh1aW50MzJfdClEYXRhOwogfQogCiAvKioKQEAgLTMwNDEsMTMgKzMwNTgsMTMgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfQkFLX0dldFJlZ2lzdGVyKFJUQ19UeXBlRGVmICpSVEN4LCB1aW50MzJfdCBCYWNrdXBSZWdpc3RlcikKIHsKLSAgdWludDMyX3QgdG1wID0gMFU7CisgIHVpbnQzMl90IHRlbXA7CiAKLSAgdG1wID0gKHVpbnQzMl90KSgmKFJUQ3gtPkJLUDBSKSk7Ci0gIHRtcCArPSAoQmFja3VwUmVnaXN0ZXIgKiA0VSk7CisgIHRlbXAgPSAodWludDMyX3QpKCYoUlRDeC0+QktQMFIpKTsKKyAgdGVtcCArPSAoQmFja3VwUmVnaXN0ZXIgKiA0VSk7CiAKICAgLyogUmVhZCB0aGUgc3BlY2lmaWVkIHJlZ2lzdGVyICovCi0gIHJldHVybiAoKihfX0lPIHVpbnQzMl90ICopdG1wKTsKKyAgcmV0dXJuICgqKF9fSU8gdWludDMyX3QgKil0ZW1wKTsKIH0KIAogLyoqCkBAIC0zMDY4LDYgKzMwODUsNyBAQAogICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19DQUxJQl9PVVRQVVRfTk9ORQogICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19DQUxJQl9PVVRQVVRfMUhaCiAgICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX0NBTElCX09VVFBVVF81MTJIWgorICAqCiAgICogQHJldHZhbCBOb25lCiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdm9pZCBMTF9SVENfQ0FMX1NldE91dHB1dEZyZXEoUlRDX1R5cGVEZWYgKlJUQ3gsIHVpbnQzMl90IEZyZXF1ZW5jeSkKQEAgLTMwODQsNiArMzEwMiw3IEBACiAgICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX0NBTElCX09VVFBVVF9OT05FCiAgICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX0NBTElCX09VVFBVVF8xSFoKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfQ0FMSUJfT1VUUFVUXzUxMkhaCisgICoKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfQ0FMX0dldE91dHB1dEZyZXEoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7CkBAIC0zMDkzLDcgKzMxMTIsNyBAQAogLyoqCiAgICogQGJyaWVmICBJbnNlcnQgb3Igbm90IE9uZSBSVENDTEsgcHVsc2UgZXZlcnkgMmV4cDExIHB1bHNlcyAoZnJlcXVlbmN5IGluY3JlYXNlZCBieSA0ODguNSBwcG0pCiAgICogQG5vdGUgICBCaXQgaXMgd3JpdGUtcHJvdGVjdGVkLiBAcmVmIExMX1JUQ19EaXNhYmxlV3JpdGVQcm90ZWN0aW9uIGZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgYmVmb3JlLgotICAqIEBub3RlIEJpdCBjYW4gYmUgd3JpdHRlbiBvbmx5IHdoZW4gUkVDQUxQRiBpcyBzZXQgdG8gMCBpbiBSVENfSVNSCisgICogQG5vdGUgICBCaXQgY2FuIGJlIHdyaXR0ZW4gb25seSB3aGVuIFJFQ0FMUEYgaXMgc2V0IHRvIDAgaW4gUlRDX0lTUgogICAqIEBybXRvbGwgQ0FMUiAgICAgICAgIENBTFAgICAgICAgICAgTExfUlRDX0NBTF9TZXRQdWxzZQogICAqIEBwYXJhbSAgUlRDeCBSVEMgSW5zdGFuY2UKICAgKiBAcGFyYW0gIFB1bHNlIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CkBAIC0zMTE0LDExICszMTMzLDExIEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX0NBTF9Jc1B1bHNlSW5zZXJ0ZWQoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAoUkVBRF9CSVQoUlRDeC0+Q0FMUiwgUlRDX0NBTFJfQ0FMUCkgPT0gKFJUQ19DQUxSX0NBTFApKTsKKyAgcmV0dXJuICgoUkVBRF9CSVQoUlRDeC0+Q0FMUiwgUlRDX0NBTFJfQ0FMUCkgPT0gKFJUQ19DQUxSX0NBTFApKSA/IDFVTCA6IDBVTCk7CiB9CiAKIC8qKgotICAqIEBicmllZiAgU2V0IHRoZSBjYWxpYnJhdGlvbiBjeWNsZSBwZXJpb2QKKyAgKiBAYnJpZWYgIFNldCBzbW9vdGggY2FsaWJyYXRpb24gY3ljbGUgcGVyaW9kCiAgICogQG5vdGUgICBCaXQgaXMgd3JpdGUtcHJvdGVjdGVkLiBAcmVmIExMX1JUQ19EaXNhYmxlV3JpdGVQcm90ZWN0aW9uIGZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgYmVmb3JlLgogICAqIEBub3RlICAgQml0IGNhbiBiZSB3cml0dGVuIG9ubHkgd2hlbiBSRUNBTFBGIGlzIHNldCB0byAwIGluIFJUQ19JU1IKICAgKiBAcm10b2xsIENBTFIgICAgICAgICBDQUxXOCAgICAgICAgIExMX1JUQ19DQUxfU2V0UGVyaW9kXG4KQEAgLTMxMzYsNyArMzE1NSw3IEBACiB9CiAKIC8qKgotICAqIEBicmllZiAgR2V0IHRoZSBjYWxpYnJhdGlvbiBjeWNsZSBwZXJpb2QKKyAgKiBAYnJpZWYgIEdldCBzbW9vdGggY2FsaWJyYXRpb24gY3ljbGUgcGVyaW9kCiAgICogQHJtdG9sbCBDQUxSICAgICAgICAgQ0FMVzggICAgICAgICBMTF9SVENfQ0FMX0dldFBlcmlvZFxuCiAgICogICAgICAgICBDQUxSICAgICAgICAgQ0FMVzE2ICAgICAgICBMTF9SVENfQ0FMX0dldFBlcmlvZAogICAqIEBwYXJhbSAgUlRDeCBSVEMgSW5zdGFuY2UKQEAgLTMxNTEsNyArMzE3MCw3IEBACiB9CiAKIC8qKgotICAqIEBicmllZiAgU2V0IENhbGlicmF0aW9uIG1pbnVzCisgICogQGJyaWVmICBTZXQgc21vb3RoIENhbGlicmF0aW9uIG1pbnVzCiAgICogQG5vdGUgICBCaXQgaXMgd3JpdGUtcHJvdGVjdGVkLiBAcmVmIExMX1JUQ19EaXNhYmxlV3JpdGVQcm90ZWN0aW9uIGZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgYmVmb3JlLgogICAqIEBub3RlICAgQml0IGNhbiBiZSB3cml0dGVuIG9ubHkgd2hlbiBSRUNBTFBGIGlzIHNldCB0byAwIGluIFJUQ19JU1IKICAgKiBAcm10b2xsIENBTFIgICAgICAgICBDQUxNICAgICAgICAgIExMX1JUQ19DQUxfU2V0TWludXMKQEAgLTMxNjUsNyArMzE4NCw3IEBACiB9CiAKIC8qKgotICAqIEBicmllZiAgR2V0IENhbGlicmF0aW9uIG1pbnVzCisgICogQGJyaWVmICBHZXQgc21vb3RoIENhbGlicmF0aW9uIG1pbnVzCiAgICogQHJtdG9sbCBDQUxSICAgICAgICAgQ0FMTSAgICAgICAgICBMTF9SVENfQ0FMX0dldE1pbnVzCiAgICogQHBhcmFtICBSVEN4IFJUQyBJbnN0YW5jZQogICAqIEByZXR2YWwgVmFsdWUgYmV0d2VlbiBNaW5fRGF0YT0weDAwIGFuZCBNYXhfRGF0YT0gMHgxRkYKQEAgLTMxOTEsNyArMzIxMCw3IEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX0lzQWN0aXZlRmxhZ19JVFMoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAoUkVBRF9CSVQoUlRDeC0+SVNSLCBSVENfSVNSX0lUU0YpID09IChSVENfSVNSX0lUU0YpKTsKKyAgcmV0dXJuICgoUkVBRF9CSVQoUlRDeC0+SVNSLCBSVENfSVNSX0lUU0YpID09IChSVENfSVNSX0lUU0YpKSA/IDFVTCA6IDBVTCk7CiB9CiAKIC8qKgpAQCAtMzIwMiw3ICszMjIxLDcgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfSXNBY3RpdmVGbGFnX1JFQ0FMUChSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgcmV0dXJuIChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfUkVDQUxQRikgPT0gKFJUQ19JU1JfUkVDQUxQRikpOworICByZXR1cm4gKChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfUkVDQUxQRikgPT0gKFJUQ19JU1JfUkVDQUxQRikpID8gMVVMIDogMFVMKTsKIH0KIAogLyoqCkBAIC0zMjEzLDcgKzMyMzIsNyBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19Jc0FjdGl2ZUZsYWdfVEFNUDMoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAoUkVBRF9CSVQoUlRDeC0+SVNSLCBSVENfSVNSX1RBTVAzRikgPT0gKFJUQ19JU1JfVEFNUDNGKSk7CisgIHJldHVybiAoKFJFQURfQklUKFJUQ3gtPklTUiwgUlRDX0lTUl9UQU1QM0YpID09IChSVENfSVNSX1RBTVAzRikpID8gMVVMIDogMFVMKTsKIH0KIAogLyoqCkBAIC0zMjI0LDcgKzMyNDMsNyBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19Jc0FjdGl2ZUZsYWdfVEFNUDIoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAoUkVBRF9CSVQoUlRDeC0+SVNSLCBSVENfSVNSX1RBTVAyRikgPT0gKFJUQ19JU1JfVEFNUDJGKSk7CisgIHJldHVybiAoKFJFQURfQklUKFJUQ3gtPklTUiwgUlRDX0lTUl9UQU1QMkYpID09IChSVENfSVNSX1RBTVAyRikpID8gMVVMIDogMFVMKTsKIH0KIAogLyoqCkBAIC0zMjM1LDcgKzMyNTQsNyBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19Jc0FjdGl2ZUZsYWdfVEFNUDEoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAoUkVBRF9CSVQoUlRDeC0+SVNSLCBSVENfSVNSX1RBTVAxRikgPT0gKFJUQ19JU1JfVEFNUDFGKSk7CisgIHJldHVybiAoKFJFQURfQklUKFJUQ3gtPklTUiwgUlRDX0lTUl9UQU1QMUYpID09IChSVENfSVNSX1RBTVAxRikpID8gMVVMIDogMFVMKTsKIH0KIAogLyoqCkBAIC0zMjQ2LDcgKzMyNjUsNyBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19Jc0FjdGl2ZUZsYWdfVFNPVihSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgcmV0dXJuIChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfVFNPVkYpID09IChSVENfSVNSX1RTT1ZGKSk7CisgIHJldHVybiAoKFJFQURfQklUKFJUQ3gtPklTUiwgUlRDX0lTUl9UU09WRikgPT0gKFJUQ19JU1JfVFNPVkYpKSA/IDFVTCA6IDBVTCk7CiB9CiAKIC8qKgpAQCAtMzI1Nyw3ICszMjc2LDcgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfSXNBY3RpdmVGbGFnX1RTKFJUQ19UeXBlRGVmICpSVEN4KQogewotICByZXR1cm4gKFJFQURfQklUKFJUQ3gtPklTUiwgUlRDX0lTUl9UU0YpID09IChSVENfSVNSX1RTRikpOworICByZXR1cm4gKChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfVFNGKSA9PSAoUlRDX0lTUl9UU0YpKSA/IDFVTCA6IDBVTCk7CiB9CiAKIC8qKgpAQCAtMzI2OCw3ICszMjg3LDcgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfSXNBY3RpdmVGbGFnX1dVVChSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgcmV0dXJuIChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfV1VURikgPT0gKFJUQ19JU1JfV1VURikpOworICByZXR1cm4gKChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfV1VURikgPT0gKFJUQ19JU1JfV1VURikpID8gMVVMIDogMFVMKTsKIH0KIAogLyoqCkBAIC0zMjc5LDcgKzMyOTgsNyBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19Jc0FjdGl2ZUZsYWdfQUxSQihSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgcmV0dXJuIChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfQUxSQkYpID09IChSVENfSVNSX0FMUkJGKSk7CisgIHJldHVybiAoKFJFQURfQklUKFJUQ3gtPklTUiwgUlRDX0lTUl9BTFJCRikgPT0gKFJUQ19JU1JfQUxSQkYpKSA/IDFVTCA6IDBVTCk7CiB9CiAKIC8qKgpAQCAtMzI5MCw3ICszMzA5LDcgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfSXNBY3RpdmVGbGFnX0FMUkEoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAoUkVBRF9CSVQoUlRDeC0+SVNSLCBSVENfSVNSX0FMUkFGKSA9PSAoUlRDX0lTUl9BTFJBRikpOworICByZXR1cm4gKChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfQUxSQUYpID09IChSVENfSVNSX0FMUkFGKSkgPyAxVUwgOiAwVUwpOwogfQogCiAvKioKQEAgLTM0MDAsNyArMzQxOSw3IEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX0lzQWN0aXZlRmxhZ19JTklUKFJUQ19UeXBlRGVmICpSVEN4KQogewotICByZXR1cm4gKFJFQURfQklUKFJUQ3gtPklTUiwgUlRDX0lTUl9JTklURikgPT0gKFJUQ19JU1JfSU5JVEYpKTsKKyAgcmV0dXJuICgoUkVBRF9CSVQoUlRDeC0+SVNSLCBSVENfSVNSX0lOSVRGKSA9PSAoUlRDX0lTUl9JTklURikpID8gMVVMIDogMFVMKTsKIH0KIAogLyoqCkBAIC0zNDExLDcgKzM0MzAsNyBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19Jc0FjdGl2ZUZsYWdfUlMoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAoUkVBRF9CSVQoUlRDeC0+SVNSLCBSVENfSVNSX1JTRikgPT0gKFJUQ19JU1JfUlNGKSk7CisgIHJldHVybiAoKFJFQURfQklUKFJUQ3gtPklTUiwgUlRDX0lTUl9SU0YpID09IChSVENfSVNSX1JTRikpID8gMVVMIDogMFVMKTsKIH0KIAogLyoqCkBAIC0zNDMzLDcgKzM0NTIsNyBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19Jc0FjdGl2ZUZsYWdfSU5JVFMoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAoUkVBRF9CSVQoUlRDeC0+SVNSLCBSVENfSVNSX0lOSVRTKSA9PSAoUlRDX0lTUl9JTklUUykpOworICByZXR1cm4gKChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfSU5JVFMpID09IChSVENfSVNSX0lOSVRTKSkgPyAxVUwgOiAwVUwpOwogfQogCiAvKioKQEAgLTM0NDQsNyArMzQ2Myw3IEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX0lzQWN0aXZlRmxhZ19TSFAoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAoUkVBRF9CSVQoUlRDeC0+SVNSLCBSVENfSVNSX1NIUEYpID09IChSVENfSVNSX1NIUEYpKTsKKyAgcmV0dXJuICgoUkVBRF9CSVQoUlRDeC0+SVNSLCBSVENfSVNSX1NIUEYpID09IChSVENfSVNSX1NIUEYpKSA/IDFVTCA6IDBVTCk7CiB9CiAKIC8qKgpAQCAtMzQ1NSw3ICszNDc0LDcgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfSXNBY3RpdmVGbGFnX1dVVFcoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAoUkVBRF9CSVQoUlRDeC0+SVNSLCBSVENfSVNSX1dVVFdGKSA9PSAoUlRDX0lTUl9XVVRXRikpOworICByZXR1cm4gKChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfV1VUV0YpID09IChSVENfSVNSX1dVVFdGKSkgPyAxVUwgOiAwVUwpOwogfQogCiAvKioKQEAgLTM0NjYsNyArMzQ4NSw3IEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX0lzQWN0aXZlRmxhZ19BTFJCVyhSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgcmV0dXJuIChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfQUxSQldGKSA9PSAoUlRDX0lTUl9BTFJCV0YpKTsKKyAgcmV0dXJuICgoUkVBRF9CSVQoUlRDeC0+SVNSLCBSVENfSVNSX0FMUkJXRikgPT0gKFJUQ19JU1JfQUxSQldGKSkgPyAxVUwgOiAwVUwpOwogfQogCiAvKioKQEAgLTM0NzcsNyArMzQ5Niw3IEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX0lzQWN0aXZlRmxhZ19BTFJBVyhSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgcmV0dXJuIChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfQUxSQVdGKSA9PSAoUlRDX0lTUl9BTFJBV0YpKTsKKyAgcmV0dXJuICgoUkVBRF9CSVQoUlRDeC0+SVNSLCBSVENfSVNSX0FMUkFXRikgPT0gKFJUQ19JU1JfQUxSQVdGKSkgPyAxVUwgOiAwVUwpOwogfQogCiAvKioKQEAgLTM2ODAsNyArMzY5OSw3IEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX0lzRW5hYmxlZElUX1RTKFJUQ19UeXBlRGVmICpSVEN4KQogewotICByZXR1cm4gKFJFQURfQklUKFJUQ3gtPkNSLCBSVENfQ1JfVFNJRSkgPT0gKFJUQ19DUl9UU0lFKSk7CisgIHJldHVybiAoKFJFQURfQklUKFJUQ3gtPkNSLCBSVENfQ1JfVFNJRSkgPT0gKFJUQ19DUl9UU0lFKSkgPyAxVUwgOiAwVUwpOwogfQogCiAvKioKQEAgLTM2OTEsNyArMzcxMCw3IEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX0lzRW5hYmxlZElUX1dVVChSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgcmV0dXJuIChSRUFEX0JJVChSVEN4LT5DUiwgUlRDX0NSX1dVVElFKSA9PSAoUlRDX0NSX1dVVElFKSk7CisgIHJldHVybiAoKFJFQURfQklUKFJUQ3gtPkNSLCBSVENfQ1JfV1VUSUUpID09IChSVENfQ1JfV1VUSUUpKSA/IDFVTCA6IDBVTCk7CiB9CiAKIC8qKgpAQCAtMzcwMiw3ICszNzIxLDcgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfSXNFbmFibGVkSVRfQUxSQihSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgcmV0dXJuIChSRUFEX0JJVChSVEN4LT5DUiwgUlRDX0NSX0FMUkJJRSkgPT0gKFJUQ19DUl9BTFJCSUUpKTsKKyAgcmV0dXJuICgoUkVBRF9CSVQoUlRDeC0+Q1IsIFJUQ19DUl9BTFJCSUUpID09IChSVENfQ1JfQUxSQklFKSkgPyAxVUwgOiAwVUwpOwogfQogCiAvKioKQEAgLTM3MTMsNyArMzczMiw3IEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX0lzRW5hYmxlZElUX0FMUkEoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAoUkVBRF9CSVQoUlRDeC0+Q1IsIFJUQ19DUl9BTFJBSUUpID09IChSVENfQ1JfQUxSQUlFKSk7CisgIHJldHVybiAoKFJFQURfQklUKFJUQ3gtPkNSLCBSVENfQ1JfQUxSQUlFKSA9PSAoUlRDX0NSX0FMUkFJRSkpID8gMVVMIDogMFVMKTsKIH0KIAogLyoqCkBAIC0zNzI0LDggKzM3NDMsOCBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19Jc0VuYWJsZWRJVF9UQU1QMyhSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgcmV0dXJuIChSRUFEX0JJVChSVEN4LT5UQU1QQ1IsCi0gICAgICAgICAgICAgICAgICAgUlRDX1RBTVBDUl9UQU1QM0lFKSA9PSAoUlRDX1RBTVBDUl9UQU1QM0lFKSk7CisgIHJldHVybiAoKFJFQURfQklUKFJUQ3gtPlRBTVBDUiwKKyAgICAgICAgICAgICAgICAgICAgUlRDX1RBTVBDUl9UQU1QM0lFKSA9PSAoUlRDX1RBTVBDUl9UQU1QM0lFKSkgPyAxVUwgOiAwVUwpOwogfQogCiAvKioKQEAgLTM3MzYsOCArMzc1NSw4IEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX0lzRW5hYmxlZElUX1RBTVAyKFJUQ19UeXBlRGVmICpSVEN4KQogewotICByZXR1cm4gKFJFQURfQklUKFJUQ3gtPlRBTVBDUiwKLSAgICAgICAgICAgICAgICAgICBSVENfVEFNUENSX1RBTVAySUUpID09IChSVENfVEFNUENSX1RBTVAySUUpKTsKKyAgcmV0dXJuICgoUkVBRF9CSVQoUlRDeC0+VEFNUENSLAorICAgICAgICAgICAgICAgICAgICBSVENfVEFNUENSX1RBTVAySUUpID09IChSVENfVEFNUENSX1RBTVAySUUpKSA/IDFVTCA6IDBVTCk7CiAKIH0KIApAQCAtMzc0OSw4ICszNzY4LDggQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfSXNFbmFibGVkSVRfVEFNUDEoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAoUkVBRF9CSVQoUlRDeC0+VEFNUENSLAotICAgICAgICAgICAgICAgICAgIFJUQ19UQU1QQ1JfVEFNUDFJRSkgPT0gKFJUQ19UQU1QQ1JfVEFNUDFJRSkpOworICByZXR1cm4gKChSRUFEX0JJVChSVEN4LT5UQU1QQ1IsCisgICAgICAgICAgICAgICAgICAgIFJUQ19UQU1QQ1JfVEFNUDFJRSkgPT0gKFJUQ19UQU1QQ1JfVEFNUDFJRSkpID8gMVVMIDogMFVMKTsKIH0KIAogLyoqCkBAIC0zNzYxLDggKzM3ODAsOCBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19Jc0VuYWJsZWRJVF9UQU1QKFJUQ19UeXBlRGVmICpSVEN4KQogewotICByZXR1cm4gKFJFQURfQklUKFJUQ3gtPlRBTVBDUiwKLSAgICAgICAgICAgICAgICAgICBSVENfVEFNUENSX1RBTVBJRSkgPT0gKFJUQ19UQU1QQ1JfVEFNUElFKSk7CisgIHJldHVybiAoKFJFQURfQklUKFJUQ3gtPlRBTVBDUiwKKyAgICAgICAgICAgICAgICAgICAgUlRDX1RBTVBDUl9UQU1QSUUpID09IChSVENfVEFNUENSX1RBTVBJRSkpID8gMVVMIDogMFVMKTsKIH0KIAogLyoqCkBAIC0zODEyLDUgKzM4MzEsNCBAQAogfQogI2VuZGlmCiAKLSNlbmRpZiAvKiBfX1NUTTMyRjd4eF9MTF9SVENfSCAqLwotCisjZW5kaWYgLyogU1RNMzJGN3h4X0xMX1JUQ19IICovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmN3h4X2xsX3RpbS5oIGIvSW5jL3N0bTMyZjd4eF9sbF90aW0uaAppbmRleCA5MjkzMDMzLi5iMjUwNTZhIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmN3h4X2xsX3RpbS5oCisrKyBiL0luYy9zdG0zMmY3eHhfbGxfdGltLmgKQEAgLTM1NjQsMTAgKzM1NjQsMTAgQEAKICAgKiBAYnJpZWYgIFNldCB0aGUgcG9sYXJpdHkgb2YgdGhlIGJyZWFrIHNpZ25hbCBmb3IgdGhlIHRpbWVyIGJyZWFrIGlucHV0LgogICAqIEBub3RlIE1hY3JvIElTX1RJTV9CUkVBS1NPVVJDRV9JTlNUQU5DRShUSU14KSBjYW4gYmUgdXNlZCB0byBjaGVjayB3aGV0aGVyCiAgICogICAgICAgb3Igbm90IGEgdGltZXIgaW5zdGFuY2UgYWxsb3dzIGZvciBicmVhayBpbnB1dCBzZWxlY3Rpb24uCi0gICogQHJtdG9sbCBBRjEgICAgICAgICAgQktJTkUgICAgICAgICAgTExfVElNX1NldEJyZWFrSW5wdXRTb3VyY2VQb2xhcml0eVxuCi0gICogICAgICAgICBBRjEgICAgICAgICAgQktERkJLRSAgICAgICAgTExfVElNX1NldEJyZWFrSW5wdXRTb3VyY2VQb2xhcml0eVxuCi0gICogICAgICAgICBBRjIgICAgICAgICAgQksySU5FICAgICAgICAgTExfVElNX1NldEJyZWFrSW5wdXRTb3VyY2VQb2xhcml0eVxuCi0gICogICAgICAgICBBRjIgICAgICAgICAgQksyREZCS0UgICAgICAgTExfVElNX1NldEJyZWFrSW5wdXRTb3VyY2VQb2xhcml0eQorICAqIEBybXRvbGwgQUYxICAgICAgICAgIEJLSU5QICAgICAgICAgIExMX1RJTV9TZXRCcmVha0lucHV0U291cmNlUG9sYXJpdHlcbgorICAqICAgICAgICAgQUYxICAgICAgICAgIEJLREZCS1AgICAgICAgIExMX1RJTV9TZXRCcmVha0lucHV0U291cmNlUG9sYXJpdHlcbgorICAqICAgICAgICAgQUYyICAgICAgICAgIEJLMklOUCAgICAgICAgIExMX1RJTV9TZXRCcmVha0lucHV0U291cmNlUG9sYXJpdHlcbgorICAqICAgICAgICAgQUYyICAgICAgICAgIEJLMkRGQktQICAgICAgIExMX1RJTV9TZXRCcmVha0lucHV0U291cmNlUG9sYXJpdHkKICAgKiBAcGFyYW0gIFRJTXggVGltZXIgaW5zdGFuY2UKICAgKiBAcGFyYW0gIEJyZWFrSW5wdXQgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9USU1fQlJFQUtfSU5QVVRfQktJTgpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjd4eF9sbF91c2FydC5oIGIvSW5jL3N0bTMyZjd4eF9sbF91c2FydC5oCmluZGV4IGVjNzBhNWQuLmI1MWEzZGIgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY3eHhfbGxfdXNhcnQuaAorKysgYi9JbmMvc3RtMzJmN3h4X2xsX3VzYXJ0LmgKQEAgLTU3NSw3ICs1NzUsNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBTdGF0ZSBvZiBiaXQgKDEgb3IgMCkuCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNFbmFibGVkKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0VuYWJsZWQoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKChSRUFEX0JJVChVU0FSVHgtPkNSMSwgVVNBUlRfQ1IxX1VFKSA9PSAoVVNBUlRfQ1IxX1VFKSkgPyAxVUwgOiAwVUwpOwogfQpAQCAtNjE4LDcgKzYxOCw3IEBACiAgICogQHBhcmFtICBVU0FSVHggVVNBUlQgSW5zdGFuY2UKICAgKiBAcmV0dmFsIFN0YXRlIG9mIGJpdCAoMSBvciAwKS4KICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0VuYWJsZWRJblN0b3BNb2RlKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0VuYWJsZWRJblN0b3BNb2RlKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5DUjEsIFVTQVJUX0NSMV9VRVNNKSA9PSAoVVNBUlRfQ1IxX1VFU00pKSA/IDFVTCA6IDBVTCk7CiB9CkBAIC02NTQsNyArNjU0LDcgQEAKICAgKiBAcGFyYW0gIFVTQVJUeCBVU0FSVCBJbnN0YW5jZQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzQ2xvY2tFbmFibGVkSW5TdG9wTW9kZShVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNDbG9ja0VuYWJsZWRJblN0b3BNb2RlKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuIChSRUFEX0JJVChVU0FSVHgtPkNSMywgVVNBUlRfQ1IzX1VDRVNNKSA9PSAoVVNBUlRfQ1IzX1VDRVNNKSk7CiB9CkBAIC03MzQsNyArNzM0LDcgQEAKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9VU0FSVF9ESVJFQ1RJT05fVFgKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9VU0FSVF9ESVJFQ1RJT05fVFhfUlgKICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXRUcmFuc2ZlckRpcmVjdGlvbihVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfR2V0VHJhbnNmZXJEaXJlY3Rpb24oY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKHVpbnQzMl90KShSRUFEX0JJVChVU0FSVHgtPkNSMSwgVVNBUlRfQ1IxX1JFIHwgVVNBUlRfQ1IxX1RFKSk7CiB9CkBAIC03NjgsNyArNzY4LDcgQEAKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9VU0FSVF9QQVJJVFlfRVZFTgogICAqICAgICAgICAgQGFyZyBAcmVmIExMX1VTQVJUX1BBUklUWV9PREQKICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXRQYXJpdHkoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0dldFBhcml0eShjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAodWludDMyX3QpKFJFQURfQklUKFVTQVJUeC0+Q1IxLCBVU0FSVF9DUjFfUFMgfCBVU0FSVF9DUjFfUENFKSk7CiB9CkBAIC03OTUsNyArNzk1LDcgQEAKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9VU0FSVF9XQUtFVVBfSURMRUxJTkUKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9VU0FSVF9XQUtFVVBfQUREUkVTU01BUksKICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXRXYWtlVXBNZXRob2QoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0dldFdha2VVcE1ldGhvZChjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAodWludDMyX3QpKFJFQURfQklUKFVTQVJUeC0+Q1IxLCBVU0FSVF9DUjFfV0FLRSkpOwogfQpAQCAtODI2LDcgKzgyNiw3IEBACiAgICogICAgICAgICBAYXJnIEByZWYgTExfVVNBUlRfREFUQVdJRFRIXzhCCiAgICogICAgICAgICBAYXJnIEByZWYgTExfVVNBUlRfREFUQVdJRFRIXzlCCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfR2V0RGF0YVdpZHRoKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXREYXRhV2lkdGgoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKHVpbnQzMl90KShSRUFEX0JJVChVU0FSVHgtPkNSMSwgVVNBUlRfQ1IxX00pKTsKIH0KQEAgLTg1OSw3ICs4NTksNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBTdGF0ZSBvZiBiaXQgKDEgb3IgMCkuCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNFbmFibGVkTXV0ZU1vZGUoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzRW5hYmxlZE11dGVNb2RlKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5DUjEsIFVTQVJUX0NSMV9NTUUpID09IChVU0FSVF9DUjFfTU1FKSkgPyAxVUwgOiAwVUwpOwogfQpAQCAtODg2LDcgKzg4Niw3IEBACiAgICogICAgICAgICBAYXJnIEByZWYgTExfVVNBUlRfT1ZFUlNBTVBMSU5HXzE2CiAgICogICAgICAgICBAYXJnIEByZWYgTExfVVNBUlRfT1ZFUlNBTVBMSU5HXzgKICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXRPdmVyU2FtcGxpbmcoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0dldE92ZXJTYW1wbGluZyhjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAodWludDMyX3QpKFJFQURfQklUKFVTQVJUeC0+Q1IxLCBVU0FSVF9DUjFfT1ZFUjgpKTsKIH0KQEAgLTkxOCw3ICs5MTgsNyBAQAogICAqICAgICAgICAgQGFyZyBAcmVmIExMX1VTQVJUX0xBU1RDTEtQVUxTRV9OT19PVVRQVVQKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9VU0FSVF9MQVNUQ0xLUFVMU0VfT1VUUFVUCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfR2V0TGFzdENsa1B1bHNlT3V0cHV0KFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXRMYXN0Q2xrUHVsc2VPdXRwdXQoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKHVpbnQzMl90KShSRUFEX0JJVChVU0FSVHgtPkNSMiwgVVNBUlRfQ1IyX0xCQ0wpKTsKIH0KQEAgLTk0OSw3ICs5NDksNyBAQAogICAqICAgICAgICAgQGFyZyBAcmVmIExMX1VTQVJUX1BIQVNFXzFFREdFCiAgICogICAgICAgICBAYXJnIEByZWYgTExfVVNBUlRfUEhBU0VfMkVER0UKICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXRDbG9ja1BoYXNlKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXRDbG9ja1BoYXNlKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICh1aW50MzJfdCkoUkVBRF9CSVQoVVNBUlR4LT5DUjIsIFVTQVJUX0NSMl9DUEhBKSk7CiB9CkBAIC05ODAsNyArOTgwLDcgQEAKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9VU0FSVF9QT0xBUklUWV9MT1cKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9VU0FSVF9QT0xBUklUWV9ISUdICiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfR2V0Q2xvY2tQb2xhcml0eShVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfR2V0Q2xvY2tQb2xhcml0eShjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAodWludDMyX3QpKFJFQURfQklUKFVTQVJUeC0+Q1IyLCBVU0FSVF9DUjJfQ1BPTCkpOwogfQpAQCAtMTA0Nyw3ICsxMDQ3LDcgQEAKICAgKiBAcGFyYW0gIFVTQVJUeCBVU0FSVCBJbnN0YW5jZQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzRW5hYmxlZFNDTEtPdXRwdXQoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzRW5hYmxlZFNDTEtPdXRwdXQoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKChSRUFEX0JJVChVU0FSVHgtPkNSMiwgVVNBUlRfQ1IyX0NMS0VOKSA9PSAoVVNBUlRfQ1IyX0NMS0VOKSkgPyAxVUwgOiAwVUwpOwogfQpAQCAtMTA3OCw3ICsxMDc4LDcgQEAKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9VU0FSVF9TVE9QQklUU18xXzUKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9VU0FSVF9TVE9QQklUU18yCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfR2V0U3RvcEJpdHNMZW5ndGgoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0dldFN0b3BCaXRzTGVuZ3RoKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICh1aW50MzJfdCkoUkVBRF9CSVQoVVNBUlR4LT5DUjIsIFVTQVJUX0NSMl9TVE9QKSk7CiB9CkBAIC0xMTM5LDcgKzExMzksNyBAQAogICAqICAgICAgICAgQGFyZyBAcmVmIExMX1VTQVJUX1RYUlhfU1RBTkRBUkQKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9VU0FSVF9UWFJYX1NXQVBQRUQKICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXRUWFJYU3dhcChVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfR2V0VFhSWFN3YXAoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKHVpbnQzMl90KShSRUFEX0JJVChVU0FSVHgtPkNSMiwgVVNBUlRfQ1IyX1NXQVApKTsKIH0KQEAgLTExNjYsNyArMTE2Niw3IEBACiAgICogICAgICAgICBAYXJnIEByZWYgTExfVVNBUlRfUlhQSU5fTEVWRUxfU1RBTkRBUkQKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9VU0FSVF9SWFBJTl9MRVZFTF9JTlZFUlRFRAogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0dldFJYUGluTGV2ZWwoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0dldFJYUGluTGV2ZWwoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKHVpbnQzMl90KShSRUFEX0JJVChVU0FSVHgtPkNSMiwgVVNBUlRfQ1IyX1JYSU5WKSk7CiB9CkBAIC0xMTkzLDcgKzExOTMsNyBAQAogICAqICAgICAgICAgQGFyZyBAcmVmIExMX1VTQVJUX1RYUElOX0xFVkVMX1NUQU5EQVJECiAgICogICAgICAgICBAYXJnIEByZWYgTExfVVNBUlRfVFhQSU5fTEVWRUxfSU5WRVJURUQKICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXRUWFBpbkxldmVsKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXRUWFBpbkxldmVsKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICh1aW50MzJfdCkoUkVBRF9CSVQoVVNBUlR4LT5DUjIsIFVTQVJUX0NSMl9UWElOVikpOwogfQpAQCAtMTIyMiw3ICsxMjIyLDcgQEAKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9VU0FSVF9CSU5BUllfTE9HSUNfUE9TSVRJVkUKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9VU0FSVF9CSU5BUllfTE9HSUNfTkVHQVRJVkUKICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXRCaW5hcnlEYXRhTG9naWMoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0dldEJpbmFyeURhdGFMb2dpYyhjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAodWludDMyX3QpKFJFQURfQklUKFVTQVJUeC0+Q1IyLCBVU0FSVF9DUjJfREFUQUlOVikpOwogfQpAQCAtMTI1Myw3ICsxMjUzLDcgQEAKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9VU0FSVF9CSVRPUkRFUl9MU0JGSVJTVAogICAqICAgICAgICAgQGFyZyBAcmVmIExMX1VTQVJUX0JJVE9SREVSX01TQkZJUlNUCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfR2V0VHJhbnNmZXJCaXRPcmRlcihVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfR2V0VHJhbnNmZXJCaXRPcmRlcihjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAodWludDMyX3QpKFJFQURfQklUKFVTQVJUeC0+Q1IyLCBVU0FSVF9DUjJfTVNCRklSU1QpKTsKIH0KQEAgLTEyOTIsNyArMTI5Miw3IEBACiAgICogQHBhcmFtICBVU0FSVHggVVNBUlQgSW5zdGFuY2UKICAgKiBAcmV0dmFsIFN0YXRlIG9mIGJpdCAoMSBvciAwKS4KICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0VuYWJsZWRBdXRvQmF1ZChVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNFbmFibGVkQXV0b0JhdWQoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKChSRUFEX0JJVChVU0FSVHgtPkNSMiwgVVNBUlRfQ1IyX0FCUkVOKSA9PSAoVVNBUlRfQ1IyX0FCUkVOKSkgPyAxVUwgOiAwVUwpOwogfQpAQCAtMTM2MCw3ICsxMzYwLDcgQEAKICAgKiBAcGFyYW0gIFVTQVJUeCBVU0FSVCBJbnN0YW5jZQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzRW5hYmxlZFJ4VGltZW91dChVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNFbmFibGVkUnhUaW1lb3V0KGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5DUjIsIFVTQVJUX0NSMl9SVE9FTikgPT0gKFVTQVJUX0NSMl9SVE9FTikpID8gMVVMIDogMFVMKTsKIH0KQEAgLTE0MDQsNyArMTQwNCw3IEBACiAgICogQHBhcmFtICBVU0FSVHggVVNBUlQgSW5zdGFuY2UKICAgKiBAcmV0dmFsIEFkZHJlc3Mgb2YgdGhlIFVTQVJUIG5vZGUgKFZhbHVlIGJldHdlZW4gTWluX0RhdGE9MCBhbmQgTWF4X0RhdGE9MjU1KQogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0dldE5vZGVBZGRyZXNzKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXROb2RlQWRkcmVzcyhjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAodWludDMyX3QpKFJFQURfQklUKFVTQVJUeC0+Q1IyLCBVU0FSVF9DUjJfQUREKSA+PiBVU0FSVF9DUjJfQUREX1Bvcyk7CiB9CkBAIC0xNDE3LDcgKzE0MTcsNyBAQAogICAqICAgICAgICAgQGFyZyBAcmVmIExMX1VTQVJUX0FERFJFU1NfREVURUNUXzRCCiAgICogICAgICAgICBAYXJnIEByZWYgTExfVVNBUlRfQUREUkVTU19ERVRFQ1RfN0IKICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXROb2RlQWRkcmVzc0xlbihVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfR2V0Tm9kZUFkZHJlc3NMZW4oY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKHVpbnQzMl90KShSRUFEX0JJVChVU0FSVHgtPkNSMiwgVVNBUlRfQ1IyX0FERE03KSk7CiB9CkBAIC0xNTA2LDcgKzE1MDYsNyBAQAogICAqICAgICAgICAgQGFyZyBAcmVmIExMX1VTQVJUX0hXQ09OVFJPTF9DVFMKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9VU0FSVF9IV0NPTlRST0xfUlRTX0NUUwogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0dldEhXRmxvd0N0cmwoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0dldEhXRmxvd0N0cmwoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKHVpbnQzMl90KShSRUFEX0JJVChVU0FSVHgtPkNSMywgVVNBUlRfQ1IzX1JUU0UgfCBVU0FSVF9DUjNfQ1RTRSkpOwogfQpAQCAtMTUzOSw3ICsxNTM5LDcgQEAKICAgKiBAcGFyYW0gIFVTQVJUeCBVU0FSVCBJbnN0YW5jZQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzRW5hYmxlZE9uZUJpdFNhbXAoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzRW5hYmxlZE9uZUJpdFNhbXAoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKChSRUFEX0JJVChVU0FSVHgtPkNSMywgVVNBUlRfQ1IzX09ORUJJVCkgPT0gKFVTQVJUX0NSM19PTkVCSVQpKSA/IDFVTCA6IDBVTCk7CiB9CkBAIC0xNTcyLDcgKzE1NzIsNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBTdGF0ZSBvZiBiaXQgKDEgb3IgMCkuCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNFbmFibGVkT3ZlcnJ1bkRldGVjdChVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNFbmFibGVkT3ZlcnJ1bkRldGVjdChjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAoKFJFQURfQklUKFVTQVJUeC0+Q1IzLCBVU0FSVF9DUjNfT1ZSRElTKSAhPSBVU0FSVF9DUjNfT1ZSRElTKSA/IDFVTCA6IDBVTCk7CiB9CkBAIC0xNjA3LDcgKzE2MDcsNyBAQAogICAqICAgICAgICAgQGFyZyBAcmVmIExMX1VTQVJUX1dBS0VVUF9PTl9TVEFSVEJJVAogICAqICAgICAgICAgQGFyZyBAcmVmIExMX1VTQVJUX1dBS0VVUF9PTl9SWE5FCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfR2V0V0tVUFR5cGUoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0dldFdLVVBUeXBlKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICh1aW50MzJfdCkoUkVBRF9CSVQoVVNBUlR4LT5DUjMsIFVTQVJUX0NSM19XVVMpKTsKIH0KQEAgLTE2NjIsNyArMTY2Miw3IEBACiAgICogICAgICAgICBAYXJnIEByZWYgTExfVVNBUlRfT1ZFUlNBTVBMSU5HXzgKICAgKiBAcmV0dmFsIEJhdWQgUmF0ZQogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0dldEJhdWRSYXRlKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCwgdWludDMyX3QgUGVyaXBoQ2xrLCB1aW50MzJfdCBPdmVyU2FtcGxpbmcpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfR2V0QmF1ZFJhdGUoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4LCB1aW50MzJfdCBQZXJpcGhDbGssIHVpbnQzMl90IE92ZXJTYW1wbGluZykKIHsKICAgdWludDMyX3QgdXNhcnRkaXY7CiAgIHVpbnQzMl90IGJycnJlc3VsdCA9IDB4MFU7CkBAIC0xNzA5LDcgKzE3MDksNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBWYWx1ZSBiZXR3ZWVuIE1pbl9EYXRhPTB4MDAgYW5kIE1heF9EYXRhPTB4MDBGRkZGRkYKICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXRSeFRpbWVvdXQoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0dldFJ4VGltZW91dChjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAodWludDMyX3QpKFJFQURfQklUKFVTQVJUeC0+UlRPUiwgVVNBUlRfUlRPUl9SVE8pKTsKIH0KQEAgLTE3MzIsNyArMTczMiw3IEBACiAgICogQHBhcmFtICBVU0FSVHggVVNBUlQgSW5zdGFuY2UKICAgKiBAcmV0dmFsIFZhbHVlIGJldHdlZW4gTWluX0RhdGE9MHgwMCBhbmQgTWF4X0RhdGE9MHhGRgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0dldEJsb2NrTGVuZ3RoKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXRCbG9ja0xlbmd0aChjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAodWludDMyX3QpKFJFQURfQklUKFVTQVJUeC0+UlRPUiwgVVNBUlRfUlRPUl9CTEVOKSA+PiBVU0FSVF9SVE9SX0JMRU5fUG9zKTsKIH0KQEAgLTE3NzksNyArMTc3OSw3IEBACiAgICogQHBhcmFtICBVU0FSVHggVVNBUlQgSW5zdGFuY2UKICAgKiBAcmV0dmFsIFN0YXRlIG9mIGJpdCAoMSBvciAwKS4KICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0VuYWJsZWRJcmRhKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0VuYWJsZWRJcmRhKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5DUjMsIFVTQVJUX0NSM19JUkVOKSA9PSAoVVNBUlRfQ1IzX0lSRU4pKSA/IDFVTCA6IDBVTCk7CiB9CkBAIC0xODEwLDcgKzE4MTAsNyBAQAogICAqICAgICAgICAgQGFyZyBAcmVmIExMX1VTQVJUX0lSREFfUE9XRVJfTk9STUFMCiAgICogICAgICAgICBAYXJnIEByZWYgTExfVVNBUlRfUEhBU0VfMkVER0UKICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXRJcmRhUG93ZXJNb2RlKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXRJcmRhUG93ZXJNb2RlKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICh1aW50MzJfdCkoUkVBRF9CSVQoVVNBUlR4LT5DUjMsIFVTQVJUX0NSM19JUkxQKSk7CiB9CkBAIC0xODM5LDcgKzE4MzksNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBJcmRhIHByZXNjYWxlciB2YWx1ZSAoVmFsdWUgYmV0d2VlbiBNaW5fRGF0YT0weDAwIGFuZCBNYXhfRGF0YT0weEZGKQogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0dldElyZGFQcmVzY2FsZXIoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0dldElyZGFQcmVzY2FsZXIoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKHVpbnQzMl90KShSRUFEX0JJVChVU0FSVHgtPkdUUFIsIFVTQVJUX0dUUFJfUFNDKSk7CiB9CkBAIC0xODg2LDcgKzE4ODYsNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBTdGF0ZSBvZiBiaXQgKDEgb3IgMCkuCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNFbmFibGVkU21hcnRjYXJkTkFDSyhVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNFbmFibGVkU21hcnRjYXJkTkFDSyhjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAoKFJFQURfQklUKFVTQVJUeC0+Q1IzLCBVU0FSVF9DUjNfTkFDSykgPT0gKFVTQVJUX0NSM19OQUNLKSkgPyAxVUwgOiAwVUwpOwogfQpAQCAtMTkyNSw3ICsxOTI1LDcgQEAKICAgKiBAcGFyYW0gIFVTQVJUeCBVU0FSVCBJbnN0YW5jZQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzRW5hYmxlZFNtYXJ0Y2FyZChVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNFbmFibGVkU21hcnRjYXJkKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5DUjMsIFVTQVJUX0NSM19TQ0VOKSA9PSAoVVNBUlRfQ1IzX1NDRU4pKSA/IDFVTCA6IDBVTCk7CiB9CkBAIC0xOTU3LDcgKzE5NTcsNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBTbWFydGNhcmQgQXV0by1SZXRyeSBDb3VudCB2YWx1ZSAoVmFsdWUgYmV0d2VlbiBNaW5fRGF0YT0wIGFuZCBNYXhfRGF0YT03KQogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0dldFNtYXJ0Y2FyZEF1dG9SZXRyeUNvdW50KFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXRTbWFydGNhcmRBdXRvUmV0cnlDb3VudChjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAodWludDMyX3QpKFJFQURfQklUKFVTQVJUeC0+Q1IzLCBVU0FSVF9DUjNfU0NBUkNOVCkgPj4gVVNBUlRfQ1IzX1NDQVJDTlRfUG9zKTsKIH0KQEAgLTE5ODYsNyArMTk4Niw3IEBACiAgICogQHBhcmFtICBVU0FSVHggVVNBUlQgSW5zdGFuY2UKICAgKiBAcmV0dmFsIFNtYXJ0Y2FyZCBwcmVzY2FsZXIgdmFsdWUgKFZhbHVlIGJldHdlZW4gTWluX0RhdGE9MCBhbmQgTWF4X0RhdGE9MzEpCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfR2V0U21hcnRjYXJkUHJlc2NhbGVyKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXRTbWFydGNhcmRQcmVzY2FsZXIoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKHVpbnQzMl90KShSRUFEX0JJVChVU0FSVHgtPkdUUFIsIFVTQVJUX0dUUFJfUFNDKSk7CiB9CkBAIC0yMDE1LDcgKzIwMTUsNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBTbWFydGNhcmQgR3VhcmQgdGltZSB2YWx1ZSAoVmFsdWUgYmV0d2VlbiBNaW5fRGF0YT0weDAwIGFuZCBNYXhfRGF0YT0weEZGKQogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0dldFNtYXJ0Y2FyZEd1YXJkVGltZShVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfR2V0U21hcnRjYXJkR3VhcmRUaW1lKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICh1aW50MzJfdCkoUkVBRF9CSVQoVVNBUlR4LT5HVFBSLCBVU0FSVF9HVFBSX0dUKSA+PiBVU0FSVF9HVFBSX0dUX1Bvcyk7CiB9CkBAIC0yMDYyLDcgKzIwNjIsNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBTdGF0ZSBvZiBiaXQgKDEgb3IgMCkuCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNFbmFibGVkSGFsZkR1cGxleChVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNFbmFibGVkSGFsZkR1cGxleChjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAoKFJFQURfQklUKFVTQVJUeC0+Q1IzLCBVU0FSVF9DUjNfSERTRUwpID09IChVU0FSVF9DUjNfSERTRUwpKSA/IDFVTCA6IDBVTCk7CiB9CkBAIC0yMTAxLDcgKzIxMDEsNyBAQAogICAqICAgICAgICAgQGFyZyBAcmVmIExMX1VTQVJUX0xJTkJSRUFLX0RFVEVDVF8xMEIKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9VU0FSVF9MSU5CUkVBS19ERVRFQ1RfMTFCCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfR2V0TElOQnJrRGV0ZWN0aW9uTGVuKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXRMSU5CcmtEZXRlY3Rpb25MZW4oY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKHVpbnQzMl90KShSRUFEX0JJVChVU0FSVHgtPkNSMiwgVVNBUlRfQ1IyX0xCREwpKTsKIH0KQEAgLTIxNDAsNyArMjE0MCw3IEBACiAgICogQHBhcmFtICBVU0FSVHggVVNBUlQgSW5zdGFuY2UKICAgKiBAcmV0dmFsIFN0YXRlIG9mIGJpdCAoMSBvciAwKS4KICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0VuYWJsZWRMSU4oVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzRW5hYmxlZExJTihjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAoKFJFQURfQklUKFVTQVJUeC0+Q1IyLCBVU0FSVF9DUjJfTElORU4pID09IChVU0FSVF9DUjJfTElORU4pKSA/IDFVTCA6IDBVTCk7CiB9CkBAIC0yMTc1LDcgKzIxNzUsNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBUaW1lIHZhbHVlIGV4cHJlc3NlZCBvbiA1IGJpdHMgKFs0OjBdIGJpdHMpIDogVmFsdWUgYmV0d2VlbiBNaW5fRGF0YT0wIGFuZCBNYXhfRGF0YT0zMQogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0dldERFRGVhc3NlcnRpb25UaW1lKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXRERURlYXNzZXJ0aW9uVGltZShjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAodWludDMyX3QpKFJFQURfQklUKFVTQVJUeC0+Q1IxLCBVU0FSVF9DUjFfREVEVCkgPj4gVVNBUlRfQ1IxX0RFRFRfUG9zKTsKIH0KQEAgLTIyMDIsNyArMjIwMiw3IEBACiAgICogQHBhcmFtICBVU0FSVHggVVNBUlQgSW5zdGFuY2UKICAgKiBAcmV0dmFsIFRpbWUgdmFsdWUgZXhwcmVzc2VkIG9uIDUgYml0cyAoWzQ6MF0gYml0cykgOiBWYWx1ZSBiZXR3ZWVuIE1pbl9EYXRhPTAgYW5kIE1heF9EYXRhPTMxCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfR2V0REVBc3NlcnRpb25UaW1lKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXRERUFzc2VydGlvblRpbWUoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKHVpbnQzMl90KShSRUFEX0JJVChVU0FSVHgtPkNSMSwgVVNBUlRfQ1IxX0RFQVQpID4+IFVTQVJUX0NSMV9ERUFUX1Bvcyk7CiB9CkBAIC0yMjQxLDcgKzIyNDEsNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBTdGF0ZSBvZiBiaXQgKDEgb3IgMCkuCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNFbmFibGVkREVNb2RlKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0VuYWJsZWRERU1vZGUoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKChSRUFEX0JJVChVU0FSVHgtPkNSMywgVVNBUlRfQ1IzX0RFTSkgPT0gKFVTQVJUX0NSM19ERU0pKSA/IDFVTCA6IDBVTCk7CiB9CkBAIC0yMjcyLDcgKzIyNzIsNyBAQAogICAqICAgICAgICAgQGFyZyBAcmVmIExMX1VTQVJUX0RFX1BPTEFSSVRZX0hJR0gKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9VU0FSVF9ERV9QT0xBUklUWV9MT1cKICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXRERVNpZ25hbFBvbGFyaXR5KFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9HZXRERVNpZ25hbFBvbGFyaXR5KGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICh1aW50MzJfdCkoUkVBRF9CSVQoVVNBUlR4LT5DUjMsIFVTQVJUX0NSM19ERVApKTsKIH0KQEAgLTI1NzUsNyArMjU3NSw3IEBACiAgICogQHBhcmFtICBVU0FSVHggVVNBUlQgSW5zdGFuY2UKICAgKiBAcmV0dmFsIFN0YXRlIG9mIGJpdCAoMSBvciAwKS4KICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0FjdGl2ZUZsYWdfUEUoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzQWN0aXZlRmxhZ19QRShjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAoKFJFQURfQklUKFVTQVJUeC0+SVNSLCBVU0FSVF9JU1JfUEUpID09IChVU0FSVF9JU1JfUEUpKSA/IDFVTCA6IDBVTCk7CiB9CkBAIC0yNTg2LDcgKzI1ODYsNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBTdGF0ZSBvZiBiaXQgKDEgb3IgMCkuCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNBY3RpdmVGbGFnX0ZFKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0FjdGl2ZUZsYWdfRkUoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKChSRUFEX0JJVChVU0FSVHgtPklTUiwgVVNBUlRfSVNSX0ZFKSA9PSAoVVNBUlRfSVNSX0ZFKSkgPyAxVUwgOiAwVUwpOwogfQpAQCAtMjU5Nyw3ICsyNTk3LDcgQEAKICAgKiBAcGFyYW0gIFVTQVJUeCBVU0FSVCBJbnN0YW5jZQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzQWN0aXZlRmxhZ19ORShVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNBY3RpdmVGbGFnX05FKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5JU1IsIFVTQVJUX0lTUl9ORSkgPT0gKFVTQVJUX0lTUl9ORSkpID8gMVVMIDogMFVMKTsKIH0KQEAgLTI2MDgsNyArMjYwOCw3IEBACiAgICogQHBhcmFtICBVU0FSVHggVVNBUlQgSW5zdGFuY2UKICAgKiBAcmV0dmFsIFN0YXRlIG9mIGJpdCAoMSBvciAwKS4KICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0FjdGl2ZUZsYWdfT1JFKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0FjdGl2ZUZsYWdfT1JFKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5JU1IsIFVTQVJUX0lTUl9PUkUpID09IChVU0FSVF9JU1JfT1JFKSkgPyAxVUwgOiAwVUwpOwogfQpAQCAtMjYxOSw3ICsyNjE5LDcgQEAKICAgKiBAcGFyYW0gIFVTQVJUeCBVU0FSVCBJbnN0YW5jZQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzQWN0aXZlRmxhZ19JRExFKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0FjdGl2ZUZsYWdfSURMRShjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAoKFJFQURfQklUKFVTQVJUeC0+SVNSLCBVU0FSVF9JU1JfSURMRSkgPT0gKFVTQVJUX0lTUl9JRExFKSkgPyAxVUwgOiAwVUwpOwogfQpAQCAtMjYzMCw3ICsyNjMwLDcgQEAKICAgKiBAcGFyYW0gIFVTQVJUeCBVU0FSVCBJbnN0YW5jZQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzQWN0aXZlRmxhZ19SWE5FKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0FjdGl2ZUZsYWdfUlhORShjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAoKFJFQURfQklUKFVTQVJUeC0+SVNSLCBVU0FSVF9JU1JfUlhORSkgPT0gKFVTQVJUX0lTUl9SWE5FKSkgPyAxVUwgOiAwVUwpOwogfQpAQCAtMjY0MSw3ICsyNjQxLDcgQEAKICAgKiBAcGFyYW0gIFVTQVJUeCBVU0FSVCBJbnN0YW5jZQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzQWN0aXZlRmxhZ19UQyhVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNBY3RpdmVGbGFnX1RDKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5JU1IsIFVTQVJUX0lTUl9UQykgPT0gKFVTQVJUX0lTUl9UQykpID8gMVVMIDogMFVMKTsKIH0KQEAgLTI2NTIsNyArMjY1Miw3IEBACiAgICogQHBhcmFtICBVU0FSVHggVVNBUlQgSW5zdGFuY2UKICAgKiBAcmV0dmFsIFN0YXRlIG9mIGJpdCAoMSBvciAwKS4KICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0FjdGl2ZUZsYWdfVFhFKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0FjdGl2ZUZsYWdfVFhFKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5JU1IsIFVTQVJUX0lTUl9UWEUpID09IChVU0FSVF9JU1JfVFhFKSkgPyAxVUwgOiAwVUwpOwogfQpAQCAtMjY2NSw3ICsyNjY1LDcgQEAKICAgKiBAcGFyYW0gIFVTQVJUeCBVU0FSVCBJbnN0YW5jZQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzQWN0aXZlRmxhZ19MQkQoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzQWN0aXZlRmxhZ19MQkQoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKChSRUFEX0JJVChVU0FSVHgtPklTUiwgVVNBUlRfSVNSX0xCREYpID09IChVU0FSVF9JU1JfTEJERikpID8gMVVMIDogMFVMKTsKIH0KQEAgLTI2NzgsNyArMjY3OCw3IEBACiAgICogQHBhcmFtICBVU0FSVHggVVNBUlQgSW5zdGFuY2UKICAgKiBAcmV0dmFsIFN0YXRlIG9mIGJpdCAoMSBvciAwKS4KICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0FjdGl2ZUZsYWdfbkNUUyhVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNBY3RpdmVGbGFnX25DVFMoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKChSRUFEX0JJVChVU0FSVHgtPklTUiwgVVNBUlRfSVNSX0NUU0lGKSA9PSAoVVNBUlRfSVNSX0NUU0lGKSkgPyAxVUwgOiAwVUwpOwogfQpAQCAtMjY5MSw3ICsyNjkxLDcgQEAKICAgKiBAcGFyYW0gIFVTQVJUeCBVU0FSVCBJbnN0YW5jZQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzQWN0aXZlRmxhZ19DVFMoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzQWN0aXZlRmxhZ19DVFMoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKChSRUFEX0JJVChVU0FSVHgtPklTUiwgVVNBUlRfSVNSX0NUUykgPT0gKFVTQVJUX0lTUl9DVFMpKSA/IDFVTCA6IDBVTCk7CiB9CkBAIC0yNzAyLDcgKzI3MDIsNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBTdGF0ZSBvZiBiaXQgKDEgb3IgMCkuCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNBY3RpdmVGbGFnX1JUTyhVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNBY3RpdmVGbGFnX1JUTyhjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAoKFJFQURfQklUKFVTQVJUeC0+SVNSLCBVU0FSVF9JU1JfUlRPRikgPT0gKFVTQVJUX0lTUl9SVE9GKSkgPyAxVUwgOiAwVUwpOwogfQpAQCAtMjcxNSw3ICsyNzE1LDcgQEAKICAgKiBAcGFyYW0gIFVTQVJUeCBVU0FSVCBJbnN0YW5jZQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzQWN0aXZlRmxhZ19FT0IoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzQWN0aXZlRmxhZ19FT0IoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKChSRUFEX0JJVChVU0FSVHgtPklTUiwgVVNBUlRfSVNSX0VPQkYpID09IChVU0FSVF9JU1JfRU9CRikpID8gMVVMIDogMFVMKTsKIH0KQEAgLTI3MjgsNyArMjcyOCw3IEBACiAgICogQHBhcmFtICBVU0FSVHggVVNBUlQgSW5zdGFuY2UKICAgKiBAcmV0dmFsIFN0YXRlIG9mIGJpdCAoMSBvciAwKS4KICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0FjdGl2ZUZsYWdfQUJSRShVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNBY3RpdmVGbGFnX0FCUkUoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKChSRUFEX0JJVChVU0FSVHgtPklTUiwgVVNBUlRfSVNSX0FCUkUpID09IChVU0FSVF9JU1JfQUJSRSkpID8gMVVMIDogMFVMKTsKIH0KQEAgLTI3NDEsNyArMjc0MSw3IEBACiAgICogQHBhcmFtICBVU0FSVHggVVNBUlQgSW5zdGFuY2UKICAgKiBAcmV0dmFsIFN0YXRlIG9mIGJpdCAoMSBvciAwKS4KICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0FjdGl2ZUZsYWdfQUJSKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0FjdGl2ZUZsYWdfQUJSKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5JU1IsIFVTQVJUX0lTUl9BQlJGKSA9PSAoVVNBUlRfSVNSX0FCUkYpKSA/IDFVTCA6IDBVTCk7CiB9CkBAIC0yNzUyLDcgKzI3NTIsNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBTdGF0ZSBvZiBiaXQgKDEgb3IgMCkuCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNBY3RpdmVGbGFnX0JVU1koVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzQWN0aXZlRmxhZ19CVVNZKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5JU1IsIFVTQVJUX0lTUl9CVVNZKSA9PSAoVVNBUlRfSVNSX0JVU1kpKSA/IDFVTCA6IDBVTCk7CiB9CkBAIC0yNzYzLDcgKzI3NjMsNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBTdGF0ZSBvZiBiaXQgKDEgb3IgMCkuCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNBY3RpdmVGbGFnX0NNKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0FjdGl2ZUZsYWdfQ00oY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKChSRUFEX0JJVChVU0FSVHgtPklTUiwgVVNBUlRfSVNSX0NNRikgPT0gKFVTQVJUX0lTUl9DTUYpKSA/IDFVTCA6IDBVTCk7CiB9CkBAIC0yNzc0LDcgKzI3NzQsNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBTdGF0ZSBvZiBiaXQgKDEgb3IgMCkuCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNBY3RpdmVGbGFnX1NCSyhVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNBY3RpdmVGbGFnX1NCSyhjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAoKFJFQURfQklUKFVTQVJUeC0+SVNSLCBVU0FSVF9JU1JfU0JLRikgPT0gKFVTQVJUX0lTUl9TQktGKSkgPyAxVUwgOiAwVUwpOwogfQpAQCAtMjc4NSw3ICsyNzg1LDcgQEAKICAgKiBAcGFyYW0gIFVTQVJUeCBVU0FSVCBJbnN0YW5jZQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzQWN0aXZlRmxhZ19SV1UoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzQWN0aXZlRmxhZ19SV1UoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKChSRUFEX0JJVChVU0FSVHgtPklTUiwgVVNBUlRfSVNSX1JXVSkgPT0gKFVTQVJUX0lTUl9SV1UpKSA/IDFVTCA6IDBVTCk7CiB9CkBAIC0yODAwLDcgKzI4MDAsNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBTdGF0ZSBvZiBiaXQgKDEgb3IgMCkuCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNBY3RpdmVGbGFnX1dLVVAoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzQWN0aXZlRmxhZ19XS1VQKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5JU1IsIFVTQVJUX0lTUl9XVUYpID09IChVU0FSVF9JU1JfV1VGKSkgPyAxVUwgOiAwVUwpOwogfQpAQCAtMjgxMyw3ICsyODEzLDcgQEAKICAgKiBAcGFyYW0gIFVTQVJUeCBVU0FSVCBJbnN0YW5jZQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzQWN0aXZlRmxhZ19URUFDSyhVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNBY3RpdmVGbGFnX1RFQUNLKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5JU1IsIFVTQVJUX0lTUl9URUFDSykgPT0gKFVTQVJUX0lTUl9URUFDSykpID8gMVVMIDogMFVMKTsKIH0KQEAgLTI4MjUsMTIgKzI4MjUsMTIgQEAKICAgKiBAcGFyYW0gIFVTQVJUeCBVU0FSVCBJbnN0YW5jZQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzQWN0aXZlRmxhZ19SRUFDSyhVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNBY3RpdmVGbGFnX1JFQUNLKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5JU1IsIFVTQVJUX0lTUl9SRUFDSykgPT0gKFVTQVJUX0lTUl9SRUFDSykpID8gMVVMIDogMFVMKTsKIH0KIAotI2VuZGlmLyogVVNBUlRfSVNSX1JFQUNLICovCisjZW5kaWYgLyogVVNBUlRfSVNSX1JFQUNLICovCiAjaWYgZGVmaW5lZChVU0FSVF9UQ0JHVF9TVVBQT1JUKQogLyogRnVuY3Rpb24gYXZhaWxhYmxlIG9ubHkgb24gZGV2aWNlcyBzdXBwb3J0aW5nIFRyYW5zbWl0IENvbXBsZXRlIGJlZm9yZSBHdWFyZCBUaW1lIGZlYXR1cmUgKi8KIC8qKgpAQCAtMjgzOSw3ICsyODM5LDcgQEAKICAgKiBAcGFyYW0gIFVTQVJUeCBVU0FSVCBJbnN0YW5jZQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzQWN0aXZlRmxhZ19UQ0JHVChVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNBY3RpdmVGbGFnX1RDQkdUKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5JU1IsIFVTQVJUX0lTUl9UQ0JHVCkgPT0gKFVTQVJUX0lTUl9UQ0JHVCkpID8gMVVMIDogMFVMKTsKIH0KQEAgLTMzNDUsNyArMzM0NSw3IEBACiAgICogQHBhcmFtICBVU0FSVHggVVNBUlQgSW5zdGFuY2UKICAgKiBAcmV0dmFsIFN0YXRlIG9mIGJpdCAoMSBvciAwKS4KICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0VuYWJsZWRJVF9JRExFKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0VuYWJsZWRJVF9JRExFKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5DUjEsIFVTQVJUX0NSMV9JRExFSUUpID09IChVU0FSVF9DUjFfSURMRUlFKSkgPyAxVUwgOiAwVUwpOwogfQpAQCAtMzM1Niw3ICszMzU2LDcgQEAKICAgKiBAcGFyYW0gIFVTQVJUeCBVU0FSVCBJbnN0YW5jZQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzRW5hYmxlZElUX1JYTkUoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzRW5hYmxlZElUX1JYTkUoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKChSRUFEX0JJVChVU0FSVHgtPkNSMSwgVVNBUlRfQ1IxX1JYTkVJRSkgPT0gKFVTQVJUX0NSMV9SWE5FSUUpKSA/IDFVIDogMFUpOwogfQpAQCAtMzM2Nyw3ICszMzY3LDcgQEAKICAgKiBAcGFyYW0gIFVTQVJUeCBVU0FSVCBJbnN0YW5jZQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzRW5hYmxlZElUX1RDKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0VuYWJsZWRJVF9UQyhjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAoKFJFQURfQklUKFVTQVJUeC0+Q1IxLCBVU0FSVF9DUjFfVENJRSkgPT0gKFVTQVJUX0NSMV9UQ0lFKSkgPyAxVUwgOiAwVUwpOwogfQpAQCAtMzM3OCw3ICszMzc4LDcgQEAKICAgKiBAcGFyYW0gIFVTQVJUeCBVU0FSVCBJbnN0YW5jZQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzRW5hYmxlZElUX1RYRShVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNFbmFibGVkSVRfVFhFKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5DUjEsIFVTQVJUX0NSMV9UWEVJRSkgPT0gKFVTQVJUX0NSMV9UWEVJRSkpID8gMVUgOiAwVSk7CiB9CkBAIC0zMzg5LDcgKzMzODksNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBTdGF0ZSBvZiBiaXQgKDEgb3IgMCkuCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNFbmFibGVkSVRfUEUoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzRW5hYmxlZElUX1BFKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5DUjEsIFVTQVJUX0NSMV9QRUlFKSA9PSAoVVNBUlRfQ1IxX1BFSUUpKSA/IDFVTCA6IDBVTCk7CiB9CkBAIC0zNDAwLDcgKzM0MDAsNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBTdGF0ZSBvZiBiaXQgKDEgb3IgMCkuCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNFbmFibGVkSVRfQ00oVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzRW5hYmxlZElUX0NNKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5DUjEsIFVTQVJUX0NSMV9DTUlFKSA9PSAoVVNBUlRfQ1IxX0NNSUUpKSA/IDFVTCA6IDBVTCk7CiB9CkBAIC0zNDExLDcgKzM0MTEsNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBTdGF0ZSBvZiBiaXQgKDEgb3IgMCkuCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNFbmFibGVkSVRfUlRPKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0VuYWJsZWRJVF9SVE8oY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKChSRUFEX0JJVChVU0FSVHgtPkNSMSwgVVNBUlRfQ1IxX1JUT0lFKSA9PSAoVVNBUlRfQ1IxX1JUT0lFKSkgPyAxVUwgOiAwVUwpOwogfQpAQCAtMzQyNCw3ICszNDI0LDcgQEAKICAgKiBAcGFyYW0gIFVTQVJUeCBVU0FSVCBJbnN0YW5jZQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzRW5hYmxlZElUX0VPQihVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNFbmFibGVkSVRfRU9CKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5DUjEsIFVTQVJUX0NSMV9FT0JJRSkgPT0gKFVTQVJUX0NSMV9FT0JJRSkpID8gMVVMIDogMFVMKTsKIH0KQEAgLTM0MzcsNyArMzQzNyw3IEBACiAgICogQHBhcmFtICBVU0FSVHggVVNBUlQgSW5zdGFuY2UKICAgKiBAcmV0dmFsIFN0YXRlIG9mIGJpdCAoMSBvciAwKS4KICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0VuYWJsZWRJVF9MQkQoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzRW5hYmxlZElUX0xCRChjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAoKFJFQURfQklUKFVTQVJUeC0+Q1IyLCBVU0FSVF9DUjJfTEJESUUpID09IChVU0FSVF9DUjJfTEJESUUpKSA/IDFVTCA6IDBVTCk7CiB9CkBAIC0zNDQ4LDcgKzM0NDgsNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBTdGF0ZSBvZiBiaXQgKDEgb3IgMCkuCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNFbmFibGVkSVRfRVJST1IoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzRW5hYmxlZElUX0VSUk9SKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5DUjMsIFVTQVJUX0NSM19FSUUpID09IChVU0FSVF9DUjNfRUlFKSkgPyAxVUwgOiAwVUwpOwogfQpAQCAtMzQ2MSw3ICszNDYxLDcgQEAKICAgKiBAcGFyYW0gIFVTQVJUeCBVU0FSVCBJbnN0YW5jZQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzRW5hYmxlZElUX0NUUyhVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNFbmFibGVkSVRfQ1RTKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5DUjMsIFVTQVJUX0NSM19DVFNJRSkgPT0gKFVTQVJUX0NSM19DVFNJRSkpID8gMVVMIDogMFVMKTsKIH0KQEAgLTM0NzYsNyArMzQ3Niw3IEBACiAgICogQHBhcmFtICBVU0FSVHggVVNBUlQgSW5zdGFuY2UKICAgKiBAcmV0dmFsIFN0YXRlIG9mIGJpdCAoMSBvciAwKS4KICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0VuYWJsZWRJVF9XS1VQKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0VuYWJsZWRJVF9XS1VQKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5DUjMsIFVTQVJUX0NSM19XVUZJRSkgPT0gKFVTQVJUX0NSM19XVUZJRSkpID8gMVVMIDogMFVMKTsKIH0KQEAgLTM0OTMsNyArMzQ5Myw3IEBACiAgICogQHBhcmFtICBVU0FSVHggVVNBUlQgSW5zdGFuY2UKICAgKiBAcmV0dmFsIFN0YXRlIG9mIGJpdCAoMSBvciAwKS4KICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0VuYWJsZWRJVF9UQ0JHVChVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNFbmFibGVkSVRfVENCR1QoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKChSRUFEX0JJVChVU0FSVHgtPkNSMywgVVNBUlRfQ1IzX1RDQkdUSUUpID09IChVU0FSVF9DUjNfVENCR1RJRSkpID8gMVVMIDogMFVMKTsKIH0KQEAgLTM1MzUsNyArMzUzNSw3IEBACiAgICogQHBhcmFtICBVU0FSVHggVVNBUlQgSW5zdGFuY2UKICAgKiBAcmV0dmFsIFN0YXRlIG9mIGJpdCAoMSBvciAwKS4KICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0VuYWJsZWRETUFSZXFfUlgoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzRW5hYmxlZERNQVJlcV9SWChjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAoKFJFQURfQklUKFVTQVJUeC0+Q1IzLCBVU0FSVF9DUjNfRE1BUikgPT0gKFVTQVJUX0NSM19ETUFSKSkgPyAxVUwgOiAwVUwpOwogfQpAQCAtMzU2OCw3ICszNTY4LDcgQEAKICAgKiBAcGFyYW0gIFVTQVJUeCBVU0FSVCBJbnN0YW5jZQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0lzRW5hYmxlZERNQVJlcV9UWChVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNFbmFibGVkRE1BUmVxX1RYKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKIHsKICAgcmV0dXJuICgoUkVBRF9CSVQoVVNBUlR4LT5DUjMsIFVTQVJUX0NSM19ETUFUKSA9PSAoVVNBUlRfQ1IzX0RNQVQpKSA/IDFVTCA6IDBVTCk7CiB9CkBAIC0zNjAxLDcgKzM2MDEsNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBTdGF0ZSBvZiBiaXQgKDEgb3IgMCkuCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfVVNBUlRfSXNFbmFibGVkRE1BRGVhY3RPblJ4RXJyKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9VU0FSVF9Jc0VuYWJsZWRETUFEZWFjdE9uUnhFcnIoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKChSRUFEX0JJVChVU0FSVHgtPkNSMywgVVNBUlRfQ1IzX0REUkUpID09IChVU0FSVF9DUjNfRERSRSkpID8gMVVMIDogMFVMKTsKIH0KQEAgLTM2MTYsNyArMzYxNiw3IEBACiAgICogICAgICAgICBAYXJnIEByZWYgTExfVVNBUlRfRE1BX1JFR19EQVRBX1JFQ0VJVkUKICAgKiBAcmV0dmFsIEFkZHJlc3Mgb2YgZGF0YSByZWdpc3RlcgogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0RNQV9HZXRSZWdBZGRyKFVTQVJUX1R5cGVEZWYgKlVTQVJUeCwgdWludDMyX3QgRGlyZWN0aW9uKQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1VTQVJUX0RNQV9HZXRSZWdBZGRyKGNvbnN0IFVTQVJUX1R5cGVEZWYgKlVTQVJUeCwgdWludDMyX3QgRGlyZWN0aW9uKQogewogICB1aW50MzJfdCBkYXRhX3JlZ19hZGRyOwogCkBAIC0zNjQ4LDcgKzM2NDgsNyBAQAogICAqIEBwYXJhbSAgVVNBUlR4IFVTQVJUIEluc3RhbmNlCiAgICogQHJldHZhbCBWYWx1ZSBiZXR3ZWVuIE1pbl9EYXRhPTB4MDAgYW5kIE1heF9EYXRhPTB4RkYKICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50OF90IExMX1VTQVJUX1JlY2VpdmVEYXRhOChVU0FSVF9UeXBlRGVmICpVU0FSVHgpCitfX1NUQVRJQ19JTkxJTkUgdWludDhfdCBMTF9VU0FSVF9SZWNlaXZlRGF0YTgoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KQogewogICByZXR1cm4gKHVpbnQ4X3QpKFJFQURfQklUKFVTQVJUeC0+UkRSLCBVU0FSVF9SRFJfUkRSKSAmIDB4RkZVKTsKIH0KQEAgLTM2NTksNyArMzY1OSw3IEBACiAgICogQHBhcmFtICBVU0FSVHggVVNBUlQgSW5zdGFuY2UKICAgKiBAcmV0dmFsIFZhbHVlIGJldHdlZW4gTWluX0RhdGE9MHgwMCBhbmQgTWF4X0RhdGE9MHgxRkYKICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MTZfdCBMTF9VU0FSVF9SZWNlaXZlRGF0YTkoVVNBUlRfVHlwZURlZiAqVVNBUlR4KQorX19TVEFUSUNfSU5MSU5FIHVpbnQxNl90IExMX1VTQVJUX1JlY2VpdmVEYXRhOShjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIHJldHVybiAodWludDE2X3QpKFJFQURfQklUKFVTQVJUeC0+UkRSLCBVU0FSVF9SRFJfUkRSKSk7CiB9CkBAIC0zNzY1LDEwICszNzY1LDEwIEBACiAvKiogQGRlZmdyb3VwIFVTQVJUX0xMX0VGX0luaXQgSW5pdGlhbGl6YXRpb24gYW5kIGRlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucwogICAqIEB7CiAgICovCi1FcnJvclN0YXR1cyBMTF9VU0FSVF9EZUluaXQoVVNBUlRfVHlwZURlZiAqVVNBUlR4KTsKLUVycm9yU3RhdHVzIExMX1VTQVJUX0luaXQoVVNBUlRfVHlwZURlZiAqVVNBUlR4LCBMTF9VU0FSVF9Jbml0VHlwZURlZiAqVVNBUlRfSW5pdFN0cnVjdCk7CitFcnJvclN0YXR1cyBMTF9VU0FSVF9EZUluaXQoY29uc3QgVVNBUlRfVHlwZURlZiAqVVNBUlR4KTsKK0Vycm9yU3RhdHVzIExMX1VTQVJUX0luaXQoVVNBUlRfVHlwZURlZiAqVVNBUlR4LCBjb25zdCBMTF9VU0FSVF9Jbml0VHlwZURlZiAqVVNBUlRfSW5pdFN0cnVjdCk7CiB2b2lkICAgICAgICBMTF9VU0FSVF9TdHJ1Y3RJbml0KExMX1VTQVJUX0luaXRUeXBlRGVmICpVU0FSVF9Jbml0U3RydWN0KTsKLUVycm9yU3RhdHVzIExMX1VTQVJUX0Nsb2NrSW5pdChVU0FSVF9UeXBlRGVmICpVU0FSVHgsIExMX1VTQVJUX0Nsb2NrSW5pdFR5cGVEZWYgKlVTQVJUX0Nsb2NrSW5pdFN0cnVjdCk7CitFcnJvclN0YXR1cyBMTF9VU0FSVF9DbG9ja0luaXQoVVNBUlRfVHlwZURlZiAqVVNBUlR4LCBjb25zdCBMTF9VU0FSVF9DbG9ja0luaXRUeXBlRGVmICpVU0FSVF9DbG9ja0luaXRTdHJ1Y3QpOwogdm9pZCAgICAgICAgTExfVVNBUlRfQ2xvY2tTdHJ1Y3RJbml0KExMX1VTQVJUX0Nsb2NrSW5pdFR5cGVEZWYgKlVTQVJUX0Nsb2NrSW5pdFN0cnVjdCk7CiAvKioKICAgKiBAfQpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjd4eF9sbF91c2IuaCBiL0luYy9zdG0zMmY3eHhfbGxfdXNiLmgKaW5kZXggZjlkNWIwYi4uYWJjZTFkMSAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjd4eF9sbF91c2IuaAorKysgYi9JbmMvc3RtMzJmN3h4X2xsX3VzYi5oCkBAIC03MSw2ICs3MSw3IEBACiAgIEhDX0lETEUgPSAwLAogICBIQ19YRlJDLAogICBIQ19IQUxURUQsCisgIEhDX0FDSywKICAgSENfTkFLLAogICBIQ19OWUVULAogICBIQ19TVEFMTCwKQEAgLTEzMSw2ICsxMzIsOSBAQAogICB1aW50OF90ICAgaXNfc3RhbGw7ICAgICAgICAgICAgIC8qITwgRW5kcG9pbnQgc3RhbGwgY29uZGl0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAwIGFuZCBNYXhfRGF0YSA9IDEgICAgKi8KIAorICB1aW50OF90ICAgaXNfaXNvX2luY29tcGxldGU7ICAgIC8qITwgRW5kcG9pbnQgaXNvYyBjb25kaXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDAgYW5kIE1heF9EYXRhID0gMSAgICAqLworCiAgIHVpbnQ4X3QgICB0eXBlOyAgICAgICAgICAgICAgICAgLyohPCBFbmRwb2ludCB0eXBlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYW55IHZhbHVlIG9mIEByZWYgVVNCX0xMX0VQX1R5cGUgICAgICAgICAgICAgICAgICAgKi8KIApAQCAtMTkwLDcgKzE5NCw3IEBACiAKICAgdWludDhfdCAgICp4ZmVyX2J1ZmY7ICAgICAgICAgLyohPCBQb2ludGVyIHRvIHRyYW5zZmVyIGJ1ZmZlci4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogCi0gIHVpbnQzMl90ICBYZmVyU2l6ZTsgICAgICAgICAgICAgLyohPCBPVEcgQ2hhbm5lbCB0cmFuc2ZlciBzaXplLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIHVpbnQzMl90ICBYZmVyU2l6ZTsgICAgICAgICAgICAgLyohPCBPVEcgQ2hhbm5lbCB0cmFuc2ZlciBzaXplLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIAogICB1aW50MzJfdCAgeGZlcl9sZW47ICAgICAgICAgICAvKiE8IEN1cnJlbnQgdHJhbnNmZXIgbGVuZ3RoLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAKQEAgLTQyNiw3ICs0MzAsNyBAQAogCiAjaWZkZWYgVVNCX0hTX1BIWUMgLyogTGVnYWN5IG5hbWUgZm9yIFVTQlBIWUMgZGVmaW5lZCBpbiBDTVNJUyBkZXZpY2UgYnV0IFVTQkNQSFlDIHVzZWQgaW4gVVNCIGRyaXZlciB0byBkZXRlcm1pbmUgaWYgcGVyaXBoZXJhbCBpcyBwcmVzZW50IG9yIG5vdCAqLwogI2RlZmluZSBVU0JQSFlDICAgVVNCX0hTX1BIWUMKLSNlbmRpZgorI2VuZGlmIC8qIFVTQl9IU19QSFlDICovCiAjZW5kaWYgLyogZGVmaW5lZCAoVVNCX09UR19GUykgfHwgZGVmaW5lZCAoVVNCX09UR19IUykgKi8KIAogI2RlZmluZSBFUF9BRERSX01TSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZVCkBAIC00NzksNiArNDgzLDcgQEAKIHZvaWQgICAgICAgICAgICAgKlVTQl9SZWFkUGFja2V0KFVTQl9PVEdfR2xvYmFsVHlwZURlZiAqVVNCeCwgdWludDhfdCAqZGVzdCwgdWludDE2X3QgbGVuKTsKIEhBTF9TdGF0dXNUeXBlRGVmIFVTQl9FUFNldFN0YWxsKFVTQl9PVEdfR2xvYmFsVHlwZURlZiAqVVNCeCwgVVNCX09UR19FUFR5cGVEZWYgKmVwKTsKIEhBTF9TdGF0dXNUeXBlRGVmIFVTQl9FUENsZWFyU3RhbGwoVVNCX09UR19HbG9iYWxUeXBlRGVmICpVU0J4LCBVU0JfT1RHX0VQVHlwZURlZiAqZXApOworSEFMX1N0YXR1c1R5cGVEZWYgVVNCX0VQU3RvcFhmZXIoVVNCX09UR19HbG9iYWxUeXBlRGVmICpVU0J4LCBVU0JfT1RHX0VQVHlwZURlZiAqZXApOwogSEFMX1N0YXR1c1R5cGVEZWYgVVNCX1NldERldkFkZHJlc3MoVVNCX09UR19HbG9iYWxUeXBlRGVmICpVU0J4LCB1aW50OF90IGFkZHJlc3MpOwogSEFMX1N0YXR1c1R5cGVEZWYgVVNCX0RldkNvbm5lY3QoVVNCX09UR19HbG9iYWxUeXBlRGVmICpVU0J4KTsKIEhBTF9TdGF0dXNUeXBlRGVmIFVTQl9EZXZEaXNjb25uZWN0KFVTQl9PVEdfR2xvYmFsVHlwZURlZiAqVVNCeCk7CkBAIC00ODgsNiArNDkzLDcgQEAKIHVpbnQ4X3QgICAgICAgICAgIFVTQl9HZXREZXZTcGVlZChVU0JfT1RHX0dsb2JhbFR5cGVEZWYgKlVTQngpOwogdWludDMyX3QgICAgICAgICAgVVNCX0dldE1vZGUoVVNCX09UR19HbG9iYWxUeXBlRGVmICpVU0J4KTsKIHVpbnQzMl90ICAgICAgICAgIFVTQl9SZWFkSW50ZXJydXB0cyhVU0JfT1RHX0dsb2JhbFR5cGVEZWYgKlVTQngpOwordWludDMyX3QgICAgICAgICAgVVNCX1JlYWRDaEludGVycnVwdHMoVVNCX09UR19HbG9iYWxUeXBlRGVmICpVU0J4LCB1aW50OF90IGNobnVtKTsKIHVpbnQzMl90ICAgICAgICAgIFVTQl9SZWFkRGV2QWxsT3V0RXBJbnRlcnJ1cHQoVVNCX09UR19HbG9iYWxUeXBlRGVmICpVU0J4KTsKIHVpbnQzMl90ICAgICAgICAgIFVTQl9SZWFkRGV2T3V0RVBJbnRlcnJ1cHQoVVNCX09UR19HbG9iYWxUeXBlRGVmICpVU0J4LCB1aW50OF90IGVwbnVtKTsKIHVpbnQzMl90ICAgICAgICAgIFVTQl9SZWFkRGV2QWxsSW5FcEludGVycnVwdChVU0JfT1RHX0dsb2JhbFR5cGVEZWYgKlVTQngpOwpkaWZmIC0tZ2l0IGEvUkVBRE1FLm1kIGIvUkVBRE1FLm1kCmluZGV4IDZiNDFjM2YuLmM5MDE3NDEgMTAwNjQ0Ci0tLSBhL1JFQURNRS5tZAorKysgYi9SRUFETUUubWQKQEAgLTI3LDE2ICsyNyw3IEBACiAKICMjIENvbXBhdGliaWxpdHkgaW5mb3JtYXRpb24KIAotSW4gdGhpcyB0YWJsZSwgeW91IGNhbiBmaW5kIHRoZSBzdWNjZXNzaXZlIHZlcnNpb25zIG9mIHRoaXMgSEFMLUxMIERyaXZlciBjb21wb25lbnQsIGluIGxpbmUgd2l0aCB0aGUgY29ycmVzcG9uZGluZyB2ZXJzaW9ucyBvZiB0aGUgZnVsbCBNQ1UgcGFja2FnZToKLQotSXQgaXMgKipjcnVjaWFsKiogdGhhdCB5b3UgdXNlIGEgY29uc2lzdGVudCBzZXQgb2YgdmVyc2lvbnMgZm9yIHRoZSBDTVNJUyBDb3JlIC0gQ01TSVMgRGV2aWNlIC0gSEFMLCBhcyBtZW50aW9uZWQgaW4gdGhpcyB0YWJsZS4KLQotSEFMIERyaXZlciBGNyAgfCBDTVNJUyBEZXZpY2UgRjcgfCBDTVNJUyBDb3JlICAgICB8IFdhcyBkZWxpdmVyZWQgaW4gdGhlIGZ1bGwgTUNVIHBhY2thZ2UKLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1UYWcgdjEuMi43ICAgICB8IFRhZyB2MS4yLjQgICAgICB8IFRhZyB2NS40LjBfY203IHwgVGFnIHYxLjE1LjAgKGFuZCBmb2xsb3dpbmcsIGlmIGFueSwgdGlsbCBuZXh0IHRhZykKLVRhZyB2MS4yLjggICAgIHwgVGFnIHYxLjIuNSAgICAgIHwgVGFnIHY1LjQuMF9jbTcgfCBUYWcgdjEuMTYuMCAoYW5kIGZvbGxvd2luZywgaWYgYW55LCB0aWxsIG5leHQgdGFnKQotVGFnIHYxLjIuOSAgICAgfCBUYWcgdjEuMi42ICAgICAgfCBUYWcgdjUuNC4wX2NtNyB8IFRhZyB2MS4xNi4xIChhbmQgZm9sbG93aW5nLCBpZiBhbnksIHRpbGwgbmV4dCB0YWcpCi1UYWcgdjEuMi4xMCAgICB8IFRhZyB2MS4yLjcgICAgICB8IFRhZyB2NS40LjBfY203IHwgVGFnIHYxLjE2LjIgKGFuZCBmb2xsb3dpbmcsIGlmIGFueSwgdGlsbCBuZXh0IHRhZykKK0l0IGlzICoqY3J1Y2lhbCoqIHRoYXQgeW91IHVzZSBhIGNvbnNpc3RlbnQgc2V0IG9mIHZlcnNpb25zIGZvciB0aGUgQ01TSVMgQ29yZSAtIENNU0lTIERldmljZSAtIEhBTCwgYXMgbWVudGlvbmVkIGluIFt0aGlzXShodHRwczovL2h0bWxwcmV2aWV3LmdpdGh1Yi5pby8/aHR0cHM6Ly9naXRodWIuY29tL1NUTWljcm9lbGVjdHJvbmljcy9TVE0zMkN1YmVGNy9ibG9iL21hc3Rlci9SZWxlYXNlX05vdGVzLmh0bWwpIHJlbGVhc2Ugbm90ZS4KIAogVGhlIGZ1bGwgKipTVE0zMkN1YmVGNyoqIE1DVSBwYWNrYWdlIGlzIGF2YWlsYWJsZSBbaGVyZV0oaHR0cHM6Ly9naXRodWIuY29tL1NUTWljcm9lbGVjdHJvbmljcy9TVE0zMkN1YmVGNykuCiAKZGlmZiAtLWdpdCBhL1JlbGVhc2VfTm90ZXMuaHRtbCBiL1JlbGVhc2VfTm90ZXMuaHRtbAppbmRleCBiYTY1NGE1Li5jNWMyZWYwIDEwMDY0NAotLS0gYS9SZWxlYXNlX05vdGVzLmh0bWwKKysrIGIvUmVsZWFzZV9Ob3Rlcy5odG1sCkBAIC0xLDE3Njk5ICsxLDE0MzggQEAKLTwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4iPgotPGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiCi0gIHhtbG5zOm89InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIKLSAgeG1sbnM6dz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIKLSAgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIgotICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MCI+Ci0gIDxoZWFkPgotICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOwotICAgICAgY2hhcnNldD13aW5kb3dzLTEyNTIiPgotICAgIDxtZXRhIG5hbWU9IlByb2dJZCIgY29udGVudD0iV29yZC5Eb2N1bWVudCI+Ci0gICAgPG1ldGEgbmFtZT0iR2VuZXJhdG9yIiBjb250ZW50PSJNaWNyb3NvZnQgV29yZCAxNSI+Ci0gICAgPG1ldGEgbmFtZT0iT3JpZ2luYXRvciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUiPgotICAgIDxsaW5rIHJlbD0iRmlsZS1MaXN0IiBocmVmPSJSZWxlYXNlX05vdGVzX2ZpbGVzL2ZpbGVsaXN0LnhtbCI+Ci0gICAgPGxpbmsgcmVsPSJFZGl0LVRpbWUtRGF0YSIgaHJlZj0iUmVsZWFzZV9Ob3Rlc19maWxlcy9lZGl0ZGF0YS5tc28iPgotICAgIDwhLS1baWYgIW1zb10+Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIj4KKzxodG1sIHhtbG5zOnY9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206dm1sIiB4bWxuczpvPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpvZmZpY2UiIHhtbG5zOnc9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOndvcmQiIHhtbG5zOm09Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlLzIwMDQvMTIvb21tbCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAiPjxoZWFkPgorCisKKworCisKKworCisKKworPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9d2luZG93cy0xMjUyIj4KKzxsaW5rIHJlbD0iRmlsZS1MaXN0IiBocmVmPSJSZWxlYXNlX05vdGVzX2Zvcl9TVE0zMkY0NXhfU3RkUGVyaXBoX0RyaXZlcl9maWxlcy9maWxlbGlzdC54bWwiPgorPGxpbmsgcmVsPSJFZGl0LVRpbWUtRGF0YSIgaHJlZj0iUmVsZWFzZV9Ob3Rlc19mb3JfU1RNMzJGNDV4X1N0ZFBlcmlwaF9Ecml2ZXJfZmlsZXMvZWRpdGRhdGEubXNvIj48IS0tW2lmICFtc29dPiA8c3R5bGU+IHZcOioge2JlaGF2aW9yOnVybCgjZGVmYXVsdCNWTUwpO30gb1w6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fSB3XDoqIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9IC5zaGFwZSB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fSA8L3N0eWxlPiA8IVtlbmRpZl0tLT48dGl0bGU+UmVsZWFzZSBOb3RlcyBmb3IgU1RNMzJGN3h4IEhBTCBEcml2ZXJzPC90aXRsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4gPG86RG9jdW1lbnRQcm9wZXJ0aWVzPiA8bzpBdXRob3I+U1RNaWNyb2VsZWN0cm9uaWNzPC9vOkF1dGhvcj4gPG86TGFzdEF1dGhvcj5SYW91ZiBIb3NuaTwvbzpMYXN0QXV0aG9yPiA8bzpSZXZpc2lvbj4zOTwvbzpSZXZpc2lvbj4gPG86VG90YWxUaW1lPjEzNzwvbzpUb3RhbFRpbWU+IDxvOkNyZWF0ZWQ+MjAwOS0wMi0yN1QxOToyNjowMFo8L286Q3JlYXRlZD4gPG86TGFzdFNhdmVkPjIwMTAtMTAtMTVUMTE6MDc6MDBaPC9vOkxhc3RTYXZlZD4gPG86UGFnZXM+MzwvbzpQYWdlcz4gPG86V29yZHM+OTczPC9vOldvcmRzPiA8bzpDaGFyYWN0ZXJzPjU1NDg8L286Q2hhcmFjdGVycz4gPG86Q29tcGFueT5TVE1pY3JvZWxlY3Ryb25pY3M8L286Q29tcGFueT4gPG86TGluZXM+NDY8L286TGluZXM+IDxvOlBhcmFncmFwaHM+MTM8L286UGFyYWdyYXBocz4gPG86Q2hhcmFjdGVyc1dpdGhTcGFjZXM+NjUwODwvbzpDaGFyYWN0ZXJzV2l0aFNwYWNlcz4gPG86VmVyc2lvbj4xMi4wMDwvbzpWZXJzaW9uPiA8L286RG9jdW1lbnRQcm9wZXJ0aWVzPiA8L3htbD48IVtlbmRpZl0tLT4KKworCisKKzxsaW5rIHJlbD0idGhlbWVEYXRhIiBocmVmPSJSZWxlYXNlX05vdGVzX2Zvcl9TVE0zMkY0NXhfU3RkUGVyaXBoX0RyaXZlcl9maWxlcy90aGVtZWRhdGEudGhteCI+Cis8bGluayByZWw9ImNvbG9yU2NoZW1lTWFwcGluZyIgaHJlZj0iUmVsZWFzZV9Ob3Rlc19mb3JfU1RNMzJGNDV4X1N0ZFBlcmlwaF9Ecml2ZXJfZmlsZXMvY29sb3JzY2hlbWVtYXBwaW5nLnhtbCI+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+IDx3OldvcmREb2N1bWVudD4gPHc6Wm9vbT4xMTA8L3c6Wm9vbT4gPHc6VHJhY2tNb3Zlcz5mYWxzZTwvdzpUcmFja01vdmVzPiA8dzpUcmFja0Zvcm1hdHRpbmcvPiA8dzpWYWxpZGF0ZUFnYWluc3RTY2hlbWFzLz4gPHc6U2F2ZUlmWE1MSW52YWxpZD5mYWxzZTwvdzpTYXZlSWZYTUxJbnZhbGlkPiA8dzpJZ25vcmVNaXhlZENvbnRlbnQ+ZmFsc2U8L3c6SWdub3JlTWl4ZWRDb250ZW50PiA8dzpBbHdheXNTaG93UGxhY2Vob2xkZXJUZXh0PmZhbHNlPC93OkFsd2F5c1Nob3dQbGFjZWhvbGRlclRleHQ+IDx3OkRvTm90UHJvbW90ZVFGLz4gPHc6TGlkVGhlbWVPdGhlcj5FTi1VUzwvdzpMaWRUaGVtZU90aGVyPiA8dzpMaWRUaGVtZUFzaWFuPlgtTk9ORTwvdzpMaWRUaGVtZUFzaWFuPiA8dzpMaWRUaGVtZUNvbXBsZXhTY3JpcHQ+WC1OT05FPC93OkxpZFRoZW1lQ29tcGxleFNjcmlwdD4gPHc6Q29tcGF0aWJpbGl0eT4gPHc6QnJlYWtXcmFwcGVkVGFibGVzLz4gPHc6U25hcFRvR3JpZEluQ2VsbC8+IDx3OldyYXBUZXh0V2l0aFB1bmN0Lz4gPHc6VXNlQXNpYW5CcmVha1J1bGVzLz4gPHc6RG9udEdyb3dBdXRvZml0Lz4gPHc6U3BsaXRQZ0JyZWFrQW5kUGFyYU1hcmsvPiA8dzpEb250VmVydEFsaWduQ2VsbFdpdGhTcC8+IDx3OkRvbnRCcmVha0NvbnN0cmFpbmVkRm9yY2VkVGFibGVzLz4gPHc6RG9udFZlcnRBbGlnbkluVHhieC8+IDx3OldvcmQxMUtlcm5pbmdQYWlycy8+IDx3OkNhY2hlZENvbEJhbGFuY2UvPiA8L3c6Q29tcGF0aWJpbGl0eT4gPHc6QnJvd3NlckxldmVsPk1pY3Jvc29mdEludGVybmV0RXhwbG9yZXI0PC93OkJyb3dzZXJMZXZlbD4gPG06bWF0aFByPiA8bTptYXRoRm9udCBtOnZhbD0iQ2FtYnJpYSBNYXRoIi8+IDxtOmJya0JpbiBtOnZhbD0iYmVmb3JlIi8+IDxtOmJya0JpblN1YiBtOnZhbD0iJiM0NTstIi8+IDxtOnNtYWxsRnJhYyBtOnZhbD0ib2ZmIi8+IDxtOmRpc3BEZWYvPiA8bTpsTWFyZ2luIG06dmFsPSIwIi8+IDxtOnJNYXJnaW4gbTp2YWw9IjAiLz4gPG06ZGVmSmMgbTp2YWw9ImNlbnRlckdyb3VwIi8+IDxtOndyYXBJbmRlbnQgbTp2YWw9IjE0NDAiLz4gPG06aW50TGltIG06dmFsPSJzdWJTdXAiLz4gPG06bmFyeUxpbSBtOnZhbD0idW5kT3ZyIi8+IDwvbTptYXRoUHI+PC93OldvcmREb2N1bWVudD4gPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+IDx3OkxhdGVudFN0eWxlcyBEZWZMb2NrZWRTdGF0ZT0iZmFsc2UiIERlZlVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIgRGVmU2VtaUhpZGRlbj0iZmFsc2UiIERlZlFGb3JtYXQ9ImZhbHNlIiBMYXRlbnRTdHlsZUNvdW50PSIyNjciPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iTm9ybWFsIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDEiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImhlYWRpbmcgMiIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyAzIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyA0Ii8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyA1Ii8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyA2Ii8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyA3Ii8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyA4Ii8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyA5Ii8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iY2FwdGlvbiIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iVGl0bGUiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIxIiBOYW1lPSJEZWZhdWx0IFBhcmFncmFwaCBGb250Ii8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJTdWJ0aXRsZSIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iU3Ryb25nIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJFbXBoYXNpcyIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9Ijk5IiBOYW1lPSJObyBMaXN0Ii8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOTkiIFNlbWlIaWRkZW49InRydWUiIE5hbWU9IlBsYWNlaG9sZGVyIFRleHQiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIxIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJObyBTcGFjaW5nIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjAiIE5hbWU9IkxpZ2h0IFNoYWRpbmciLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgTmFtZT0iTGlnaHQgTGlzdCIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBOYW1lPSJMaWdodCBHcmlkIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY1IiBOYW1lPSJNZWRpdW0gTGlzdCAxIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdyaWQgMSIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRpdW0gR3JpZCAyIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBHcmlkIDMiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0Ii8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmciLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29sb3JmdWwgTGlzdCIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjAiIE5hbWU9IkxpZ2h0IFNoYWRpbmcgQWNjZW50IDEiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgTmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgMSIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBOYW1lPSJMaWdodCBHcmlkIEFjY2VudCAxIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEgQWNjZW50IDEiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiBBY2NlbnQgMSIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY1IiBOYW1lPSJNZWRpdW0gTGlzdCAxIEFjY2VudCAxIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOTkiIFNlbWlIaWRkZW49InRydWUiIE5hbWU9IlJldmlzaW9uIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzQiIFFGb3JtYXQ9InRydWUiIE5hbWU9Ikxpc3QgUGFyYWdyYXBoIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMjkiIFFGb3JtYXQ9InRydWUiIE5hbWU9IlF1b3RlIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzAiIFFGb3JtYXQ9InRydWUiIE5hbWU9IkludGVuc2UgUXVvdGUiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NiIgTmFtZT0iTWVkaXVtIExpc3QgMiBBY2NlbnQgMSIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY3IiBOYW1lPSJNZWRpdW0gR3JpZCAxIEFjY2VudCAxIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjgiIE5hbWU9Ik1lZGl1bSBHcmlkIDIgQWNjZW50IDEiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OSIgTmFtZT0iTWVkaXVtIEdyaWQgMyBBY2NlbnQgMSIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcwIiBOYW1lPSJEYXJrIExpc3QgQWNjZW50IDEiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MSIgTmFtZT0iQ29sb3JmdWwgU2hhZGluZyBBY2NlbnQgMSIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcyIiBOYW1lPSJDb2xvcmZ1bCBMaXN0IEFjY2VudCAxIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzMiIE5hbWU9IkNvbG9yZnVsIEdyaWQgQWNjZW50IDEiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MCIgTmFtZT0iTGlnaHQgU2hhZGluZyBBY2NlbnQgMiIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYxIiBOYW1lPSJMaWdodCBMaXN0IEFjY2VudCAyIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjIiIE5hbWU9IkxpZ2h0IEdyaWQgQWNjZW50IDIiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MyIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMSBBY2NlbnQgMiIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY0IiBOYW1lPSJNZWRpdW0gU2hhZGluZyAyIEFjY2VudCAyIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjUiIE5hbWU9Ik1lZGl1bSBMaXN0IDEgQWNjZW50IDIiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NiIgTmFtZT0iTWVkaXVtIExpc3QgMiBBY2NlbnQgMiIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY3IiBOYW1lPSJNZWRpdW0gR3JpZCAxIEFjY2VudCAyIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjgiIE5hbWU9Ik1lZGl1bSBHcmlkIDIgQWNjZW50IDIiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OSIgTmFtZT0iTWVkaXVtIEdyaWQgMyBBY2NlbnQgMiIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcwIiBOYW1lPSJEYXJrIExpc3QgQWNjZW50IDIiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MSIgTmFtZT0iQ29sb3JmdWwgU2hhZGluZyBBY2NlbnQgMiIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcyIiBOYW1lPSJDb2xvcmZ1bCBMaXN0IEFjY2VudCAyIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzMiIE5hbWU9IkNvbG9yZnVsIEdyaWQgQWNjZW50IDIiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MCIgTmFtZT0iTGlnaHQgU2hhZGluZyBBY2NlbnQgMyIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYxIiBOYW1lPSJMaWdodCBMaXN0IEFjY2VudCAzIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjIiIE5hbWU9IkxpZ2h0IEdyaWQgQWNjZW50IDMiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MyIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMSBBY2NlbnQgMyIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY0IiBOYW1lPSJNZWRpdW0gU2hhZGluZyAyIEFjY2VudCAzIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjUiIE5hbWU9Ik1lZGl1bSBMaXN0IDEgQWNjZW50IDMiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NiIgTmFtZT0iTWVkaXVtIExpc3QgMiBBY2NlbnQgMyIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY3IiBOYW1lPSJNZWRpdW0gR3JpZCAxIEFjY2VudCAzIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjgiIE5hbWU9Ik1lZGl1bSBHcmlkIDIgQWNjZW50IDMiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OSIgTmFtZT0iTWVkaXVtIEdyaWQgMyBBY2NlbnQgMyIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcwIiBOYW1lPSJEYXJrIExpc3QgQWNjZW50IDMiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MSIgTmFtZT0iQ29sb3JmdWwgU2hhZGluZyBBY2NlbnQgMyIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcyIiBOYW1lPSJDb2xvcmZ1bCBMaXN0IEFjY2VudCAzIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzMiIE5hbWU9IkNvbG9yZnVsIEdyaWQgQWNjZW50IDMiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MCIgTmFtZT0iTGlnaHQgU2hhZGluZyBBY2NlbnQgNCIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYxIiBOYW1lPSJMaWdodCBMaXN0IEFjY2VudCA0Ii8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjIiIE5hbWU9IkxpZ2h0IEdyaWQgQWNjZW50IDQiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MyIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMSBBY2NlbnQgNCIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY0IiBOYW1lPSJNZWRpdW0gU2hhZGluZyAyIEFjY2VudCA0Ii8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjUiIE5hbWU9Ik1lZGl1bSBMaXN0IDEgQWNjZW50IDQiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NiIgTmFtZT0iTWVkaXVtIExpc3QgMiBBY2NlbnQgNCIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY3IiBOYW1lPSJNZWRpdW0gR3JpZCAxIEFjY2VudCA0Ii8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjgiIE5hbWU9Ik1lZGl1bSBHcmlkIDIgQWNjZW50IDQiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OSIgTmFtZT0iTWVkaXVtIEdyaWQgMyBBY2NlbnQgNCIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcwIiBOYW1lPSJEYXJrIExpc3QgQWNjZW50IDQiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MSIgTmFtZT0iQ29sb3JmdWwgU2hhZGluZyBBY2NlbnQgNCIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcyIiBOYW1lPSJDb2xvcmZ1bCBMaXN0IEFjY2VudCA0Ii8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzMiIE5hbWU9IkNvbG9yZnVsIEdyaWQgQWNjZW50IDQiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MCIgTmFtZT0iTGlnaHQgU2hhZGluZyBBY2NlbnQgNSIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYxIiBOYW1lPSJMaWdodCBMaXN0IEFjY2VudCA1Ii8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjIiIE5hbWU9IkxpZ2h0IEdyaWQgQWNjZW50IDUiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MyIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMSBBY2NlbnQgNSIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY0IiBOYW1lPSJNZWRpdW0gU2hhZGluZyAyIEFjY2VudCA1Ii8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjUiIE5hbWU9Ik1lZGl1bSBMaXN0IDEgQWNjZW50IDUiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NiIgTmFtZT0iTWVkaXVtIExpc3QgMiBBY2NlbnQgNSIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY3IiBOYW1lPSJNZWRpdW0gR3JpZCAxIEFjY2VudCA1Ii8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjgiIE5hbWU9Ik1lZGl1bSBHcmlkIDIgQWNjZW50IDUiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OSIgTmFtZT0iTWVkaXVtIEdyaWQgMyBBY2NlbnQgNSIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcwIiBOYW1lPSJEYXJrIExpc3QgQWNjZW50IDUiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MSIgTmFtZT0iQ29sb3JmdWwgU2hhZGluZyBBY2NlbnQgNSIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcyIiBOYW1lPSJDb2xvcmZ1bCBMaXN0IEFjY2VudCA1Ii8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzMiIE5hbWU9IkNvbG9yZnVsIEdyaWQgQWNjZW50IDUiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MCIgTmFtZT0iTGlnaHQgU2hhZGluZyBBY2NlbnQgNiIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYxIiBOYW1lPSJMaWdodCBMaXN0IEFjY2VudCA2Ii8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjIiIE5hbWU9IkxpZ2h0IEdyaWQgQWNjZW50IDYiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MyIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMSBBY2NlbnQgNiIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY0IiBOYW1lPSJNZWRpdW0gU2hhZGluZyAyIEFjY2VudCA2Ii8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjUiIE5hbWU9Ik1lZGl1bSBMaXN0IDEgQWNjZW50IDYiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NiIgTmFtZT0iTWVkaXVtIExpc3QgMiBBY2NlbnQgNiIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY3IiBOYW1lPSJNZWRpdW0gR3JpZCAxIEFjY2VudCA2Ii8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjgiIE5hbWU9Ik1lZGl1bSBHcmlkIDIgQWNjZW50IDYiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OSIgTmFtZT0iTWVkaXVtIEdyaWQgMyBBY2NlbnQgNiIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcwIiBOYW1lPSJEYXJrIExpc3QgQWNjZW50IDYiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MSIgTmFtZT0iQ29sb3JmdWwgU2hhZGluZyBBY2NlbnQgNiIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcyIiBOYW1lPSJDb2xvcmZ1bCBMaXN0IEFjY2VudCA2Ii8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzMiIE5hbWU9IkNvbG9yZnVsIEdyaWQgQWNjZW50IDYiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIxOSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iU3VidGxlIEVtcGhhc2lzIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMjEiIFFGb3JtYXQ9InRydWUiIE5hbWU9IkludGVuc2UgRW1waGFzaXMiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzMSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iU3VidGxlIFJlZmVyZW5jZSIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjMyIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJJbnRlbnNlIFJlZmVyZW5jZSIvPiA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjMzIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJCb29rIFRpdGxlIi8+IDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzciIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJCaWJsaW9ncmFwaHkiLz4gPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9IlRPQyBIZWFkaW5nIi8+IDwvdzpMYXRlbnRTdHlsZXM+IDwveG1sPjwhW2VuZGlmXS0tPgorCiA8c3R5bGU+Ci12XDoqIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9Ci1vXDoqIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9Ci13XDoqIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9Ci0uc2hhcGUge2JlaGF2aW9yOnVybCgjZGVmYXVsdCNWTUwpO30KLTwvc3R5bGU+Ci08IVtlbmRpZl0tLT4KLSAgICA8dGl0bGU+UmVsZWFzZSBOb3RlcyBmb3IgU1RNMzJGN3h4IEhBTCBEcml2ZXJzPC90aXRsZT4KLSAgICA8bGluayByZWw9InRoZW1lRGF0YSIgaHJlZj0iUmVsZWFzZV9Ob3Rlc19maWxlcy90aGVtZWRhdGEudGhteCI+Ci0gICAgPGxpbmsgcmVsPSJjb2xvclNjaGVtZU1hcHBpbmciCi0gICAgICBocmVmPSJSZWxlYXNlX05vdGVzX2ZpbGVzL2NvbG9yc2NoZW1lbWFwcGluZy54bWwiPgotICAgIDwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPgotIDx3OldvcmREb2N1bWVudD4KLSAgPHc6Vmlldz5QcmludDwvdzpWaWV3PgotICA8dzpUcmFja01vdmVzPmZhbHNlPC93OlRyYWNrTW92ZXM+Ci0gIDx3OlRyYWNrRm9ybWF0dGluZy8+Ci0gIDx3OlZhbGlkYXRlQWdhaW5zdFNjaGVtYXMvPgotICA8dzpTYXZlSWZYTUxJbnZhbGlkPmZhbHNlPC93OlNhdmVJZlhNTEludmFsaWQ+Ci0gIDx3Oklnbm9yZU1peGVkQ29udGVudD5mYWxzZTwvdzpJZ25vcmVNaXhlZENvbnRlbnQ+Ci0gIDx3OkFsd2F5c1Nob3dQbGFjZWhvbGRlclRleHQ+ZmFsc2U8L3c6QWx3YXlzU2hvd1BsYWNlaG9sZGVyVGV4dD4KLSAgPHc6RG9Ob3RQcm9tb3RlUUYvPgotICA8dzpMaWRUaGVtZU90aGVyPkVOLVVTPC93OkxpZFRoZW1lT3RoZXI+Ci0gIDx3OkxpZFRoZW1lQXNpYW4+WC1OT05FPC93OkxpZFRoZW1lQXNpYW4+Ci0gIDx3OkxpZFRoZW1lQ29tcGxleFNjcmlwdD5YLU5PTkU8L3c6TGlkVGhlbWVDb21wbGV4U2NyaXB0PgotICA8dzpDb21wYXRpYmlsaXR5PgotICAgPHc6QnJlYWtXcmFwcGVkVGFibGVzLz4KLSAgIDx3OlNwbGl0UGdCcmVha0FuZFBhcmFNYXJrLz4KLSAgPC93OkNvbXBhdGliaWxpdHk+Ci0gIDx3OkJyb3dzZXJMZXZlbD5NaWNyb3NvZnRJbnRlcm5ldEV4cGxvcmVyNDwvdzpCcm93c2VyTGV2ZWw+Ci0gIDxtOm1hdGhQcj4KLSAgIDxtOm1hdGhGb250IG06dmFsPSJDYW1icmlhIE1hdGgiLz4KLSAgIDxtOmJya0JpbiBtOnZhbD0iYmVmb3JlIi8+Ci0gICA8bTpicmtCaW5TdWIgbTp2YWw9IiYjNDU7LSIvPgotICAgPG06c21hbGxGcmFjIG06dmFsPSJvZmYiLz4KLSAgIDxtOmRpc3BEZWYvPgotICAgPG06bE1hcmdpbiBtOnZhbD0iMCIvPgotICAgPG06ck1hcmdpbiBtOnZhbD0iMCIvPgotICAgPG06ZGVmSmMgbTp2YWw9ImNlbnRlckdyb3VwIi8+Ci0gICA8bTp3cmFwSW5kZW50IG06dmFsPSIxNDQwIi8+Ci0gICA8bTppbnRMaW0gbTp2YWw9InN1YlN1cCIvPgotICAgPG06bmFyeUxpbSBtOnZhbD0idW5kT3ZyIi8+Ci0gIDwvbTptYXRoUHI+PC93OldvcmREb2N1bWVudD4KLTwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPgotIDx3OkxhdGVudFN0eWxlcyBEZWZMb2NrZWRTdGF0ZT0iZmFsc2UiIERlZlVuaGlkZVdoZW5Vc2VkPSJmYWxzZSIKLSAgRGVmU2VtaUhpZGRlbj0iZmFsc2UiIERlZlFGb3JtYXQ9ImZhbHNlIiBEZWZQcmlvcml0eT0iOTkiCi0gIExhdGVudFN0eWxlQ291bnQ9IjM3NiI+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMCIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iTm9ybWFsIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImhlYWRpbmcgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImhlYWRpbmcgOCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyA5Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImluZGV4IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iaW5kZXggMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJpbmRleCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImluZGV4IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iaW5kZXggNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJpbmRleCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImluZGV4IDciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iaW5kZXggOCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJpbmRleCA5Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0idG9jIDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJ0b2MgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRvYyAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0idG9jIDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJ0b2MgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRvYyA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0idG9jIDciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJ0b2MgOCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRvYyA5Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ik5vcm1hbCBJbmRlbnQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iZm9vdG5vdGUgdGV4dCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJhbm5vdGF0aW9uIHRleHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iaGVhZGVyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImZvb3RlciIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJpbmRleCBoZWFkaW5nIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzUiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iY2FwdGlvbiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJ0YWJsZSBvZiBmaWd1cmVzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImVudmVsb3BlIGFkZHJlc3MiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iZW52ZWxvcGUgcmV0dXJuIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImZvb3Rub3RlIHJlZmVyZW5jZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJhbm5vdGF0aW9uIHJlZmVyZW5jZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJsaW5lIG51bWJlciIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJwYWdlIG51bWJlciIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJlbmRub3RlIHJlZmVyZW5jZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJlbmRub3RlIHRleHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0idGFibGUgb2YgYXV0aG9yaXRpZXMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0ibWFjcm8iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0idG9hIGhlYWRpbmciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IEJ1bGxldCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IE51bWJlciIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBCdWxsZXQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IEJ1bGxldCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgQnVsbGV0IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBCdWxsZXQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IE51bWJlciAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgTnVtYmVyIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBOdW1iZXIgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IE51bWJlciA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMTAiIFFGb3JtYXQ9InRydWUiIE5hbWU9IlRpdGxlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkNsb3NpbmciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iU2lnbmF0dXJlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJEZWZhdWx0IFBhcmFncmFwaCBGb250Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkJvZHkgVGV4dCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJCb2R5IFRleHQgSW5kZW50Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgQ29udGludWUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBDb250aW51ZSAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgQ29udGludWUgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IENvbnRpbnVlIDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBDb250aW51ZSA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ik1lc3NhZ2UgSGVhZGVyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMTEiIFFGb3JtYXQ9InRydWUiIE5hbWU9IlN1YnRpdGxlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlNhbHV0YXRpb24iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iRGF0ZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJCb2R5IFRleHQgRmlyc3QgSW5kZW50Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkJvZHkgVGV4dCBGaXJzdCBJbmRlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJOb3RlIEhlYWRpbmciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iQm9keSBUZXh0IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iQm9keSBUZXh0IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iQm9keSBUZXh0IEluZGVudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkJvZHkgVGV4dCBJbmRlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJCbG9jayBUZXh0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikh5cGVybGluayIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJGb2xsb3dlZEh5cGVybGluayIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjIyIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJTdHJvbmciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIyMCIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iRW1waGFzaXMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iRG9jdW1lbnQgTWFwIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlBsYWluIFRleHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iRS1tYWlsIFNpZ25hdHVyZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIFRvcCBvZiBGb3JtIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgQm90dG9tIG9mIEZvcm0iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTm9ybWFsIChXZWIpIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgQWNyb255bSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIEFkZHJlc3MiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSFRNTCBDaXRlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgQ29kZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIERlZmluaXRpb24iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSFRNTCBLZXlib2FyZCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIFByZWZvcm1hdHRlZCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIFNhbXBsZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIFR5cGV3cml0ZXIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSFRNTCBWYXJpYWJsZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJOb3JtYWwgVGFibGUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iYW5ub3RhdGlvbiBzdWJqZWN0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ik5vIExpc3QiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iT3V0bGluZSBMaXN0IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iT3V0bGluZSBMaXN0IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iT3V0bGluZSBMaXN0IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgU2ltcGxlIDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgU2ltcGxlIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgU2ltcGxlIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ2xhc3NpYyAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENsYXNzaWMgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDbGFzc2ljIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ2xhc3NpYyA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENvbG9yZnVsIDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ29sb3JmdWwgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDb2xvcmZ1bCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENvbHVtbnMgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDb2x1bW5zIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ29sdW1ucyAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENvbHVtbnMgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDb2x1bW5zIDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgR3JpZCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIEdyaWQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBHcmlkIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgR3JpZCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIEdyaWQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBHcmlkIDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgR3JpZCA3Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIEdyaWQgOCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBMaXN0IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgTGlzdCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIExpc3QgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBMaXN0IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgTGlzdCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIExpc3QgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBMaXN0IDciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgTGlzdCA4Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIDNEIGVmZmVjdHMgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSAzRCBlZmZlY3RzIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgM0QgZWZmZWN0cyAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENvbnRlbXBvcmFyeSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBFbGVnYW50Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIFByb2Zlc3Npb25hbCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBTdWJ0bGUgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBTdWJ0bGUgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBXZWIgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBXZWIgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBXZWIgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJCYWxsb29uIFRleHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgTmFtZT0iVGFibGUgR3JpZCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBUaGVtZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgTmFtZT0iUGxhY2Vob2xkZXIgVGV4dCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjEiIFFGb3JtYXQ9InRydWUiIE5hbWU9Ik5vIFNwYWNpbmciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MCIgTmFtZT0iTGlnaHQgU2hhZGluZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYxIiBOYW1lPSJMaWdodCBMaXN0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjIiIE5hbWU9IkxpZ2h0IEdyaWQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MyIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY0IiBOYW1lPSJNZWRpdW0gU2hhZGluZyAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjUiIE5hbWU9Ik1lZGl1bSBMaXN0IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NiIgTmFtZT0iTWVkaXVtIExpc3QgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY3IiBOYW1lPSJNZWRpdW0gR3JpZCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjgiIE5hbWU9Ik1lZGl1bSBHcmlkIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OSIgTmFtZT0iTWVkaXVtIEdyaWQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcwIiBOYW1lPSJEYXJrIExpc3QiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MSIgTmFtZT0iQ29sb3JmdWwgU2hhZGluZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcyIiBOYW1lPSJDb2xvcmZ1bCBMaXN0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzMiIE5hbWU9IkNvbG9yZnVsIEdyaWQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MCIgTmFtZT0iTGlnaHQgU2hhZGluZyBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYxIiBOYW1lPSJMaWdodCBMaXN0IEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjIiIE5hbWU9IkxpZ2h0IEdyaWQgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MyIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMSBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY0IiBOYW1lPSJNZWRpdW0gU2hhZGluZyAyIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjUiIE5hbWU9Ik1lZGl1bSBMaXN0IDEgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIE5hbWU9IlJldmlzaW9uIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzQiIFFGb3JtYXQ9InRydWUiCi0gICBOYW1lPSJMaXN0IFBhcmFncmFwaCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjI5IiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJRdW90ZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjMwIiBRRm9ybWF0PSJ0cnVlIgotICAgTmFtZT0iSW50ZW5zZSBRdW90ZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjE5IiBRRm9ybWF0PSJ0cnVlIgotICAgTmFtZT0iU3VidGxlIEVtcGhhc2lzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMjEiIFFGb3JtYXQ9InRydWUiCi0gICBOYW1lPSJJbnRlbnNlIEVtcGhhc2lzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzEiIFFGb3JtYXQ9InRydWUiCi0gICBOYW1lPSJTdWJ0bGUgUmVmZXJlbmNlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzIiIFFGb3JtYXQ9InRydWUiCi0gICBOYW1lPSJJbnRlbnNlIFJlZmVyZW5jZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjMzIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJCb29rIFRpdGxlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzciIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iQmlibGlvZ3JhcGh5Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iVE9DIEhlYWRpbmciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0MSIgTmFtZT0iUGxhaW4gVGFibGUgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQyIiBOYW1lPSJQbGFpbiBUYWJsZSAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDMiIE5hbWU9IlBsYWluIFRhYmxlIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NCIgTmFtZT0iUGxhaW4gVGFibGUgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ1IiBOYW1lPSJQbGFpbiBUYWJsZSA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDAiIE5hbWU9IkdyaWQgVGFibGUgTGlnaHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiIE5hbWU9IkdyaWQgVGFibGUgNiBDb2xvcmZ1bCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUyIiBOYW1lPSJHcmlkIFRhYmxlIDcgQ29sb3JmdWwiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgMSBMaWdodCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJHcmlkIFRhYmxlIDIgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iR3JpZCBUYWJsZSAzIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9IkdyaWQgVGFibGUgNCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJHcmlkIFRhYmxlIDUgRGFyayBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgMSBMaWdodCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJHcmlkIFRhYmxlIDIgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iR3JpZCBUYWJsZSAzIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9IkdyaWQgVGFibGUgNCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJHcmlkIFRhYmxlIDUgRGFyayBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgMSBMaWdodCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJHcmlkIFRhYmxlIDIgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iR3JpZCBUYWJsZSAzIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9IkdyaWQgVGFibGUgNCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJHcmlkIFRhYmxlIDUgRGFyayBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgMSBMaWdodCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJHcmlkIFRhYmxlIDIgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iR3JpZCBUYWJsZSAzIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9IkdyaWQgVGFibGUgNCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJHcmlkIFRhYmxlIDUgRGFyayBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgMSBMaWdodCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJHcmlkIFRhYmxlIDIgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iR3JpZCBUYWJsZSAzIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9IkdyaWQgVGFibGUgNCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJHcmlkIFRhYmxlIDUgRGFyayBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgMSBMaWdodCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJHcmlkIFRhYmxlIDIgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iR3JpZCBUYWJsZSAzIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9IkdyaWQgVGFibGUgNCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJHcmlkIFRhYmxlIDUgRGFyayBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBUYWJsZSA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiIE5hbWU9Ikxpc3QgVGFibGUgNiBDb2xvcmZ1bCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUyIiBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgMSBMaWdodCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iTGlzdCBUYWJsZSAzIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9Ikxpc3QgVGFibGUgNCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJMaXN0IFRhYmxlIDUgRGFyayBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgMSBMaWdodCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iTGlzdCBUYWJsZSAzIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9Ikxpc3QgVGFibGUgNCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJMaXN0IFRhYmxlIDUgRGFyayBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgMSBMaWdodCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iTGlzdCBUYWJsZSAzIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9Ikxpc3QgVGFibGUgNCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJMaXN0IFRhYmxlIDUgRGFyayBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgMSBMaWdodCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iTGlzdCBUYWJsZSAzIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9Ikxpc3QgVGFibGUgNCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJMaXN0IFRhYmxlIDUgRGFyayBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgMSBMaWdodCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iTGlzdCBUYWJsZSAzIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9Ikxpc3QgVGFibGUgNCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJMaXN0IFRhYmxlIDUgRGFyayBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgMSBMaWdodCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iTGlzdCBUYWJsZSAzIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9Ikxpc3QgVGFibGUgNCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJMaXN0IFRhYmxlIDUgRGFyayBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTWVudGlvbiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJTbWFydCBIeXBlcmxpbmsiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSGFzaHRhZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJVbnJlc29sdmVkIE1lbnRpb24iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iU21hcnQgTGluayIvPgotIDwvdzpMYXRlbnRTdHlsZXM+Ci08L3htbD48IVtlbmRpZl0tLT4KLSAgICA8c3R5bGU+CiA8IS0tCi0gLyogRm9udCBEZWZpbml0aW9ucyAqLwotIEBmb250LWZhY2UKLQl7Zm9udC1mYW1pbHk6SGVsdmV0aWNhOwotCXBhbm9zZS0xOjIgMTEgNiA0IDIgMiAyIDIgMiA0OwotCW1zby1mb250LWNoYXJzZXQ6MDsKLQltc28tZ2VuZXJpYy1mb250LWZhbWlseTpzd2lzczsKLQltc28tZm9udC1waXRjaDp2YXJpYWJsZTsKLQltc28tZm9udC1zaWduYXR1cmU6LTUzNjg1ODg4MSAtMTA3MzcxMTAxMyA5IDAgNTExIDA7fQorLyogRm9udCBEZWZpbml0aW9ucyAqLwogQGZvbnQtZmFjZQotCXtmb250LWZhbWlseTpXaW5nZGluZ3M7Ci0JcGFub3NlLTE6NSAwIDAgMCAwIDAgMCAwIDAgMDsKLQltc28tZm9udC1jaGFyc2V0OjI7Ci0JbXNvLWdlbmVyaWMtZm9udC1mYW1pbHk6YXV0bzsKLQltc28tZm9udC1waXRjaDp2YXJpYWJsZTsKLQltc28tZm9udC1zaWduYXR1cmU6MCAyNjg0MzU0NTYgMCAwIC0yMTQ3NDgzNjQ4IDA7fQore2ZvbnQtZmFtaWx5OiJDYW1icmlhIE1hdGgiOworcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDsKK21zby1mb250LWNoYXJzZXQ6MTsKK21zby1nZW5lcmljLWZvbnQtZmFtaWx5OnJvbWFuOworbXNvLWZvbnQtZm9ybWF0Om90aGVyOworbXNvLWZvbnQtcGl0Y2g6dmFyaWFibGU7Cittc28tZm9udC1zaWduYXR1cmU6MCAwIDAgMCAwIDA7fQogQGZvbnQtZmFjZQotCXtmb250LWZhbWlseToiQ2FtYnJpYSBNYXRoIjsKLQlwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMgMiA0OwotCW1zby1mb250LWNoYXJzZXQ6MDsKLQltc28tZ2VuZXJpYy1mb250LWZhbWlseTpyb21hbjsKLQltc28tZm9udC1waXRjaDp2YXJpYWJsZTsKLQltc28tZm9udC1zaWduYXR1cmU6MyAwIDAgMCAxIDA7fQore2ZvbnQtZmFtaWx5OkNhbGlicmk7CitwYW5vc2UtMToyIDE1IDUgMiAyIDIgNCAzIDIgNDsKK21zby1mb250LWNoYXJzZXQ6MDsKK21zby1nZW5lcmljLWZvbnQtZmFtaWx5OnN3aXNzOworbXNvLWZvbnQtcGl0Y2g6dmFyaWFibGU7Cittc28tZm9udC1zaWduYXR1cmU6LTE2MTA2MTE5ODUgMTA3Mzc1MDEzOSAwIDAgMTU5IDA7fQogQGZvbnQtZmFjZQotCXtmb250LWZhbWlseTpDYWxpYnJpOwotCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0IDMgMiA0OwotCW1zby1mb250LWNoYXJzZXQ6MDsKLQltc28tZ2VuZXJpYy1mb250LWZhbWlseTpzd2lzczsKLQltc28tZm9udC1waXRjaDp2YXJpYWJsZTsKLQltc28tZm9udC1zaWduYXR1cmU6LTUzNjg1ODg4MSAtMTA3MzczMjQ4NSA5IDAgNTExIDA7fQore2ZvbnQtZmFtaWx5OlRhaG9tYTsKK3Bhbm9zZS0xOjIgMTEgNiA0IDMgNSA0IDQgMiA0OworbXNvLWZvbnQtY2hhcnNldDowOworbXNvLWdlbmVyaWMtZm9udC1mYW1pbHk6c3dpc3M7Cittc28tZm9udC1waXRjaDp2YXJpYWJsZTsKK21zby1mb250LXNpZ25hdHVyZToxNjI3NDAwODM5IC0yMTQ3NDgzNjQ4IDggMCA2NjA0NyAwO30KIEBmb250LWZhY2UKLQl7Zm9udC1mYW1pbHk6VmVyZGFuYTsKLQlwYW5vc2UtMToyIDExIDYgNCAzIDUgNCA0IDIgNDsKLQltc28tZm9udC1jaGFyc2V0OjA7Ci0JbXNvLWdlbmVyaWMtZm9udC1mYW1pbHk6c3dpc3M7Ci0JbXNvLWZvbnQtcGl0Y2g6dmFyaWFibGU7Ci0JbXNvLWZvbnQtc2lnbmF0dXJlOi0xNjEwNjEwOTQ1IDEwNzM3NTAxMDcgMTYgMCA0MTUgMDt9Ci1AZm9udC1mYWNlCi0Je2ZvbnQtZmFtaWx5OiJTZWdvZSBVSSI7Ci0JcGFub3NlLTE6MiAxMSA1IDIgNCAyIDQgMiAyIDM7Ci0JbXNvLWZvbnQtY2hhcnNldDowOwotCW1zby1nZW5lcmljLWZvbnQtZmFtaWx5OnN3aXNzOwotCW1zby1mb250LXBpdGNoOnZhcmlhYmxlOwotCW1zby1mb250LXNpZ25hdHVyZTotNDY5NzUwMDE3IC0xMDczNjgzMzI5IDkgMCA1MTEgMDt9Ci0gLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8KLSBwLk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsCi0Je21zby1zdHlsZS11bmhpZGU6bm87Ci0JbXNvLXN0eWxlLXFmb3JtYXQ6eWVzOwotCW1zby1zdHlsZS1wYXJlbnQ6IiI7Ci0JbWFyZ2luOjBpbjsKLQltc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47Ci0JZm9udC1zaXplOjEyLjBwdDsKLQlmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJpZjsKLQltc28tZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKLQltc28tZmFyZWFzdC10aGVtZS1mb250Om1pbm9yLWZhcmVhc3Q7fQore2ZvbnQtZmFtaWx5OlZlcmRhbmE7CitwYW5vc2UtMToyIDExIDYgNCAzIDUgNCA0IDIgNDsKK21zby1mb250LWNoYXJzZXQ6MDsKK21zby1nZW5lcmljLWZvbnQtZmFtaWx5OnN3aXNzOworbXNvLWZvbnQtcGl0Y2g6dmFyaWFibGU7Cittc28tZm9udC1zaWduYXR1cmU6NTM2ODcxNTU5IDAgMCAwIDQxNSAwO30KKy8qIFN0eWxlIERlZmluaXRpb25zICovCitwLk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsCit7bXNvLXN0eWxlLXVuaGlkZTpubzsKK21zby1zdHlsZS1xZm9ybWF0OnllczsKK21zby1zdHlsZS1wYXJlbnQ6IiI7CittYXJnaW46MGluOworbWFyZ2luLWJvdHRvbTouMDAwMXB0OworbXNvLXBhZ2luYXRpb246d2lkb3ctb3JwaGFuOworZm9udC1zaXplOjEyLjBwdDsKK2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iLCJzZXJpZiI7Cittc28tZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9CiBoMQotCXttc28tc3R5bGUtcHJpb3JpdHk6OTsKLQltc28tc3R5bGUtdW5oaWRlOm5vOwotCW1zby1zdHlsZS1xZm9ybWF0OnllczsKLQltc28tc3R5bGUtbGluazoiSGVhZGluZyAxIENoYXIiOwotCW1zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotCW1hcmdpbi1yaWdodDowaW47Ci0JbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87Ci0JbWFyZ2luLWxlZnQ6MGluOwotCW1zby1wYWdpbmF0aW9uOndpZG93LW9ycGhhbjsKLQltc28tb3V0bGluZS1sZXZlbDoxOwotCWZvbnQtc2l6ZToyNC4wcHQ7Ci0JZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiIsc2VyaWY7Ci0JbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Ci0JbXNvLWZhcmVhc3QtdGhlbWUtZm9udDptaW5vci1mYXJlYXN0OwotCWZvbnQtd2VpZ2h0OmJvbGQ7fQore21zby1zdHlsZS11bmhpZGU6bm87Cittc28tc3R5bGUtcWZvcm1hdDp5ZXM7Cittc28tc3R5bGUtbGluazoiSGVhZGluZyAxIENoYXIiOworbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87CittYXJnaW4tcmlnaHQ6MGluOworbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87CittYXJnaW4tbGVmdDowaW47Cittc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47Cittc28tb3V0bGluZS1sZXZlbDoxOworZm9udC1zaXplOjI0LjBwdDsKK2ZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iLCJzZXJpZiI7Cittc28tZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKK21zby1mYXJlYXN0LXRoZW1lLWZvbnQ6bWlub3ItZmFyZWFzdDsKK2ZvbnQtd2VpZ2h0OmJvbGQ7fQogaDIKLQl7bXNvLXN0eWxlLXByaW9yaXR5Ojk7Ci0JbXNvLXN0eWxlLXVuaGlkZTpubzsKLQltc28tc3R5bGUtcWZvcm1hdDp5ZXM7Ci0JbXNvLXN0eWxlLWxpbms6IkhlYWRpbmcgMiBDaGFyIjsKLQltc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLQltYXJnaW4tcmlnaHQ6MGluOwotCW1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwotCW1hcmdpbi1sZWZ0OjBpbjsKLQltc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47Ci0JbXNvLW91dGxpbmUtbGV2ZWw6MjsKLQlmb250LXNpemU6MTguMHB0OwotCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iLHNlcmlmOwotCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwotCW1zby1mYXJlYXN0LXRoZW1lLWZvbnQ6bWlub3ItZmFyZWFzdDsKLQlmb250LXdlaWdodDpib2xkO30KK3ttc28tc3R5bGUtdW5oaWRlOm5vOworbXNvLXN0eWxlLXFmb3JtYXQ6eWVzOworbXNvLXN0eWxlLWxpbms6IkhlYWRpbmcgMiBDaGFyIjsKK21zby1zdHlsZS1uZXh0Ok5vcm1hbDsKK21hcmdpbi10b3A6MTIuMHB0OworbWFyZ2luLXJpZ2h0OjBpbjsKK21hcmdpbi1ib3R0b206My4wcHQ7CittYXJnaW4tbGVmdDowaW47Cittc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47CitwYWdlLWJyZWFrLWFmdGVyOmF2b2lkOworbXNvLW91dGxpbmUtbGV2ZWw6MjsKK2ZvbnQtc2l6ZToxNC4wcHQ7Citmb250LWZhbWlseToiQXJpYWwiLCJzYW5zLXNlcmlmIjsKK21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOworbXNvLWZhcmVhc3QtdGhlbWUtZm9udDptaW5vci1mYXJlYXN0OworZm9udC13ZWlnaHQ6Ym9sZDsKK2ZvbnQtc3R5bGU6aXRhbGljO30KIGgzCi0Je21zby1zdHlsZS1wcmlvcml0eTo5OwotCW1zby1zdHlsZS11bmhpZGU6bm87Ci0JbXNvLXN0eWxlLXFmb3JtYXQ6eWVzOwotCW1zby1zdHlsZS1saW5rOiJIZWFkaW5nIDMgQ2hhciI7Ci0JbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0JbWFyZ2luLXJpZ2h0OjBpbjsKLQltc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsKLQltYXJnaW4tbGVmdDowaW47Ci0JbXNvLXBhZ2luYXRpb246d2lkb3ctb3JwaGFuOwotCW1zby1vdXRsaW5lLWxldmVsOjM7Ci0JZm9udC1zaXplOjEzLjVwdDsKLQlmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJpZjsKLQltc28tZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKLQltc28tZmFyZWFzdC10aGVtZS1mb250Om1pbm9yLWZhcmVhc3Q7Ci0JZm9udC13ZWlnaHQ6Ym9sZDt9Cit7bXNvLXN0eWxlLXVuaGlkZTpubzsKK21zby1zdHlsZS1xZm9ybWF0OnllczsKK21zby1zdHlsZS1saW5rOiJIZWFkaW5nIDMgQ2hhciI7Cittc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKK21hcmdpbi1yaWdodDowaW47Cittc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsKK21hcmdpbi1sZWZ0OjBpbjsKK21zby1wYWdpbmF0aW9uOndpZG93LW9ycGhhbjsKK21zby1vdXRsaW5lLWxldmVsOjM7Citmb250LXNpemU6MTMuNXB0OworZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiIsInNlcmlmIjsKK21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOworbXNvLWZhcmVhc3QtdGhlbWUtZm9udDptaW5vci1mYXJlYXN0OworZm9udC13ZWlnaHQ6Ym9sZDt9CiBhOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rCi0Je21zby1zdHlsZS1ub3Nob3c6eWVzOwotCW1zby1zdHlsZS1wcmlvcml0eTo5OTsKLQljb2xvcjpibHVlOwotCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Ci0JdGV4dC11bmRlcmxpbmU6c2luZ2xlO30KK3ttc28tc3R5bGUtdW5oaWRlOm5vOworY29sb3I6Ymx1ZTsKK3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Cit0ZXh0LXVuZGVybGluZTpzaW5nbGU7fQogYTp2aXNpdGVkLCBzcGFuLk1zb0h5cGVybGlua0ZvbGxvd2VkCi0Je21zby1zdHlsZS1ub3Nob3c6eWVzOwotCW1zby1zdHlsZS1wcmlvcml0eTo5OTsKLQljb2xvcjpibHVlOwotCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Ci0JdGV4dC11bmRlcmxpbmU6c2luZ2xlO30KK3ttc28tc3R5bGUtdW5oaWRlOm5vOworY29sb3I6Ymx1ZTsKK3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Cit0ZXh0LXVuZGVybGluZTpzaW5nbGU7fQogcAotCXttc28tc3R5bGUtbm9zaG93OnllczsKLQltc28tc3R5bGUtcHJpb3JpdHk6OTk7Ci0JbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0JbWFyZ2luLXJpZ2h0OjBpbjsKLQltc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsKLQltYXJnaW4tbGVmdDowaW47Ci0JbXNvLXBhZ2luYXRpb246d2lkb3ctb3JwaGFuOwotCWZvbnQtc2l6ZToxMi4wcHQ7Ci0JZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiIsc2VyaWY7Ci0JbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Ci0JbXNvLWZhcmVhc3QtdGhlbWUtZm9udDptaW5vci1mYXJlYXN0O30KK3ttc28tc3R5bGUtdW5oaWRlOm5vOworbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87CittYXJnaW4tcmlnaHQ6MGluOworbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87CittYXJnaW4tbGVmdDowaW47Cittc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47Citmb250LXNpemU6MTIuMHB0OworZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiIsInNlcmlmIjsKK21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KK3AuTXNvQWNldGF0ZSwgbGkuTXNvQWNldGF0ZSwgZGl2Lk1zb0FjZXRhdGUKK3ttc28tc3R5bGUtdW5oaWRlOm5vOworbXNvLXN0eWxlLWxpbms6IkJhbGxvb24gVGV4dCBDaGFyIjsKK21hcmdpbjowaW47CittYXJnaW4tYm90dG9tOi4wMDAxcHQ7Cittc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47Citmb250LXNpemU6OC4wcHQ7Citmb250LWZhbWlseToiVGFob21hIiwic2Fucy1zZXJpZiI7Cittc28tZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9CiBzcGFuLkhlYWRpbmcxQ2hhcgotCXttc28tc3R5bGUtbmFtZToiSGVhZGluZyAxIENoYXIiOwotCW1zby1zdHlsZS1wcmlvcml0eTo5OwotCW1zby1zdHlsZS11bmhpZGU6bm87Ci0JbXNvLXN0eWxlLWxvY2tlZDp5ZXM7Ci0JbXNvLXN0eWxlLWxpbms6IkhlYWRpbmcgMSI7Ci0JbXNvLWFuc2ktZm9udC1zaXplOjE2LjBwdDsKLQltc28tYmlkaS1mb250LXNpemU6MTYuMHB0OwotCWZvbnQtZmFtaWx5OiJDYWxpYnJpIExpZ2h0IixzYW5zLXNlcmlmOwotCW1zby1hc2NpaS1mb250LWZhbWlseToiQ2FsaWJyaSBMaWdodCI7Ci0JbXNvLWFzY2lpLXRoZW1lLWZvbnQ6bWFqb3ItbGF0aW47Ci0JbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Ci0JbXNvLWZhcmVhc3QtdGhlbWUtZm9udDptYWpvci1mYXJlYXN0OwotCW1zby1oYW5zaS1mb250LWZhbWlseToiQ2FsaWJyaSBMaWdodCI7Ci0JbXNvLWhhbnNpLXRoZW1lLWZvbnQ6bWFqb3ItbGF0aW47Ci0JbXNvLWJpZGktZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Ci0JbXNvLWJpZGktdGhlbWUtZm9udDptYWpvci1iaWRpOwotCWNvbG9yOiMyRjU0OTY7Ci0JbXNvLXRoZW1lY29sb3I6YWNjZW50MTsKLQltc28tdGhlbWVzaGFkZToxOTE7fQore21zby1zdHlsZS1uYW1lOiJIZWFkaW5nIDEgQ2hhciI7Cittc28tc3R5bGUtdW5oaWRlOm5vOworbXNvLXN0eWxlLWxvY2tlZDp5ZXM7Cittc28tc3R5bGUtbGluazoiSGVhZGluZyAxIjsKK21zby1hbnNpLWZvbnQtc2l6ZToxNC4wcHQ7Cittc28tYmlkaS1mb250LXNpemU6MTQuMHB0OworZm9udC1mYW1pbHk6IkNhbWJyaWEiLCJzZXJpZiI7Cittc28tYXNjaWktZm9udC1mYW1pbHk6Q2FtYnJpYTsKK21zby1hc2NpaS10aGVtZS1mb250Om1ham9yLWxhdGluOworbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cittc28tZmFyZWFzdC10aGVtZS1mb250Om1ham9yLWZhcmVhc3Q7Cittc28taGFuc2ktZm9udC1mYW1pbHk6Q2FtYnJpYTsKK21zby1oYW5zaS10aGVtZS1mb250Om1ham9yLWxhdGluOworbXNvLWJpZGktZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Cittc28tYmlkaS10aGVtZS1mb250Om1ham9yLWJpZGk7Citjb2xvcjojMzY1RjkxOworbXNvLXRoZW1lY29sb3I6YWNjZW50MTsKK21zby10aGVtZXNoYWRlOjE5MTsKK2ZvbnQtd2VpZ2h0OmJvbGQ7fQogc3Bhbi5IZWFkaW5nMkNoYXIKLQl7bXNvLXN0eWxlLW5hbWU6IkhlYWRpbmcgMiBDaGFyIjsKLQltc28tc3R5bGUtbm9zaG93OnllczsKLQltc28tc3R5bGUtcHJpb3JpdHk6OTsKLQltc28tc3R5bGUtdW5oaWRlOm5vOwotCW1zby1zdHlsZS1sb2NrZWQ6eWVzOwotCW1zby1zdHlsZS1saW5rOiJIZWFkaW5nIDIiOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMy4wcHQ7Ci0JbXNvLWJpZGktZm9udC1zaXplOjEzLjBwdDsKLQlmb250LWZhbWlseToiQ2FsaWJyaSBMaWdodCIsc2Fucy1zZXJpZjsKLQltc28tYXNjaWktZm9udC1mYW1pbHk6IkNhbGlicmkgTGlnaHQiOwotCW1zby1hc2NpaS10aGVtZS1mb250Om1ham9yLWxhdGluOwotCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwotCW1zby1mYXJlYXN0LXRoZW1lLWZvbnQ6bWFqb3ItZmFyZWFzdDsKLQltc28taGFuc2ktZm9udC1mYW1pbHk6IkNhbGlicmkgTGlnaHQiOwotCW1zby1oYW5zaS10aGVtZS1mb250Om1ham9yLWxhdGluOwotCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwotCW1zby1iaWRpLXRoZW1lLWZvbnQ6bWFqb3ItYmlkaTsKLQljb2xvcjojMkY1NDk2OwotCW1zby10aGVtZWNvbG9yOmFjY2VudDE7Ci0JbXNvLXRoZW1lc2hhZGU6MTkxO30KK3ttc28tc3R5bGUtbmFtZToiSGVhZGluZyAyIENoYXIiOworbXNvLXN0eWxlLXVuaGlkZTpubzsKK21zby1zdHlsZS1sb2NrZWQ6eWVzOworbXNvLXN0eWxlLWxpbms6IkhlYWRpbmcgMiI7Cittc28tYW5zaS1mb250LXNpemU6MTMuMHB0OworbXNvLWJpZGktZm9udC1zaXplOjEzLjBwdDsKK2ZvbnQtZmFtaWx5OiJDYW1icmlhIiwic2VyaWYiOworbXNvLWFzY2lpLWZvbnQtZmFtaWx5OkNhbWJyaWE7Cittc28tYXNjaWktdGhlbWUtZm9udDptYWpvci1sYXRpbjsKK21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOworbXNvLWZhcmVhc3QtdGhlbWUtZm9udDptYWpvci1mYXJlYXN0OworbXNvLWhhbnNpLWZvbnQtZmFtaWx5OkNhbWJyaWE7Cittc28taGFuc2ktdGhlbWUtZm9udDptYWpvci1sYXRpbjsKK21zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOworbXNvLWJpZGktdGhlbWUtZm9udDptYWpvci1iaWRpOworY29sb3I6IzRGODFCRDsKK21zby10aGVtZWNvbG9yOmFjY2VudDE7Citmb250LXdlaWdodDpib2xkO30KIHNwYW4uSGVhZGluZzNDaGFyCi0Je21zby1zdHlsZS1uYW1lOiJIZWFkaW5nIDMgQ2hhciI7Ci0JbXNvLXN0eWxlLW5vc2hvdzp5ZXM7Ci0JbXNvLXN0eWxlLXByaW9yaXR5Ojk7Ci0JbXNvLXN0eWxlLXVuaGlkZTpubzsKLQltc28tc3R5bGUtbG9ja2VkOnllczsKLQltc28tc3R5bGUtbGluazoiSGVhZGluZyAzIjsKLQltc28tYW5zaS1mb250LXNpemU6MTIuMHB0OwotCW1zby1iaWRpLWZvbnQtc2l6ZToxMi4wcHQ7Ci0JZm9udC1mYW1pbHk6IkNhbGlicmkgTGlnaHQiLHNhbnMtc2VyaWY7Ci0JbXNvLWFzY2lpLWZvbnQtZmFtaWx5OiJDYWxpYnJpIExpZ2h0IjsKLQltc28tYXNjaWktdGhlbWUtZm9udDptYWpvci1sYXRpbjsKLQltc28tZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKLQltc28tZmFyZWFzdC10aGVtZS1mb250Om1ham9yLWZhcmVhc3Q7Ci0JbXNvLWhhbnNpLWZvbnQtZmFtaWx5OiJDYWxpYnJpIExpZ2h0IjsKLQltc28taGFuc2ktdGhlbWUtZm9udDptYWpvci1sYXRpbjsKLQltc28tYmlkaS1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKLQltc28tYmlkaS10aGVtZS1mb250Om1ham9yLWJpZGk7Ci0JY29sb3I6IzFGMzc2MzsKLQltc28tdGhlbWVjb2xvcjphY2NlbnQxOwotCW1zby10aGVtZXNoYWRlOjEyNzt9Ci1wLm1zb25vcm1hbDAsIGxpLm1zb25vcm1hbDAsIGRpdi5tc29ub3JtYWwwCi0Je21zby1zdHlsZS1uYW1lOm1zb25vcm1hbDsKLQltc28tc3R5bGUtbm9zaG93OnllczsKLQltc28tc3R5bGUtcHJpb3JpdHk6OTk7Ci0JbXNvLXN0eWxlLXVuaGlkZTpubzsKLQltc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLQltYXJnaW4tcmlnaHQ6MGluOwotCW1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOwotCW1hcmdpbi1sZWZ0OjBpbjsKLQltc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47Ci0JZm9udC1zaXplOjEyLjBwdDsKLQlmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJpZjsKLQltc28tZmFyZWFzdC1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKLQltc28tZmFyZWFzdC10aGVtZS1mb250Om1pbm9yLWZhcmVhc3Q7fQotc3Bhbi5ncmFtZQotCXttc28tc3R5bGUtbmFtZTpncmFtZTsKLQltc28tc3R5bGUtdW5oaWRlOm5vO30KLXNwYW4uYXBwbGUtY29udmVydGVkLXNwYWNlCi0Je21zby1zdHlsZS1uYW1lOmFwcGxlLWNvbnZlcnRlZC1zcGFjZTsKLQltc28tc3R5bGUtdW5oaWRlOm5vO30KK3ttc28tc3R5bGUtbmFtZToiSGVhZGluZyAzIENoYXIiOworbXNvLXN0eWxlLXVuaGlkZTpubzsKK21zby1zdHlsZS1sb2NrZWQ6eWVzOworbXNvLXN0eWxlLWxpbms6IkhlYWRpbmcgMyI7Cittc28tYW5zaS1mb250LXNpemU6MTIuMHB0OworbXNvLWJpZGktZm9udC1zaXplOjEyLjBwdDsKK2ZvbnQtZmFtaWx5OiJDYW1icmlhIiwic2VyaWYiOworbXNvLWFzY2lpLWZvbnQtZmFtaWx5OkNhbWJyaWE7Cittc28tYXNjaWktdGhlbWUtZm9udDptYWpvci1sYXRpbjsKK21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOworbXNvLWZhcmVhc3QtdGhlbWUtZm9udDptYWpvci1mYXJlYXN0OworbXNvLWhhbnNpLWZvbnQtZmFtaWx5OkNhbWJyaWE7Cittc28taGFuc2ktdGhlbWUtZm9udDptYWpvci1sYXRpbjsKK21zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOworbXNvLWJpZGktdGhlbWUtZm9udDptYWpvci1iaWRpOworY29sb3I6IzRGODFCRDsKK21zby10aGVtZWNvbG9yOmFjY2VudDE7Citmb250LXdlaWdodDpib2xkO30KK3NwYW4uQmFsbG9vblRleHRDaGFyCit7bXNvLXN0eWxlLW5hbWU6IkJhbGxvb24gVGV4dCBDaGFyIjsKK21zby1zdHlsZS11bmhpZGU6bm87Cittc28tc3R5bGUtbG9ja2VkOnllczsKK21zby1zdHlsZS1saW5rOiJCYWxsb29uIFRleHQiOworbXNvLWFuc2ktZm9udC1zaXplOjguMHB0OworbXNvLWJpZGktZm9udC1zaXplOjguMHB0OworZm9udC1mYW1pbHk6IlRhaG9tYSIsInNhbnMtc2VyaWYiOworbXNvLWFzY2lpLWZvbnQtZmFtaWx5OlRhaG9tYTsKK21zby1oYW5zaS1mb250LWZhbWlseTpUYWhvbWE7Cittc28tYmlkaS1mb250LWZhbWlseTpUYWhvbWE7fQogLk1zb0NocERlZmF1bHQKLQl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7Ci0JbXNvLWRlZmF1bHQtcHJvcHM6eWVzOwotCWZvbnQtc2l6ZToxMC4wcHQ7Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQltc28tYmlkaS1mb250LXNpemU6MTAuMHB0O30KK3ttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsKK21zby1kZWZhdWx0LXByb3BzOnllczsKK2ZvbnQtc2l6ZToxMC4wcHQ7Cittc28tYW5zaS1mb250LXNpemU6MTAuMHB0OworbXNvLWJpZGktZm9udC1zaXplOjEwLjBwdDt9CiBAcGFnZSBXb3JkU2VjdGlvbjEKLQl7c2l6ZTo1OTUuM3B0IDg0MS45cHQ7Ci0JbWFyZ2luOjcwLjg1cHQgNzAuODVwdCA3MC44NXB0IDcwLjg1cHQ7Ci0JbXNvLWhlYWRlci1tYXJnaW46LjVpbjsKLQltc28tZm9vdGVyLW1hcmdpbjouNWluOwotCW1zby1wYXBlci1zb3VyY2U6MDt9Cit7c2l6ZTo4LjVpbiAxMS4waW47CittYXJnaW46MS4waW4gMS4yNWluIDEuMGluIDEuMjVpbjsKK21zby1oZWFkZXItbWFyZ2luOi41aW47Cittc28tZm9vdGVyLW1hcmdpbjouNWluOworbXNvLXBhcGVyLXNvdXJjZTowO30KIGRpdi5Xb3JkU2VjdGlvbjEKLQl7cGFnZTpXb3JkU2VjdGlvbjE7fQotIC8qIExpc3QgRGVmaW5pdGlvbnMgKi8KLSBAbGlzdCBsMAotCXttc28tbGlzdC1pZDozNTg2MjkyMzQ7Ci0JbXNvLWxpc3QtdHlwZTpoeWJyaWQ7Ci0JbXNvLWxpc3QtdGVtcGxhdGUtaWRzOi0xNDE1Mjk3MzkyIC0xNjM4MjM4MDcwIDY3Njk4NzEzIDY3Njk4NzE1IDY3Njk4NzAzIDY3Njk4NzEzIDY3Njk4NzE1IDY3Njk4NzAzIDY3Njk4NzEzIDY3Njk4NzE1O30KK3twYWdlOldvcmRTZWN0aW9uMTt9CisvKiBMaXN0IERlZmluaXRpb25zICovCitAbGlzdCBsMAore21zby1saXN0LWlkOjYyMDY3MzU4OworbXNvLWxpc3QtdGVtcGxhdGUtaWRzOi0xNzQ5NDMwNjI7fQogQGxpc3QgbDA6bGV2ZWwxCi0Je21zby1sZXZlbC10YWItc3RvcDpub25lOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6VmVyZGFuYTsKLQltc28tYmlkaS1mb250LWZhbWlseTpWZXJkYW5hO30KK3ttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Cittc28tbGV2ZWwtdGV4dDpcRjBCNzsKK21zby1sZXZlbC10YWItc3RvcDouNWluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluOworbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKK2ZvbnQtZmFtaWx5OlN5bWJvbDt9CiBAbGlzdCBsMDpsZXZlbDIKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YWxwaGEtbG93ZXI7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjEuMGluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGwwOmxldmVsMwotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpyb21hbi1sb3dlcjsKLQltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOnJpZ2h0OwotCXRleHQtaW5kZW50Oi05LjBwdDt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjEuNWluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGwwOmxldmVsNAotCXttc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6Mi4waW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDA6bGV2ZWw1Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmFscGhhLWxvd2VyOwotCW1zby1sZXZlbC10YWItc3RvcDpub25lOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47fQore21zby1sZXZlbC10YWItc3RvcDoyLjVpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsMDpsZXZlbDYKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6cm9tYW4tbG93ZXI7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpyaWdodDsKLQl0ZXh0LWluZGVudDotOS4wcHQ7fQore21zby1sZXZlbC10YWItc3RvcDozLjBpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsMDpsZXZlbDcKLQl7bXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjMuNWluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGwwOmxldmVsOAotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDphbHBoYS1sb3dlcjsKLQltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6NC4waW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDA6bGV2ZWw5Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OnJvbWFuLWxvd2VyOwotCW1zby1sZXZlbC10YWItc3RvcDpub25lOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246cmlnaHQ7Ci0JdGV4dC1pbmRlbnQ6LTkuMHB0O30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6NC41aW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDEKLQl7bXNvLWxpc3QtaWQ6NDI5MjAxNzczOwotCW1zby1saXN0LXRlbXBsYXRlLWlkczo3MTk3MjEyNjg7fQore21zby1saXN0LWlkOjEyODAxNTk0MjsKK21zby1saXN0LXRlbXBsYXRlLWlkczotOTA2ODEyMTQ7fQogQGxpc3QgbDE6bGV2ZWwxCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBCNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6LjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6U3ltYm9sO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6LjVpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsMTpsZXZlbDIKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0Om87Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjEuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseToiQ291cmllciBOZXciOwotCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6MS4waW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDE6bGV2ZWwzCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6MS41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjEuNWluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGwxOmxldmVsNAotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjIuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQore21zby1sZXZlbC10YWItc3RvcDoyLjBpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsMTpsZXZlbDUKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoyLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6Mi41aW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDE6bGV2ZWw2Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6My4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjMuMGluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGwxOmxldmVsNwotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjMuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQore21zby1sZXZlbC10YWItc3RvcDozLjVpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsMTpsZXZlbDgKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDo0LjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6NC4waW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDE6bGV2ZWw5Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6NC41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjQuNWluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGwyCi0Je21zby1saXN0LWlkOjQ2NjA0NzI4OTsKLQltc28tbGlzdC10ZW1wbGF0ZS1pZHM6MTYxMDM5NDMzNDt9Cit7bXNvLWxpc3QtaWQ6MjE2NTU2MDAwOworbXNvLWxpc3QtdGVtcGxhdGUtaWRzOjkyNTkyNDQxMjt9CiBAbGlzdCBsMjpsZXZlbDEKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEI3OwotCW1zby1sZXZlbC10YWItc3RvcDouNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpTeW1ib2w7fQore21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKK21zby1sZXZlbC10ZXh0OlxGMEI3OworbXNvLWxldmVsLXRhYi1zdG9wOi41aW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47Cittc28tYW5zaS1mb250LXNpemU6MTAuMHB0OworZm9udC1mYW1pbHk6U3ltYm9sO30KIEBsaXN0IGwyOmxldmVsMgotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6bzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6MS4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7Ci0JbXNvLWJpZGktZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQore21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKK21zby1sZXZlbC10ZXh0OlxGMEI3OworbXNvLWxldmVsLXRhYi1zdG9wOjEuMGluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluOworbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKK2ZvbnQtZmFtaWx5OlN5bWJvbDt9CiBAbGlzdCBsMjpsZXZlbDMKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoxLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6MS41aW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDI6bGV2ZWw0Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6Mi4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjIuMGluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGwyOmxldmVsNQotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjIuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQore21zby1sZXZlbC10YWItc3RvcDoyLjVpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsMjpsZXZlbDYKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDozLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6My4waW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDI6bGV2ZWw3Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6My41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjMuNWluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGwyOmxldmVsOAotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjQuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQore21zby1sZXZlbC10YWItc3RvcDo0LjBpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsMjpsZXZlbDkKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDo0LjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6NC41aW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDMKLQl7bXNvLWxpc3QtaWQ6NTMxNTczNzMzOwotCW1zby1saXN0LXRlbXBsYXRlLWlkczoxMjQ0OTM5MTY4O30KK3ttc28tbGlzdC1pZDo1NjI0NDY2OTQ7Cittc28tbGlzdC10ZW1wbGF0ZS1pZHM6OTEzODk4MzY2O30KIEBsaXN0IGwzOmxldmVsMQotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQjc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOi41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OlN5bWJvbDt9Cit7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OworbXNvLWxldmVsLXRleHQ6XEYwQjc7Cittc28tbGV2ZWwtdGFiLXN0b3A6LjVpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjsKK21zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Citmb250LWZhbWlseTpTeW1ib2w7fQogQGxpc3QgbDM6bGV2ZWwyCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpvOwotCW1zby1sZXZlbC10YWItc3RvcDoxLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3IjsKLQltc28tYmlkaS1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjEuMGluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGwzOmxldmVsMwotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjEuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQore21zby1sZXZlbC10YWItc3RvcDoxLjVpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsMzpsZXZlbDQKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoyLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6Mi4waW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDM6bGV2ZWw1Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6Mi41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjIuNWluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGwzOmxldmVsNgotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjMuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQore21zby1sZXZlbC10YWItc3RvcDozLjBpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsMzpsZXZlbDcKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDozLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6My41aW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDM6bGV2ZWw4Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6NC4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjQuMGluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGwzOmxldmVsOQotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjQuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQore21zby1sZXZlbC10YWItc3RvcDo0LjVpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsNAotCXttc28tbGlzdC1pZDo1NTY4NjY5NzU7Ci0JbXNvLWxpc3QtdGVtcGxhdGUtaWRzOjcwNzkzMzI1MDt9Cit7bXNvLWxpc3QtaWQ6Nzk3ODAyMTMyOworbXNvLWxpc3QtdGVtcGxhdGUtaWRzOi0xOTcxMTkxMzM2O30KIEBsaXN0IGw0OmxldmVsMQotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQjc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOi41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OlN5bWJvbDt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOi41aW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDQ6bGV2ZWwyCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpvOwotCW1zby1sZXZlbC10YWItc3RvcDoxLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3IjsKLQltc28tYmlkaS1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjEuMGluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGw0OmxldmVsMwotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjEuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQore21zby1sZXZlbC10YWItc3RvcDoxLjVpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsNDpsZXZlbDQKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoyLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6Mi4waW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDQ6bGV2ZWw1Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6Mi41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjIuNWluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGw0OmxldmVsNgotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjMuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQore21zby1sZXZlbC10YWItc3RvcDozLjBpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsNDpsZXZlbDcKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDozLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6My41aW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDQ6bGV2ZWw4Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6NC4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjQuMGluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGw0OmxldmVsOQotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjQuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQore21zby1sZXZlbC10YWItc3RvcDo0LjVpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsNQotCXttc28tbGlzdC1pZDo2NDY1MTg5MjE7Ci0JbXNvLWxpc3QtdGVtcGxhdGUtaWRzOjIwNjc2MzU4Mjt9Cit7bXNvLWxpc3QtaWQ6OTA3MzA0MDY2OworbXNvLWxpc3QtdGVtcGxhdGUtaWRzOjE5Njk3ODE1MzI7fQogQGxpc3QgbDU6bGV2ZWwxCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBCNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6LjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6U3ltYm9sO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6LjVpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsNTpsZXZlbDIKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0Om87Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjEuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseToiQ291cmllciBOZXciOwotCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6MS4waW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDU6bGV2ZWwzCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6MS41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjEuNWluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGw1OmxldmVsNAotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjIuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQore21zby1sZXZlbC10YWItc3RvcDoyLjBpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsNTpsZXZlbDUKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoyLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6Mi41aW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDU6bGV2ZWw2Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6My4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjMuMGluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGw1OmxldmVsNwotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjMuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQore21zby1sZXZlbC10YWItc3RvcDozLjVpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsNTpsZXZlbDgKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDo0LjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6NC4waW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDU6bGV2ZWw5Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6NC41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjQuNWluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGw2Ci0Je21zby1saXN0LWlkOjY2MzcwMzkxNTsKLQltc28tbGlzdC10ZW1wbGF0ZS1pZHM6MTc0NTIzNzQ2ODt9Cit7bXNvLWxpc3QtaWQ6MTA1MDYxMzYxNjsKK21zby1saXN0LXRlbXBsYXRlLWlkczotMTAwOTg4Njc0ODt9CiBAbGlzdCBsNjpsZXZlbDEKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEI3OwotCW1zby1sZXZlbC10YWItc3RvcDouNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpTeW1ib2w7fQore21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKK21zby1sZXZlbC10ZXh0OlxGMEI3OworbXNvLWxldmVsLXRhYi1zdG9wOi41aW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47Cittc28tYW5zaS1mb250LXNpemU6MTAuMHB0OworZm9udC1mYW1pbHk6U3ltYm9sO30KIEBsaXN0IGw2OmxldmVsMgotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6bzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6MS4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7Ci0JbXNvLWJpZGktZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQore21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKK21zby1sZXZlbC10ZXh0OlxGMEI3OworbXNvLWxldmVsLXRhYi1zdG9wOjEuMGluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluOworbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKK2ZvbnQtZmFtaWx5OlN5bWJvbDt9CiBAbGlzdCBsNjpsZXZlbDMKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoxLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6MS41aW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDY6bGV2ZWw0Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6Mi4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjIuMGluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGw2OmxldmVsNQotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjIuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQore21zby1sZXZlbC10YWItc3RvcDoyLjVpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsNjpsZXZlbDYKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDozLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6My4waW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDY6bGV2ZWw3Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6My41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjMuNWluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGw2OmxldmVsOAotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjQuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQore21zby1sZXZlbC10YWItc3RvcDo0LjBpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsNjpsZXZlbDkKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDo0LjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6NC41aW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDcKLQl7bXNvLWxpc3QtaWQ6ODMxNDA4Njk1OwotCW1zby1saXN0LXRlbXBsYXRlLWlkczotNDA0OTc0MDQ4O30KK3ttc28tbGlzdC1pZDoxMjM0OTcwMTkzOworbXNvLWxpc3QtdGVtcGxhdGUtaWRzOjIwNTU5MDQwMDI7fQogQGxpc3QgbDc6bGV2ZWwxCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBCNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6LjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6U3ltYm9sO30KK3ttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Cittc28tbGV2ZWwtdGV4dDpcRjBCNzsKK21zby1sZXZlbC10YWItc3RvcDouNWluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluOworbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKK2ZvbnQtZmFtaWx5OlN5bWJvbDt9CiBAbGlzdCBsNzpsZXZlbDIKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0Om87Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjEuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseToiQ291cmllciBOZXciOwotCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KK3ttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Cittc28tbGV2ZWwtdGV4dDpcRjBCNzsKK21zby1sZXZlbC10YWItc3RvcDoxLjBpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjsKK21zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Citmb250LWZhbWlseTpTeW1ib2w7fQogQGxpc3QgbDc6bGV2ZWwzCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6MS41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjEuNWluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGw3OmxldmVsNAotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjIuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQore21zby1sZXZlbC10YWItc3RvcDoyLjBpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsNzpsZXZlbDUKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoyLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6Mi41aW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDc6bGV2ZWw2Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6My4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjMuMGluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGw3OmxldmVsNwotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjMuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQore21zby1sZXZlbC10YWItc3RvcDozLjVpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsNzpsZXZlbDgKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDo0LjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6NC4waW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDc6bGV2ZWw5Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6NC41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjQuNWluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGw4Ci0Je21zby1saXN0LWlkOjg3ODAxMDgyMTsKLQltc28tbGlzdC10ZW1wbGF0ZS1pZHM6MTAyMzQ0NTExODt9Cit7bXNvLWxpc3QtaWQ6MTg0NjA5MjI5MDsKK21zby1saXN0LXRlbXBsYXRlLWlkczotNzY4NTkwODQ2O30KIEBsaXN0IGw4OmxldmVsMQotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQjc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOi41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OlN5bWJvbDt9Cit7bXNvLWxldmVsLXN0YXJ0LWF0OjI7Cittc28tbGV2ZWwtdGFiLXN0b3A6LjVpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsODpsZXZlbDIKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0Om87Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjEuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseToiQ291cmllciBOZXciOwotCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6MS4waW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDg6bGV2ZWwzCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6MS41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjEuNWluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGw4OmxldmVsNAotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjIuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQore21zby1sZXZlbC10YWItc3RvcDoyLjBpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsODpsZXZlbDUKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoyLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6Mi41aW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDg6bGV2ZWw2Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6My4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjMuMGluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGw4OmxldmVsNwotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjMuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQore21zby1sZXZlbC10YWItc3RvcDozLjVpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsODpsZXZlbDgKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDo0LjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6NC4waW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDg6bGV2ZWw5Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6NC41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjQuNWluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGw5Ci0Je21zby1saXN0LWlkOjExMTU5MDA2MTM7Ci0JbXNvLWxpc3QtdGVtcGxhdGUtaWRzOjE2MDU3NzMxNTY7fQore21zby1saXN0LWlkOjE4OTQ2NTY1NjY7Cittc28tbGlzdC10ZW1wbGF0ZS1pZHM6MTE5OTk4MzgxMjt9CiBAbGlzdCBsOTpsZXZlbDEKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEI3OwotCW1zby1sZXZlbC10YWItc3RvcDouNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpTeW1ib2w7fQore21zby1sZXZlbC1zdGFydC1hdDoyOworbXNvLWxldmVsLXRhYi1zdG9wOi41aW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDk6bGV2ZWwyCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpvOwotCW1zby1sZXZlbC10YWItc3RvcDoxLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3IjsKLQltc28tYmlkaS1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjEuMGluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGw5OmxldmVsMwotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjEuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQore21zby1sZXZlbC10YWItc3RvcDoxLjVpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsOTpsZXZlbDQKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoyLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6Mi4waW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDk6bGV2ZWw1Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6Mi41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjIuNWluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGw5OmxldmVsNgotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjMuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQore21zby1sZXZlbC10YWItc3RvcDozLjBpbjsKK21zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKK3RleHQtaW5kZW50Oi0uMjVpbjt9CiBAbGlzdCBsOTpsZXZlbDcKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDozLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KK3ttc28tbGV2ZWwtdGFiLXN0b3A6My41aW47Cittc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Cit0ZXh0LWluZGVudDotLjI1aW47fQogQGxpc3QgbDk6bGV2ZWw4Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6NC4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjQuMGluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIEBsaXN0IGw5OmxldmVsOQotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjQuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDEwCi0Je21zby1saXN0LWlkOjEyMzAxMTEwMjM7Ci0JbXNvLWxpc3QtdGVtcGxhdGUtaWRzOjQzMjk1MzgyNDt9Ci1AbGlzdCBsMTA6bGV2ZWwxCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBCNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6LjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6U3ltYm9sO30KLUBsaXN0IGwxMDpsZXZlbDIKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0Om87Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjEuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseToiQ291cmllciBOZXciOwotCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KLUBsaXN0IGwxMDpsZXZlbDMKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoxLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxMDpsZXZlbDQKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoyLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxMDpsZXZlbDUKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoyLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxMDpsZXZlbDYKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDozLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxMDpsZXZlbDcKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDozLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxMDpsZXZlbDgKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDo0LjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxMDpsZXZlbDkKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDo0LjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxMQotCXttc28tbGlzdC1pZDoxMjM0OTY5NTEyOwotCW1zby1saXN0LXRlbXBsYXRlLWlkczo0NTA1MzUwNTg7fQotQGxpc3QgbDExOmxldmVsMQotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQjc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOi41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OlN5bWJvbDt9Ci1AbGlzdCBsMTE6bGV2ZWwyCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpvOwotCW1zby1sZXZlbC10YWItc3RvcDoxLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3IjsKLQltc28tYmlkaS1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9Ci1AbGlzdCBsMTE6bGV2ZWwzCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6MS41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMTE6bGV2ZWw0Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6Mi4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMTE6bGV2ZWw1Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6Mi41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMTE6bGV2ZWw2Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6My4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMTE6bGV2ZWw3Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6My41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMTE6bGV2ZWw4Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6NC4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMTE6bGV2ZWw5Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6NC41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMTIKLQl7bXNvLWxpc3QtaWQ6MTQyNDQ5NzU1MzsKLQltc28tbGlzdC10ZW1wbGF0ZS1pZHM6LTE5NTUwNjY3MDQ7fQotQGxpc3QgbDEyOmxldmVsMQotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQjc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOi41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OlN5bWJvbDt9Ci1AbGlzdCBsMTI6bGV2ZWwyCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpvOwotCW1zby1sZXZlbC10YWItc3RvcDoxLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3IjsKLQltc28tYmlkaS1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9Ci1AbGlzdCBsMTI6bGV2ZWwzCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6MS41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMTI6bGV2ZWw0Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6Mi4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMTI6bGV2ZWw1Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6Mi41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMTI6bGV2ZWw2Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6My4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMTI6bGV2ZWw3Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6My41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMTI6bGV2ZWw4Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6NC4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMTI6bGV2ZWw5Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6NC41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMTMKLQl7bXNvLWxpc3QtaWQ6MTUzODY2MzU1ODsKLQltc28tbGlzdC10ZW1wbGF0ZS1pZHM6LTk4NzcwMjE3MDt9Ci1AbGlzdCBsMTM6bGV2ZWwxCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBCNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6LjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6U3ltYm9sO30KLUBsaXN0IGwxMzpsZXZlbDIKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0Om87Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjEuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseToiQ291cmllciBOZXciOwotCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KLUBsaXN0IGwxMzpsZXZlbDMKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoxLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxMzpsZXZlbDQKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoyLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxMzpsZXZlbDUKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoyLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxMzpsZXZlbDYKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDozLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxMzpsZXZlbDcKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDozLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxMzpsZXZlbDgKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDo0LjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxMzpsZXZlbDkKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDo0LjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxNAotCXttc28tbGlzdC1pZDoxNTc0MDA3ODA5OwotCW1zby1saXN0LXRlbXBsYXRlLWlkczo1MDUxODY5MzY7fQotQGxpc3QgbDE0OmxldmVsMQotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQjc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOi41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OlN5bWJvbDt9Ci1AbGlzdCBsMTQ6bGV2ZWwyCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpvOwotCW1zby1sZXZlbC10YWItc3RvcDoxLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3IjsKLQltc28tYmlkaS1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9Ci1AbGlzdCBsMTQ6bGV2ZWwzCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6MS41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMTQ6bGV2ZWw0Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6Mi4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMTQ6bGV2ZWw1Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6Mi41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMTQ6bGV2ZWw2Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6My4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMTQ6bGV2ZWw3Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6My41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMTQ6bGV2ZWw4Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6NC4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMTQ6bGV2ZWw5Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6NC41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMTUKLQl7bXNvLWxpc3QtaWQ6MTYwMjI5NzY1NDsKLQltc28tbGlzdC10ZW1wbGF0ZS1pZHM6NTg0MDYwNTA4O30KLUBsaXN0IGwxNTpsZXZlbDEKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEI3OwotCW1zby1sZXZlbC10YWItc3RvcDouNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpTeW1ib2w7fQotQGxpc3QgbDE1OmxldmVsMgotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6bzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6MS4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7Ci0JbXNvLWJpZGktZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQotQGxpc3QgbDE1OmxldmVsMwotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjEuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDE1OmxldmVsNAotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjIuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDE1OmxldmVsNQotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjIuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDE1OmxldmVsNgotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjMuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDE1OmxldmVsNwotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjMuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDE1OmxldmVsOAotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjQuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDE1OmxldmVsOQotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjQuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDE2Ci0Je21zby1saXN0LWlkOjE2MDI5MDcwOTE7Ci0JbXNvLWxpc3QtdGVtcGxhdGUtaWRzOi0xNDE1NTI5MzA2O30KLUBsaXN0IGwxNjpsZXZlbDEKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEI3OwotCW1zby1sZXZlbC10YWItc3RvcDouNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpTeW1ib2w7fQotQGxpc3QgbDE2OmxldmVsMgotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6bzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6MS4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7Ci0JbXNvLWJpZGktZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQotQGxpc3QgbDE2OmxldmVsMwotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjEuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDE2OmxldmVsNAotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjIuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDE2OmxldmVsNQotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjIuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDE2OmxldmVsNgotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjMuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDE2OmxldmVsNwotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjMuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDE2OmxldmVsOAotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjQuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDE2OmxldmVsOQotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQTc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjQuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDE3Ci0Je21zby1saXN0LWlkOjE2MTEyMDMzNjM7Ci0JbXNvLWxpc3QtdGVtcGxhdGUtaWRzOjEzNjI0MDAyMjt9Ci1AbGlzdCBsMTc6bGV2ZWwxCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBCNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6LjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6U3ltYm9sO30KLUBsaXN0IGwxNzpsZXZlbDIKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0Om87Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjEuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseToiQ291cmllciBOZXciOwotCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KLUBsaXN0IGwxNzpsZXZlbDMKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoxLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxNzpsZXZlbDQKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoyLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxNzpsZXZlbDUKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoyLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxNzpsZXZlbDYKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDozLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxNzpsZXZlbDcKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDozLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxNzpsZXZlbDgKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDo0LjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxNzpsZXZlbDkKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDo0LjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxOAotCXttc28tbGlzdC1pZDoxNjY4NjM0NDU4OwotCW1zby1saXN0LXRlbXBsYXRlLWlkczotMTA3NTE4MjI4MDt9Ci1AbGlzdCBsMTg6bGV2ZWwxCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBCNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6LjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6U3ltYm9sO30KLUBsaXN0IGwxODpsZXZlbDIKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0Om87Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjEuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseToiQ291cmllciBOZXciOwotCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KLUBsaXN0IGwxODpsZXZlbDMKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoxLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxODpsZXZlbDQKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoyLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxODpsZXZlbDUKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoyLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxODpsZXZlbDYKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDozLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxODpsZXZlbDcKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDozLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxODpsZXZlbDgKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDo0LjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxODpsZXZlbDkKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDo0LjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxOQotCXttc28tbGlzdC1pZDoxNzYxODI1NjY5OwotCW1zby1saXN0LXRlbXBsYXRlLWlkczotMTU3NTU3NTkwMDt9Ci1AbGlzdCBsMTk6bGV2ZWwxCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBCNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6LjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6U3ltYm9sO30KLUBsaXN0IGwxOTpsZXZlbDIKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0Om87Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjEuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseToiQ291cmllciBOZXciOwotCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KLUBsaXN0IGwxOTpsZXZlbDMKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoxLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxOTpsZXZlbDQKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoyLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxOTpsZXZlbDUKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDoyLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxOTpsZXZlbDYKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDozLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxOTpsZXZlbDcKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDozLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxOTpsZXZlbDgKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDo0LjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwxOTpsZXZlbDkKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OlxGMEE3OwotCW1zby1sZXZlbC10YWItc3RvcDo0LjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwyMAotCXttc28tbGlzdC1pZDoxODk1OTcxMzEzOwotCW1zby1saXN0LXRlbXBsYXRlLWlkczo0NTYwNjMyODg7fQotQGxpc3QgbDIwOmxldmVsMQotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6XEYwQjc7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOi41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OlN5bWJvbDt9Ci1AbGlzdCBsMjA6bGV2ZWwyCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpvOwotCW1zby1sZXZlbC10YWItc3RvcDoxLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3IjsKLQltc28tYmlkaS1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9Ci1AbGlzdCBsMjA6bGV2ZWwzCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6MS41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMjA6bGV2ZWw0Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6Mi4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMjA6bGV2ZWw1Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6Mi41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMjA6bGV2ZWw2Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6My4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMjA6bGV2ZWw3Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6My41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMjA6bGV2ZWw4Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6NC4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMjA6bGV2ZWw5Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpcRjBBNzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6NC41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Cit7bXNvLWxldmVsLXRhYi1zdG9wOjQuNWluOworbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwordGV4dC1pbmRlbnQ6LS4yNWluO30KIG9sCi0Je21hcmdpbi1ib3R0b206MGluO30KK3ttYXJnaW4tYm90dG9tOjBpbjt9CiB1bAotCXttYXJnaW4tYm90dG9tOjBpbjt9Cit7bWFyZ2luLWJvdHRvbTowaW47fQogLS0+Ci08L3N0eWxlPjwhLS1baWYgZ3RlIG1zbyAxMF0+Ci08c3R5bGU+Ci0gLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8KLSB0YWJsZS5Nc29Ob3JtYWxUYWJsZQotCXttc28tc3R5bGUtbmFtZToiVGFibGUgTm9ybWFsIjsKLQltc28tdHN0eWxlLXJvd2JhbmQtc2l6ZTowOwotCW1zby10c3R5bGUtY29sYmFuZC1zaXplOjA7Ci0JbXNvLXN0eWxlLW5vc2hvdzp5ZXM7Ci0JbXNvLXN0eWxlLXByaW9yaXR5Ojk5OwotCW1zby1zdHlsZS1wYXJlbnQ6IiI7Ci0JbXNvLXBhZGRpbmctYWx0OjBpbiA1LjRwdCAwaW4gNS40cHQ7Ci0JbXNvLXBhcmEtbWFyZ2luOjBpbjsKLQltc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47Ci0JZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJpZjt9Ci08L3N0eWxlPgotPCFbZW5kaWZdLS0+Ci0gICAgPG1ldGEgY29udGVudD0iTUNEIEFwcGxpY2F0aW9uIFRlYW0iIG5hbWU9ImF1dGhvciI+Ci0gICAgPCEtLVtpZiBndGUgbXNvIDldPjx4bWw+Ci0gPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0iMTAyNiIvPgotPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+Ci0gPG86c2hhcGVsYXlvdXQgdjpleHQ9ImVkaXQiPgotICA8bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIvPgotIDwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4KLSAgPC9oZWFkPgotICA8Ym9keSBsaW5rPSJibHVlIiBsYW5nPSJFTi1VUyIgdmxpbms9ImJsdWUiPgotICAgIDxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+Ci0gICAgICA8ZGl2PgotICAgICAgICA8ZGl2PgotICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkZSIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+Ci0gICAgICAgICAgPGRpdiBhbGlnbj0iY2VudGVyIj4KLSAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0iTXNvTm9ybWFsVGFibGUiIHN0eWxlPSJ3aWR0aDogNjc1cHQ7IgotICAgICAgICAgICAgICBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiIGJvcmRlcj0iMCIgd2lkdGg9IjkwMCI+Ci0gICAgICAgICAgICAgIDx0Ym9keT4KLSAgICAgICAgICAgICAgICA8dHIgc3R5bGU9IiI+Ci0gICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9InBhZGRpbmc6IDBpbjsiIHZhbGlnbj0idG9wIj4KLSAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJNc29Ob3JtYWxUYWJsZSIgc3R5bGU9IndpZHRoOiA2NzVwdDsiCi0gICAgICAgICAgICAgICAgICAgICAgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBib3JkZXI9IjAiCi0gICAgICAgICAgICAgICAgICAgICAgd2lkdGg9IjkwMCI+Ci0gICAgICAgICAgICAgICAgICAgICAgPHRib2R5PgotICAgICAgICAgICAgICAgICAgICAgICAgPHRyIHN0eWxlPSIiPgotICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9InBhZGRpbmc6IDBpbiA1LjRwdDsiIHZhbGlnbj0idG9wIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiA4cHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZTsiPjxhCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iLi4vLi4vUmVsZWFzZV9Ob3Rlcy5odG1sIj5CYWNrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gUmVsZWFzZSBwYWdlPC9hPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgotICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KLSAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBzdHlsZT0iIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJwYWRkaW5nOiAxLjVwdDsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMSBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMC4yNWluOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyIgYWxpZ249ImNlbnRlciI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMjBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYig1MSwgMTAyLCAyNTUpOyI+UmVsZWFzZSBOb3RlcyBmb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RNMzJGN3h4IEhBTCBEcml2ZXJzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDIwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2gxPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJ0ZXh0LWFsaWduOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyOyIgYWxpZ249ImNlbnRlciI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsiPkNvcHlyaWdodCAyMDE3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUTWljcm9lbGVjdHJvbmljczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IGJsYWNrOyI+PHUxOnA+PC91MTpwPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0idGV4dC1hbGlnbjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcjsiIGFsaWduPSJjZW50ZXIiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7Ij48aW1nIGlkPSJfeDAwMDBfaTEwNDAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJfaHRtcmVzYy9zdF9sb2dvLnBuZyIgYm9yZGVyPSIwIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD0iODEiIHdpZHRoPSIxMDkiPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgotICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KLSAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PgotICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgotICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOwotICAgICAgICAgICAgICAgICAgICAgICAgVGhlJm5ic3A7aGFyZHdhcmUgYWJzdHJhY3Rpb24gbGF5ZXIgKEhBTCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGVzIGxvdyBsZXZlbCBkcml2ZXJzIGFuZCB0aGUgaGFyZHdhcmUKLSAgICAgICAgICAgICAgICAgICAgICAgIGludGVyZmFjaW5nIG1ldGhvZHMgdG8gaW50ZXJhY3Qgd2l0aCB1cHBlcgotICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXImbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsKLSAgICAgICAgICAgICAgICAgICAgICAgIDxicj4KLSAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9wPgotICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDBweDsgd2lkdGg6Ci0gICAgICAgICAgICAgICAgICAgICAgMTU3MXB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOwotICAgICAgICAgICAgICAgICAgICAgICAgKGFwcGxpY2F0aW9uLCBsaWJyYXJpZXMgYW5kIHN0YWNrcykuICZuYnNwO0l0Ci0gICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlcyBhIGNvbXBsZXRlIHNldCBvZiByZWFkeS10by11c2UgQVBJcywKLSAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQgYXJlIGZlYXR1cmUtb3JpZW50ZWQgaW5zdGVhZCBvZiBJUC1PcmllbnRlZAotICAgICAgICAgICAgICAgICAgICAgICAgdG88L3NwYW4+PC9wPgotICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDBweDsgd2lkdGg6Ci0gICAgICAgICAgICAgICAgICAgICAgMTU3MXB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOwotICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+c2ltcGxpZnkgdXNlcgotICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb24gZGV2ZWxvcG1lbnQuPC9zcGFuPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwcHg7IHdpZHRoOgotICAgICAgICAgICAgICAgICAgICAgIDE1NzFweDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij48YnI+Ci0gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyBkaXNwbGF5OiBub25lOyI+PG86cD48L286cD48L3NwYW4+PC9wPgotICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9Ik1zb05vcm1hbFRhYmxlIiBzdHlsZT0id2lkdGg6IDE1NTFweDsKLSAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzEuNXB0OyBoZWlnaHQ6IDQ0ODg3cHg7IgotICAgICAgICAgICAgICAgICAgICAgIGNlbGxwYWRkaW5nPSIwIiBib3JkZXI9IjAiPgotICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT4KLSAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJwYWRkaW5nOiAwaW47IiB2YWxpZ249InRvcCI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAtbW96LWluaXRpYWw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otaW5pdGlhbDsgbWFyZ2luLWxlZnQ6IDBweDsgd2lkdGg6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMjc3cHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMnB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7Ij5VcGRhdGUgSGlzdG9yeTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IGJsYWNrOyI+IDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2gyPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7IHdpZHRoOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjcycHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlOyI+VjEuMi4xMC8gMjItTm92ZW1iZXItMjAyMTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2gzPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwaW4gNC41cHQgMC4yNWluOyB3aWR0aDogMTQxNnB4OyI+PGI+PHU+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrOyI+TWFpbiBDaGFuZ2VzPGJyPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L3U+PC9iPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50PSJ0ZXh0L2h0bWw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXJzZXQ9d2luZG93cy0xMjUyIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDBpbiA0LjVwdCAwLjI1aW47IHdpZHRoOiAxNDE2cHg7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9IlByb2dJZCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudD0iV29yZC5Eb2N1bWVudCI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJHZW5lcmF0b3IiIGNvbnRlbnQ9Ik1pY3Jvc29mdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXb3JkIDE1Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9Ik9yaWdpbmF0b3IiIGNvbnRlbnQ9Ik1pY3Jvc29mdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXb3JkIDE1Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPgotIDxvOk9mZmljZURvY3VtZW50U2V0dGluZ3M+Ci0gIDxvOkFsbG93UE5HLz4KLSA8L286T2ZmaWNlRG9jdW1lbnRTZXR0aW5ncz4KLTwveG1sPjwhW2VuZGlmXS0tPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLVtpZiBndGUgbXNvIDldPjx4bWw+Ci0gPHc6V29yZERvY3VtZW50PgotICA8dzpWaWV3Pk5vcm1hbDwvdzpWaWV3PgotICA8dzpab29tPjA8L3c6Wm9vbT4KLSAgPHc6VHJhY2tNb3Zlcy8+Ci0gIDx3OlRyYWNrRm9ybWF0dGluZy8+Ci0gIDx3Okh5cGhlbmF0aW9uWm9uZT4yMTwvdzpIeXBoZW5hdGlvblpvbmU+Ci0gIDx3OlB1bmN0dWF0aW9uS2VybmluZy8+Ci0gIDx3OlZhbGlkYXRlQWdhaW5zdFNjaGVtYXMvPgotICA8dzpTYXZlSWZYTUxJbnZhbGlkPmZhbHNlPC93OlNhdmVJZlhNTEludmFsaWQ+Ci0gIDx3Oklnbm9yZU1peGVkQ29udGVudD5mYWxzZTwvdzpJZ25vcmVNaXhlZENvbnRlbnQ+Ci0gIDx3OkFsd2F5c1Nob3dQbGFjZWhvbGRlclRleHQ+ZmFsc2U8L3c6QWx3YXlzU2hvd1BsYWNlaG9sZGVyVGV4dD4KLSAgPHc6RG9Ob3RQcm9tb3RlUUYvPgotICA8dzpMaWRUaGVtZU90aGVyPkVOLVVTPC93OkxpZFRoZW1lT3RoZXI+Ci0gIDx3OkxpZFRoZW1lQXNpYW4+WC1OT05FPC93OkxpZFRoZW1lQXNpYW4+Ci0gIDx3OkxpZFRoZW1lQ29tcGxleFNjcmlwdD5YLU5PTkU8L3c6TGlkVGhlbWVDb21wbGV4U2NyaXB0PgotICA8dzpDb21wYXRpYmlsaXR5PgotICAgPHc6QnJlYWtXcmFwcGVkVGFibGVzLz4KLSAgIDx3OlNuYXBUb0dyaWRJbkNlbGwvPgotICAgPHc6V3JhcFRleHRXaXRoUHVuY3QvPgotICAgPHc6VXNlQXNpYW5CcmVha1J1bGVzLz4KLSAgIDx3OkRvbnRHcm93QXV0b2ZpdC8+Ci0gICA8dzpTcGxpdFBnQnJlYWtBbmRQYXJhTWFyay8+Ci0gICA8dzpFbmFibGVPcGVuVHlwZUtlcm5pbmcvPgotICAgPHc6RG9udEZsaXBNaXJyb3JJbmRlbnRzLz4KLSAgIDx3Ok92ZXJyaWRlVGFibGVTdHlsZUhwcy8+Ci0gIDwvdzpDb21wYXRpYmlsaXR5PgotICA8bTptYXRoUHI+Ci0gICA8bTptYXRoRm9udCBtOnZhbD0iQ2FtYnJpYSBNYXRoIi8+Ci0gICA8bTpicmtCaW4gbTp2YWw9ImJlZm9yZSIvPgotICAgPG06YnJrQmluU3ViIG06dmFsPSImIzQ1Oy0iLz4KLSAgIDxtOnNtYWxsRnJhYyBtOnZhbD0ib2ZmIi8+Ci0gICA8bTpkaXNwRGVmLz4KLSAgIDxtOmxNYXJnaW4gbTp2YWw9IjAiLz4KLSAgIDxtOnJNYXJnaW4gbTp2YWw9IjAiLz4KLSAgIDxtOmRlZkpjIG06dmFsPSJjZW50ZXJHcm91cCIvPgotICAgPG06d3JhcEluZGVudCBtOnZhbD0iMTQ0MCIvPgotICAgPG06aW50TGltIG06dmFsPSJzdWJTdXAiLz4KLSAgIDxtOm5hcnlMaW0gbTp2YWw9InVuZE92ciIvPgotICA8L206bWF0aFByPjwvdzpXb3JkRG9jdW1lbnQ+Ci08L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4KLSA8dzpMYXRlbnRTdHlsZXMgRGVmTG9ja2VkU3RhdGU9ImZhbHNlIiBEZWZVbmhpZGVXaGVuVXNlZD0iZmFsc2UiCi0gIERlZlNlbWlIaWRkZW49ImZhbHNlIiBEZWZRRm9ybWF0PSJmYWxzZSIgRGVmUHJpb3JpdHk9Ijk5IgotICBMYXRlbnRTdHlsZUNvdW50PSIzNzYiPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjAiIFFGb3JtYXQ9InRydWUiIE5hbWU9Ik5vcm1hbCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImhlYWRpbmcgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImhlYWRpbmcgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImhlYWRpbmcgNyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyA4Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDkiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iaW5kZXggMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJpbmRleCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImluZGV4IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iaW5kZXggNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJpbmRleCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImluZGV4IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iaW5kZXggNyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJpbmRleCA4Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImluZGV4IDkiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJ0b2MgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRvYyAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0idG9jIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJ0b2MgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRvYyA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0idG9jIDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJ0b2MgNyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRvYyA4Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0idG9jIDkiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTm9ybWFsIEluZGVudCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJmb290bm90ZSB0ZXh0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImFubm90YXRpb24gdGV4dCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJoZWFkZXIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iZm9vdGVyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImluZGV4IGhlYWRpbmciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzNSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJjYXB0aW9uIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9InRhYmxlIG9mIGZpZ3VyZXMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iZW52ZWxvcGUgYWRkcmVzcyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJlbnZlbG9wZSByZXR1cm4iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iZm9vdG5vdGUgcmVmZXJlbmNlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImFubm90YXRpb24gcmVmZXJlbmNlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImxpbmUgbnVtYmVyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9InBhZ2UgbnVtYmVyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImVuZG5vdGUgcmVmZXJlbmNlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImVuZG5vdGUgdGV4dCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJ0YWJsZSBvZiBhdXRob3JpdGllcyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJtYWNybyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJ0b2EgaGVhZGluZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgQnVsbGV0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgTnVtYmVyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IEJ1bGxldCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgQnVsbGV0IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBCdWxsZXQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IEJ1bGxldCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgTnVtYmVyIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBOdW1iZXIgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IE51bWJlciA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgTnVtYmVyIDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIxMCIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iVGl0bGUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iQ2xvc2luZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJTaWduYXR1cmUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIxIiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IkRlZmF1bHQgUGFyYWdyYXBoIEZvbnQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iQm9keSBUZXh0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkJvZHkgVGV4dCBJbmRlbnQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBDb250aW51ZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IENvbnRpbnVlIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBDb250aW51ZSAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgQ29udGludWUgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IENvbnRpbnVlIDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTWVzc2FnZSBIZWFkZXIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIxMSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iU3VidGl0bGUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iU2FsdXRhdGlvbiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJEYXRlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkJvZHkgVGV4dCBGaXJzdCBJbmRlbnQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iQm9keSBUZXh0IEZpcnN0IEluZGVudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ik5vdGUgSGVhZGluZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJCb2R5IFRleHQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJCb2R5IFRleHQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJCb2R5IFRleHQgSW5kZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iQm9keSBUZXh0IEluZGVudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkJsb2NrIFRleHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSHlwZXJsaW5rIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkZvbGxvd2VkSHlwZXJsaW5rIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMjIiIFFGb3JtYXQ9InRydWUiIE5hbWU9IlN0cm9uZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjIwIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJFbXBoYXNpcyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJEb2N1bWVudCBNYXAiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iUGxhaW4gVGV4dCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJFLW1haWwgU2lnbmF0dXJlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgVG9wIG9mIEZvcm0iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSFRNTCBCb3R0b20gb2YgRm9ybSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJOb3JtYWwgKFdlYikiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSFRNTCBBY3JvbnltIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgQWRkcmVzcyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIENpdGUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSFRNTCBDb2RlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgRGVmaW5pdGlvbiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIEtleWJvYXJkIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgUHJlZm9ybWF0dGVkIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgU2FtcGxlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgVHlwZXdyaXRlciIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIFZhcmlhYmxlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ik5vcm1hbCBUYWJsZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJhbm5vdGF0aW9uIHN1YmplY3QiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTm8gTGlzdCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJPdXRsaW5lIExpc3QgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJPdXRsaW5lIExpc3QgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJPdXRsaW5lIExpc3QgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBTaW1wbGUgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBTaW1wbGUgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBTaW1wbGUgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDbGFzc2ljIDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ2xhc3NpYyAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENsYXNzaWMgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDbGFzc2ljIDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ29sb3JmdWwgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDb2xvcmZ1bCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENvbG9yZnVsIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ29sdW1ucyAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENvbHVtbnMgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDb2x1bW5zIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ29sdW1ucyA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENvbHVtbnMgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBHcmlkIDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgR3JpZCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIEdyaWQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBHcmlkIDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgR3JpZCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIEdyaWQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBHcmlkIDciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgR3JpZCA4Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIExpc3QgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBMaXN0IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgTGlzdCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIExpc3QgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBMaXN0IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgTGlzdCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIExpc3QgNyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBMaXN0IDgiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgM0QgZWZmZWN0cyAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIDNEIGVmZmVjdHMgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSAzRCBlZmZlY3RzIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ29udGVtcG9yYXJ5Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIEVsZWdhbnQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgUHJvZmVzc2lvbmFsIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIFN1YnRsZSAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIFN1YnRsZSAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIFdlYiAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIFdlYiAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIFdlYiAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkJhbGxvb24gVGV4dCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBOYW1lPSJUYWJsZSBHcmlkIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIFRoZW1lIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBOYW1lPSJQbGFjZWhvbGRlciBUZXh0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iTm8gU3BhY2luZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgTmFtZT0iUmV2aXNpb24iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzNCIgUUZvcm1hdD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgUGFyYWdyYXBoIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMjkiIFFGb3JtYXQ9InRydWUiIE5hbWU9IlF1b3RlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzAiIFFGb3JtYXQ9InRydWUiCi0gICBOYW1lPSJJbnRlbnNlIFF1b3RlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRpdW0gR3JpZCAyIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBHcmlkIDMgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0IEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjAiIE5hbWU9IkxpZ2h0IFNoYWRpbmcgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgTmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBOYW1lPSJMaWdodCBHcmlkIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY1IiBOYW1lPSJNZWRpdW0gTGlzdCAxIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRpdW0gR3JpZCAyIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBHcmlkIDMgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0IEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjAiIE5hbWU9IkxpZ2h0IFNoYWRpbmcgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgTmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBOYW1lPSJMaWdodCBHcmlkIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY1IiBOYW1lPSJNZWRpdW0gTGlzdCAxIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRpdW0gR3JpZCAyIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBHcmlkIDMgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0IEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjAiIE5hbWU9IkxpZ2h0IFNoYWRpbmcgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgTmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBOYW1lPSJMaWdodCBHcmlkIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY1IiBOYW1lPSJNZWRpdW0gTGlzdCAxIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRpdW0gR3JpZCAyIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBHcmlkIDMgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0IEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjAiIE5hbWU9IkxpZ2h0IFNoYWRpbmcgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgTmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBOYW1lPSJMaWdodCBHcmlkIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY1IiBOYW1lPSJNZWRpdW0gTGlzdCAxIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRpdW0gR3JpZCAyIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBHcmlkIDMgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0IEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjAiIE5hbWU9IkxpZ2h0IFNoYWRpbmcgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgTmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBOYW1lPSJMaWdodCBHcmlkIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY1IiBOYW1lPSJNZWRpdW0gTGlzdCAxIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRpdW0gR3JpZCAyIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBHcmlkIDMgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0IEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMTkiIFFGb3JtYXQ9InRydWUiCi0gICBOYW1lPSJTdWJ0bGUgRW1waGFzaXMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIyMSIgUUZvcm1hdD0idHJ1ZSIKLSAgIE5hbWU9IkludGVuc2UgRW1waGFzaXMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzMSIgUUZvcm1hdD0idHJ1ZSIKLSAgIE5hbWU9IlN1YnRsZSBSZWZlcmVuY2UiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzMiIgUUZvcm1hdD0idHJ1ZSIKLSAgIE5hbWU9IkludGVuc2UgUmVmZXJlbmNlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzMiIFFGb3JtYXQ9InRydWUiIE5hbWU9IkJvb2sgVGl0bGUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzNyIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJCaWJsaW9ncmFwaHkiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJUT0MgSGVhZGluZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQxIiBOYW1lPSJQbGFpbiBUYWJsZSAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDIiIE5hbWU9IlBsYWluIFRhYmxlIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0MyIgTmFtZT0iUGxhaW4gVGFibGUgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ0IiBOYW1lPSJQbGFpbiBUYWJsZSA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDUiIE5hbWU9IlBsYWluIFRhYmxlIDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0MCIgTmFtZT0iR3JpZCBUYWJsZSBMaWdodCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IiBOYW1lPSJHcmlkIFRhYmxlIDEgTGlnaHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NyIgTmFtZT0iR3JpZCBUYWJsZSAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDgiIE5hbWU9IkdyaWQgVGFibGUgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ5IiBOYW1lPSJHcmlkIFRhYmxlIDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MCIgTmFtZT0iR3JpZCBUYWJsZSA1IERhcmsiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MSIgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0IEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0IEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0IEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0IEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0IEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0IEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0IEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0IEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0IEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0IEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0IEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0IEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IiBOYW1lPSJMaXN0IFRhYmxlIDEgTGlnaHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NyIgTmFtZT0iTGlzdCBUYWJsZSAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDgiIE5hbWU9Ikxpc3QgVGFibGUgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ5IiBOYW1lPSJMaXN0IFRhYmxlIDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MCIgTmFtZT0iTGlzdCBUYWJsZSA1IERhcmsiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MSIgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0IEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBUYWJsZSA0IEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0IEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBUYWJsZSA0IEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0IEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBUYWJsZSA0IEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0IEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBUYWJsZSA0IEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0IEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBUYWJsZSA0IEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0IEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBUYWJsZSA0IEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJNZW50aW9uIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlNtYXJ0IEh5cGVybGluayIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIYXNodGFnIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlVucmVzb2x2ZWQgTWVudGlvbiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJTbWFydCBMaW5rIi8+Ci0gPC93OkxhdGVudFN0eWxlcz4KLTwveG1sPjwhW2VuZGlmXS0tPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0eWxlPgotPCEtLQotIC8qIEZvbnQgRGVmaW5pdGlvbnMgKi8KLSBAZm9udC1mYWNlCi0Je2ZvbnQtZmFtaWx5OldpbmdkaW5nczsKLQlwYW5vc2UtMTo1IDAgMCAwIDAgMCAwIDAgMCAwOwotCW1zby1mb250LWNoYXJzZXQ6MjsKLQltc28tZ2VuZXJpYy1mb250LWZhbWlseTphdXRvOwotCW1zby1mb250LXBpdGNoOnZhcmlhYmxlOwotCW1zby1mb250LXNpZ25hdHVyZTowIDI2ODQzNTQ1NiAwIDAgLTIxNDc0ODM2NDggMDt9Ci1AZm9udC1mYWNlCi0Je2ZvbnQtZmFtaWx5OiJDYW1icmlhIE1hdGgiOwotCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7Ci0JbXNvLWZvbnQtY2hhcnNldDowOwotCW1zby1nZW5lcmljLWZvbnQtZmFtaWx5OnJvbWFuOwotCW1zby1mb250LXBpdGNoOnZhcmlhYmxlOwotCW1zby1mb250LXNpZ25hdHVyZTotNTM2ODY5MTIxIDExMDczMDU3MjcgMzM1NTQ0MzIgMCA0MTUgMDt9Ci1AZm9udC1mYWNlCi0Je2ZvbnQtZmFtaWx5OlZlcmRhbmE7Ci0JcGFub3NlLTE6MiAxMSA2IDQgMyA1IDQgNCAyIDQ7Ci0JbXNvLWZvbnQtY2hhcnNldDowOwotCW1zby1nZW5lcmljLWZvbnQtZmFtaWx5OnN3aXNzOwotCW1zby1mb250LXBpdGNoOnZhcmlhYmxlOwotCW1zby1mb250LXNpZ25hdHVyZTotMTYxMDYxMDk0NSAxMDczNzUwMTA3IDE2IDAgNDE1IDA7fQotQGZvbnQtZmFjZQotCXtmb250LWZhbWlseToiU2Vnb2UgVUkiOwotCXBhbm9zZS0xOjIgMTEgNSAyIDQgMiA0IDIgMiAzOwotCW1zby1mb250LWNoYXJzZXQ6MDsKLQltc28tZ2VuZXJpYy1mb250LWZhbWlseTpzd2lzczsKLQltc28tZm9udC1waXRjaDp2YXJpYWJsZTsKLQltc28tZm9udC1zaWduYXR1cmU6LTQ2OTc1MDAxNyAtMTA3MzY4MzMyOSA5IDAgNTExIDA7fQotIC8qIFN0eWxlIERlZmluaXRpb25zICovCi0gcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbAotCXttc28tc3R5bGUtdW5oaWRlOm5vOwotCW1zby1zdHlsZS1wYXJlbnQ6IiI7Ci0JbWFyZ2luOjBpbjsKLQlsaW5lLWhlaWdodDoxMTUlOwotCW1zby1wYWdpbmF0aW9uOndpZG93LW9ycGhhbjsKLQlmb250LXNpemU6MTEuMHB0OwotCWZvbnQtZmFtaWx5OiJBcmlhbCIsc2Fucy1zZXJpZjsKLQltc28tZmFyZWFzdC1mb250LWZhbWlseTpBcmlhbDsKLQltc28tZmFyZWFzdC10aGVtZS1mb250Om1pbm9yLWxhdGluOwotCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwotCW1zby1iaWRpLXRoZW1lLWZvbnQ6bWlub3ItYmlkaTsKLQljb2xvcjojMDAyMDUyOwotCW1zby1hbnNpLWxhbmd1YWdlOkVOLVVTOwotCW1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTO30KLS5Nc29DaHBEZWZhdWx0Ci0Je21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5OwotCW1zby1kZWZhdWx0LXByb3BzOnllczsKLQlmb250LWZhbWlseToiQXJpYWwiLHNhbnMtc2VyaWY7Ci0JbXNvLWFzY2lpLWZvbnQtZmFtaWx5OkFyaWFsOwotCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OkFyaWFsOwotCW1zby1mYXJlYXN0LXRoZW1lLWZvbnQ6bWlub3ItbGF0aW47Ci0JbXNvLWhhbnNpLWZvbnQtZmFtaWx5OkFyaWFsOwotCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwotCW1zby1iaWRpLXRoZW1lLWZvbnQ6bWlub3ItYmlkaTsKLQljb2xvcjojMDAyMDUyOwotCW1zby1hbnNpLWxhbmd1YWdlOkVOLVVTOwotCW1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTO30KLS5Nc29QYXBEZWZhdWx0Ci0Je21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5OwotCWxpbmUtaGVpZ2h0OjExNSU7fQotQHBhZ2UgV29yZFNlY3Rpb24xCi0Je3NpemU6NTk1LjNwdCA4NDEuOXB0OwotCW1hcmdpbjoxLjBpbiAxLjBpbiAxLjBpbiAxLjBpbjsKLQltc28taGVhZGVyLW1hcmdpbjouNWluOwotCW1zby1mb290ZXItbWFyZ2luOi41aW47Ci0JbXNvLXBhcGVyLXNvdXJjZTowO30KLWRpdi5Xb3JkU2VjdGlvbjEKLQl7cGFnZTpXb3JkU2VjdGlvbjE7fQotIC8qIExpc3QgRGVmaW5pdGlvbnMgKi8KLSBAbGlzdCBsMAotCXttc28tbGlzdC1pZDoxMjU1NTUwOTEwOwotCW1zby1saXN0LXRlbXBsYXRlLWlkczotMTkxNTIxNDIwNDt9Ci1AbGlzdCBsMDpsZXZlbDEKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OiYjNjE2MjM7OwotCW1zby1sZXZlbC10YWItc3RvcDouNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpTeW1ib2w7fQotQGxpc3QgbDA6bGV2ZWwyCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpvOwotCW1zby1sZXZlbC10YWItc3RvcDoxLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3IjsKLQltc28tYmlkaS1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9Ci1AbGlzdCBsMDpsZXZlbDMKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OiYjNjE2MDc7OwotCW1zby1sZXZlbC10YWItc3RvcDoxLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwwOmxldmVsNAotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6JiM2MTYwNzs7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjIuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDA6bGV2ZWw1Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDomIzYxNjA3OzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6Mi41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMDpsZXZlbDYKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OiYjNjE2MDc7OwotCW1zby1sZXZlbC10YWItc3RvcDozLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwwOmxldmVsNwotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6JiM2MTYwNzs7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjMuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDA6bGV2ZWw4Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDomIzYxNjA3OzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6NC4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMDpsZXZlbDkKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OiYjNjE2MDc7OwotCW1zby1sZXZlbC10YWItc3RvcDo0LjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLW9sCi0Je21hcmdpbi1ib3R0b206MGluO30KLXVsCi0Je21hcmdpbi1ib3R0b206MGluO30KLS0tPgotPC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gMTBdPgotPHN0eWxlPgotIC8qIFN0eWxlIERlZmluaXRpb25zICovCi0gdGFibGUuTXNvTm9ybWFsVGFibGUKLQl7bXNvLXN0eWxlLW5hbWU6IlRhYmxlIE5vcm1hbCI7Ci0JbXNvLXRzdHlsZS1yb3diYW5kLXNpemU6MDsKLQltc28tdHN0eWxlLWNvbGJhbmQtc2l6ZTowOwotCW1zby1zdHlsZS1ub3Nob3c6eWVzOwotCW1zby1zdHlsZS1wcmlvcml0eTo5OTsKLQltc28tc3R5bGUtcGFyZW50OiIiOwotCW1zby1wYWRkaW5nLWFsdDowaW4gNS40cHQgMGluIDUuNHB0OwotCW1zby1wYXJhLW1hcmdpbjowaW47Ci0JbGluZS1oZWlnaHQ6MTE1JTsKLQltc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47Ci0JZm9udC1zaXplOjExLjBwdDsKLQlmb250LWZhbWlseToiQXJpYWwiLHNhbnMtc2VyaWY7Ci0JbXNvLWJpZGktZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Ci0JbXNvLWJpZGktdGhlbWUtZm9udDptaW5vci1iaWRpOwotCWNvbG9yOiMwMDIwNTI7Ci0JbXNvLWFuc2ktbGFuZ3VhZ2U6RU4tVVM7Ci0JbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVM7fQotPC9zdHlsZT4KLTwhW2VuZGlmXS0tPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50PSJ0ZXh0L2h0bWw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXJzZXQ9d2luZG93cy0xMjUyIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDBpbiA0LjVwdCAwLjI1aW47IHdpZHRoOiAxNDE2cHg7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9IlByb2dJZCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudD0iV29yZC5Eb2N1bWVudCI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJHZW5lcmF0b3IiIGNvbnRlbnQ9Ik1pY3Jvc29mdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXb3JkIDE1Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9Ik9yaWdpbmF0b3IiIGNvbnRlbnQ9Ik1pY3Jvc29mdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXb3JkIDE1Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPgotIDx3OldvcmREb2N1bWVudD4KLSAgPHc6Vmlldz5Ob3JtYWw8L3c6Vmlldz4KLSAgPHc6Wm9vbT4wPC93Olpvb20+Ci0gIDx3OlRyYWNrTW92ZXMvPgotICA8dzpUcmFja0Zvcm1hdHRpbmcvPgotICA8dzpIeXBoZW5hdGlvblpvbmU+MjE8L3c6SHlwaGVuYXRpb25ab25lPgotICA8dzpQdW5jdHVhdGlvbktlcm5pbmcvPgotICA8dzpWYWxpZGF0ZUFnYWluc3RTY2hlbWFzLz4KLSAgPHc6U2F2ZUlmWE1MSW52YWxpZD5mYWxzZTwvdzpTYXZlSWZYTUxJbnZhbGlkPgotICA8dzpJZ25vcmVNaXhlZENvbnRlbnQ+ZmFsc2U8L3c6SWdub3JlTWl4ZWRDb250ZW50PgotICA8dzpBbHdheXNTaG93UGxhY2Vob2xkZXJUZXh0PmZhbHNlPC93OkFsd2F5c1Nob3dQbGFjZWhvbGRlclRleHQ+Ci0gIDx3OkRvTm90UHJvbW90ZVFGLz4KLSAgPHc6TGlkVGhlbWVPdGhlcj5FTi1VUzwvdzpMaWRUaGVtZU90aGVyPgotICA8dzpMaWRUaGVtZUFzaWFuPlgtTk9ORTwvdzpMaWRUaGVtZUFzaWFuPgotICA8dzpMaWRUaGVtZUNvbXBsZXhTY3JpcHQ+WC1OT05FPC93OkxpZFRoZW1lQ29tcGxleFNjcmlwdD4KLSAgPHc6Q29tcGF0aWJpbGl0eT4KLSAgIDx3OkJyZWFrV3JhcHBlZFRhYmxlcy8+Ci0gICA8dzpTbmFwVG9HcmlkSW5DZWxsLz4KLSAgIDx3OldyYXBUZXh0V2l0aFB1bmN0Lz4KLSAgIDx3OlVzZUFzaWFuQnJlYWtSdWxlcy8+Ci0gICA8dzpEb250R3Jvd0F1dG9maXQvPgotICAgPHc6U3BsaXRQZ0JyZWFrQW5kUGFyYU1hcmsvPgotICAgPHc6RW5hYmxlT3BlblR5cGVLZXJuaW5nLz4KLSAgIDx3OkRvbnRGbGlwTWlycm9ySW5kZW50cy8+Ci0gICA8dzpPdmVycmlkZVRhYmxlU3R5bGVIcHMvPgotICA8L3c6Q29tcGF0aWJpbGl0eT4KLSAgPG06bWF0aFByPgotICAgPG06bWF0aEZvbnQgbTp2YWw9IkNhbWJyaWEgTWF0aCIvPgotICAgPG06YnJrQmluIG06dmFsPSJiZWZvcmUiLz4KLSAgIDxtOmJya0JpblN1YiBtOnZhbD0iJiM0NTstIi8+Ci0gICA8bTpzbWFsbEZyYWMgbTp2YWw9Im9mZiIvPgotICAgPG06ZGlzcERlZi8+Ci0gICA8bTpsTWFyZ2luIG06dmFsPSIwIi8+Ci0gICA8bTpyTWFyZ2luIG06dmFsPSIwIi8+Ci0gICA8bTpkZWZKYyBtOnZhbD0iY2VudGVyR3JvdXAiLz4KLSAgIDxtOndyYXBJbmRlbnQgbTp2YWw9IjE0NDAiLz4KLSAgIDxtOmludExpbSBtOnZhbD0ic3ViU3VwIi8+Ci0gICA8bTpuYXJ5TGltIG06dmFsPSJ1bmRPdnIiLz4KLSAgPC9tOm1hdGhQcj48L3c6V29yZERvY3VtZW50PgotPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+Ci0gPHc6TGF0ZW50U3R5bGVzIERlZkxvY2tlZFN0YXRlPSJmYWxzZSIgRGVmVW5oaWRlV2hlblVzZWQ9ImZhbHNlIgotICBEZWZTZW1pSGlkZGVuPSJmYWxzZSIgRGVmUUZvcm1hdD0iZmFsc2UiIERlZlByaW9yaXR5PSI5OSIKLSAgTGF0ZW50U3R5bGVDb3VudD0iMzc2Ij4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIwIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJOb3JtYWwiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImhlYWRpbmcgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImhlYWRpbmcgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImhlYWRpbmcgOCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyA5Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImluZGV4IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iaW5kZXggMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJpbmRleCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImluZGV4IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iaW5kZXggNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJpbmRleCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImluZGV4IDciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iaW5kZXggOCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJpbmRleCA5Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0idG9jIDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJ0b2MgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRvYyAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0idG9jIDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJ0b2MgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRvYyA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0idG9jIDciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJ0b2MgOCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRvYyA5Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ik5vcm1hbCBJbmRlbnQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iZm9vdG5vdGUgdGV4dCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJhbm5vdGF0aW9uIHRleHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iaGVhZGVyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImZvb3RlciIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJpbmRleCBoZWFkaW5nIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzUiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iY2FwdGlvbiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJ0YWJsZSBvZiBmaWd1cmVzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImVudmVsb3BlIGFkZHJlc3MiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iZW52ZWxvcGUgcmV0dXJuIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImZvb3Rub3RlIHJlZmVyZW5jZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJhbm5vdGF0aW9uIHJlZmVyZW5jZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJsaW5lIG51bWJlciIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJwYWdlIG51bWJlciIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJlbmRub3RlIHJlZmVyZW5jZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJlbmRub3RlIHRleHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0idGFibGUgb2YgYXV0aG9yaXRpZXMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0ibWFjcm8iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0idG9hIGhlYWRpbmciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IEJ1bGxldCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IE51bWJlciIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBCdWxsZXQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IEJ1bGxldCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgQnVsbGV0IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBCdWxsZXQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IE51bWJlciAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgTnVtYmVyIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBOdW1iZXIgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IE51bWJlciA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMTAiIFFGb3JtYXQ9InRydWUiIE5hbWU9IlRpdGxlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkNsb3NpbmciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iU2lnbmF0dXJlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJEZWZhdWx0IFBhcmFncmFwaCBGb250Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkJvZHkgVGV4dCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJCb2R5IFRleHQgSW5kZW50Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgQ29udGludWUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBDb250aW51ZSAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgQ29udGludWUgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IENvbnRpbnVlIDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBDb250aW51ZSA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ik1lc3NhZ2UgSGVhZGVyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMTEiIFFGb3JtYXQ9InRydWUiIE5hbWU9IlN1YnRpdGxlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlNhbHV0YXRpb24iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iRGF0ZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJCb2R5IFRleHQgRmlyc3QgSW5kZW50Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkJvZHkgVGV4dCBGaXJzdCBJbmRlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJOb3RlIEhlYWRpbmciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iQm9keSBUZXh0IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iQm9keSBUZXh0IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iQm9keSBUZXh0IEluZGVudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkJvZHkgVGV4dCBJbmRlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJCbG9jayBUZXh0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikh5cGVybGluayIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJGb2xsb3dlZEh5cGVybGluayIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjIyIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJTdHJvbmciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIyMCIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iRW1waGFzaXMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iRG9jdW1lbnQgTWFwIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlBsYWluIFRleHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iRS1tYWlsIFNpZ25hdHVyZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIFRvcCBvZiBGb3JtIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgQm90dG9tIG9mIEZvcm0iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTm9ybWFsIChXZWIpIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgQWNyb255bSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIEFkZHJlc3MiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSFRNTCBDaXRlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgQ29kZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIERlZmluaXRpb24iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSFRNTCBLZXlib2FyZCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIFByZWZvcm1hdHRlZCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIFNhbXBsZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIFR5cGV3cml0ZXIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSFRNTCBWYXJpYWJsZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJOb3JtYWwgVGFibGUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iYW5ub3RhdGlvbiBzdWJqZWN0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ik5vIExpc3QiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iT3V0bGluZSBMaXN0IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iT3V0bGluZSBMaXN0IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iT3V0bGluZSBMaXN0IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgU2ltcGxlIDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgU2ltcGxlIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgU2ltcGxlIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ2xhc3NpYyAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENsYXNzaWMgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDbGFzc2ljIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ2xhc3NpYyA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENvbG9yZnVsIDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ29sb3JmdWwgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDb2xvcmZ1bCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENvbHVtbnMgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDb2x1bW5zIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ29sdW1ucyAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENvbHVtbnMgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDb2x1bW5zIDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgR3JpZCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIEdyaWQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBHcmlkIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgR3JpZCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIEdyaWQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBHcmlkIDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgR3JpZCA3Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIEdyaWQgOCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBMaXN0IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgTGlzdCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIExpc3QgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBMaXN0IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgTGlzdCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIExpc3QgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBMaXN0IDciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgTGlzdCA4Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIDNEIGVmZmVjdHMgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSAzRCBlZmZlY3RzIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgM0QgZWZmZWN0cyAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENvbnRlbXBvcmFyeSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBFbGVnYW50Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIFByb2Zlc3Npb25hbCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBTdWJ0bGUgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBTdWJ0bGUgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBXZWIgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBXZWIgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBXZWIgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJCYWxsb29uIFRleHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgTmFtZT0iVGFibGUgR3JpZCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBUaGVtZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgTmFtZT0iUGxhY2Vob2xkZXIgVGV4dCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjEiIFFGb3JtYXQ9InRydWUiIE5hbWU9Ik5vIFNwYWNpbmciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MCIgTmFtZT0iTGlnaHQgU2hhZGluZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYxIiBOYW1lPSJMaWdodCBMaXN0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjIiIE5hbWU9IkxpZ2h0IEdyaWQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MyIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY0IiBOYW1lPSJNZWRpdW0gU2hhZGluZyAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjUiIE5hbWU9Ik1lZGl1bSBMaXN0IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NiIgTmFtZT0iTWVkaXVtIExpc3QgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY3IiBOYW1lPSJNZWRpdW0gR3JpZCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjgiIE5hbWU9Ik1lZGl1bSBHcmlkIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OSIgTmFtZT0iTWVkaXVtIEdyaWQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcwIiBOYW1lPSJEYXJrIExpc3QiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MSIgTmFtZT0iQ29sb3JmdWwgU2hhZGluZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcyIiBOYW1lPSJDb2xvcmZ1bCBMaXN0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzMiIE5hbWU9IkNvbG9yZnVsIEdyaWQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MCIgTmFtZT0iTGlnaHQgU2hhZGluZyBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYxIiBOYW1lPSJMaWdodCBMaXN0IEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjIiIE5hbWU9IkxpZ2h0IEdyaWQgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MyIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMSBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY0IiBOYW1lPSJNZWRpdW0gU2hhZGluZyAyIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjUiIE5hbWU9Ik1lZGl1bSBMaXN0IDEgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIE5hbWU9IlJldmlzaW9uIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzQiIFFGb3JtYXQ9InRydWUiCi0gICBOYW1lPSJMaXN0IFBhcmFncmFwaCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjI5IiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJRdW90ZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjMwIiBRRm9ybWF0PSJ0cnVlIgotICAgTmFtZT0iSW50ZW5zZSBRdW90ZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjE5IiBRRm9ybWF0PSJ0cnVlIgotICAgTmFtZT0iU3VidGxlIEVtcGhhc2lzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMjEiIFFGb3JtYXQ9InRydWUiCi0gICBOYW1lPSJJbnRlbnNlIEVtcGhhc2lzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzEiIFFGb3JtYXQ9InRydWUiCi0gICBOYW1lPSJTdWJ0bGUgUmVmZXJlbmNlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzIiIFFGb3JtYXQ9InRydWUiCi0gICBOYW1lPSJJbnRlbnNlIFJlZmVyZW5jZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjMzIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJCb29rIFRpdGxlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzciIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iQmlibGlvZ3JhcGh5Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iVE9DIEhlYWRpbmciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0MSIgTmFtZT0iUGxhaW4gVGFibGUgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQyIiBOYW1lPSJQbGFpbiBUYWJsZSAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDMiIE5hbWU9IlBsYWluIFRhYmxlIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NCIgTmFtZT0iUGxhaW4gVGFibGUgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ1IiBOYW1lPSJQbGFpbiBUYWJsZSA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDAiIE5hbWU9IkdyaWQgVGFibGUgTGlnaHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiIE5hbWU9IkdyaWQgVGFibGUgNiBDb2xvcmZ1bCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUyIiBOYW1lPSJHcmlkIFRhYmxlIDcgQ29sb3JmdWwiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgMSBMaWdodCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJHcmlkIFRhYmxlIDIgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iR3JpZCBUYWJsZSAzIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9IkdyaWQgVGFibGUgNCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJHcmlkIFRhYmxlIDUgRGFyayBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgMSBMaWdodCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJHcmlkIFRhYmxlIDIgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iR3JpZCBUYWJsZSAzIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9IkdyaWQgVGFibGUgNCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJHcmlkIFRhYmxlIDUgRGFyayBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgMSBMaWdodCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJHcmlkIFRhYmxlIDIgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iR3JpZCBUYWJsZSAzIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9IkdyaWQgVGFibGUgNCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJHcmlkIFRhYmxlIDUgRGFyayBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgMSBMaWdodCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJHcmlkIFRhYmxlIDIgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iR3JpZCBUYWJsZSAzIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9IkdyaWQgVGFibGUgNCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJHcmlkIFRhYmxlIDUgRGFyayBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgMSBMaWdodCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJHcmlkIFRhYmxlIDIgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iR3JpZCBUYWJsZSAzIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9IkdyaWQgVGFibGUgNCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJHcmlkIFRhYmxlIDUgRGFyayBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgMSBMaWdodCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJHcmlkIFRhYmxlIDIgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iR3JpZCBUYWJsZSAzIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9IkdyaWQgVGFibGUgNCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJHcmlkIFRhYmxlIDUgRGFyayBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBUYWJsZSA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiIE5hbWU9Ikxpc3QgVGFibGUgNiBDb2xvcmZ1bCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUyIiBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgMSBMaWdodCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iTGlzdCBUYWJsZSAzIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9Ikxpc3QgVGFibGUgNCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJMaXN0IFRhYmxlIDUgRGFyayBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgMSBMaWdodCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iTGlzdCBUYWJsZSAzIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9Ikxpc3QgVGFibGUgNCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJMaXN0IFRhYmxlIDUgRGFyayBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgMSBMaWdodCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iTGlzdCBUYWJsZSAzIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9Ikxpc3QgVGFibGUgNCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJMaXN0IFRhYmxlIDUgRGFyayBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgMSBMaWdodCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iTGlzdCBUYWJsZSAzIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9Ikxpc3QgVGFibGUgNCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJMaXN0IFRhYmxlIDUgRGFyayBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgMSBMaWdodCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iTGlzdCBUYWJsZSAzIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9Ikxpc3QgVGFibGUgNCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJMaXN0IFRhYmxlIDUgRGFyayBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgMSBMaWdodCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iTGlzdCBUYWJsZSAzIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9Ikxpc3QgVGFibGUgNCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJMaXN0IFRhYmxlIDUgRGFyayBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTWVudGlvbiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJTbWFydCBIeXBlcmxpbmsiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSGFzaHRhZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJVbnJlc29sdmVkIE1lbnRpb24iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iU21hcnQgTGluayIvPgotIDwvdzpMYXRlbnRTdHlsZXM+Ci08L3htbD48IVtlbmRpZl0tLT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHlsZT4KLTwhLS0KLSAvKiBGb250IERlZmluaXRpb25zICovCi0gQGZvbnQtZmFjZQotCXtmb250LWZhbWlseTpXaW5nZGluZ3M7Ci0JcGFub3NlLTE6NSAwIDAgMCAwIDAgMCAwIDAgMDsKLQltc28tZm9udC1jaGFyc2V0OjI7Ci0JbXNvLWdlbmVyaWMtZm9udC1mYW1pbHk6YXV0bzsKLQltc28tZm9udC1waXRjaDp2YXJpYWJsZTsKLQltc28tZm9udC1zaWduYXR1cmU6MCAyNjg0MzU0NTYgMCAwIC0yMTQ3NDgzNjQ4IDA7fQotQGZvbnQtZmFjZQotCXtmb250LWZhbWlseToiQ2FtYnJpYSBNYXRoIjsKLQlwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMgMiA0OwotCW1zby1mb250LWNoYXJzZXQ6MDsKLQltc28tZ2VuZXJpYy1mb250LWZhbWlseTpyb21hbjsKLQltc28tZm9udC1waXRjaDp2YXJpYWJsZTsKLQltc28tZm9udC1zaWduYXR1cmU6LTUzNjg2OTEyMSAxMTA3MzA1NzI3IDMzNTU0NDMyIDAgNDE1IDA7fQotQGZvbnQtZmFjZQotCXtmb250LWZhbWlseTpWZXJkYW5hOwotCXBhbm9zZS0xOjIgMTEgNiA0IDMgNSA0IDQgMiA0OwotCW1zby1mb250LWNoYXJzZXQ6MDsKLQltc28tZ2VuZXJpYy1mb250LWZhbWlseTpzd2lzczsKLQltc28tZm9udC1waXRjaDp2YXJpYWJsZTsKLQltc28tZm9udC1zaWduYXR1cmU6LTE2MTA2MTA5NDUgMTA3Mzc1MDEwNyAxNiAwIDQxNSAwO30KLUBmb250LWZhY2UKLQl7Zm9udC1mYW1pbHk6IlNlZ29lIFVJIjsKLQlwYW5vc2UtMToyIDExIDUgMiA0IDIgNCAyIDIgMzsKLQltc28tZm9udC1jaGFyc2V0OjA7Ci0JbXNvLWdlbmVyaWMtZm9udC1mYW1pbHk6c3dpc3M7Ci0JbXNvLWZvbnQtcGl0Y2g6dmFyaWFibGU7Ci0JbXNvLWZvbnQtc2lnbmF0dXJlOi00Njk3NTAwMTcgLTEwNzM2ODMzMjkgOSAwIDUxMSAwO30KLSAvKiBTdHlsZSBEZWZpbml0aW9ucyAqLwotIHAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwKLQl7bXNvLXN0eWxlLXVuaGlkZTpubzsKLQltc28tc3R5bGUtcGFyZW50OiIiOwotCW1hcmdpbjowaW47Ci0JbGluZS1oZWlnaHQ6MTE1JTsKLQltc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47Ci0JZm9udC1zaXplOjExLjBwdDsKLQlmb250LWZhbWlseToiQXJpYWwiLHNhbnMtc2VyaWY7Ci0JbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6QXJpYWw7Ci0JbXNvLWZhcmVhc3QtdGhlbWUtZm9udDptaW5vci1sYXRpbjsKLQltc28tYmlkaS1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKLQltc28tYmlkaS10aGVtZS1mb250Om1pbm9yLWJpZGk7Ci0JY29sb3I6IzAwMjA1MjsKLQltc28tYW5zaS1sYW5ndWFnZTpFTi1VUzsKLQltc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUzt9Ci0uTXNvQ2hwRGVmYXVsdAotCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsKLQltc28tZGVmYXVsdC1wcm9wczp5ZXM7Ci0JZm9udC1mYW1pbHk6IkFyaWFsIixzYW5zLXNlcmlmOwotCW1zby1hc2NpaS1mb250LWZhbWlseTpBcmlhbDsKLQltc28tZmFyZWFzdC1mb250LWZhbWlseTpBcmlhbDsKLQltc28tZmFyZWFzdC10aGVtZS1mb250Om1pbm9yLWxhdGluOwotCW1zby1oYW5zaS1mb250LWZhbWlseTpBcmlhbDsKLQltc28tYmlkaS1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKLQltc28tYmlkaS10aGVtZS1mb250Om1pbm9yLWJpZGk7Ci0JY29sb3I6IzAwMjA1MjsKLQltc28tYW5zaS1sYW5ndWFnZTpFTi1VUzsKLQltc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUzt9Ci0uTXNvUGFwRGVmYXVsdAotCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsKLQlsaW5lLWhlaWdodDoxMTUlO30KLUBwYWdlIFdvcmRTZWN0aW9uMQotCXtzaXplOjguNWluIDExLjBpbjsKLQltYXJnaW46NzAuODVwdCA3MC44NXB0IDcwLjg1cHQgNzAuODVwdDsKLQltc28taGVhZGVyLW1hcmdpbjouNWluOwotCW1zby1mb290ZXItbWFyZ2luOi41aW47Ci0JbXNvLXBhcGVyLXNvdXJjZTowO30KLWRpdi5Xb3JkU2VjdGlvbjEKLQl7cGFnZTpXb3JkU2VjdGlvbjE7fQotIC8qIExpc3QgRGVmaW5pdGlvbnMgKi8KLSBAbGlzdCBsMAotCXttc28tbGlzdC1pZDoxMjU1NTUwOTEwOwotCW1zby1saXN0LXRlbXBsYXRlLWlkczotMTkxNTIxNDIwNDt9Ci1AbGlzdCBsMDpsZXZlbDEKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OiYjNjE2MjM7OwotCW1zby1sZXZlbC10YWItc3RvcDouNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpTeW1ib2w7fQotQGxpc3QgbDA6bGV2ZWwyCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDpvOwotCW1zby1sZXZlbC10YWItc3RvcDoxLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3IjsKLQltc28tYmlkaS1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9Ci1AbGlzdCBsMDpsZXZlbDMKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OiYjNjE2MDc7OwotCW1zby1sZXZlbC10YWItc3RvcDoxLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwwOmxldmVsNAotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6JiM2MTYwNzs7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjIuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDA6bGV2ZWw1Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDomIzYxNjA3OzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6Mi41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMDpsZXZlbDYKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OiYjNjE2MDc7OwotCW1zby1sZXZlbC10YWItc3RvcDozLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwwOmxldmVsNwotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6JiM2MTYwNzs7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjMuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDA6bGV2ZWw4Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDomIzYxNjA3OzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6NC4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMDpsZXZlbDkKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OiYjNjE2MDc7OwotCW1zby1sZXZlbC10YWItc3RvcDo0LjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLW9sCi0Je21hcmdpbi1ib3R0b206MGluO30KLXVsCi0Je21hcmdpbi1ib3R0b206MGluO30KLS0tPgotPC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gMTBdPgotPHN0eWxlPgotIC8qIFN0eWxlIERlZmluaXRpb25zICovCi0gdGFibGUuTXNvTm9ybWFsVGFibGUKLQl7bXNvLXN0eWxlLW5hbWU6IlRhYmxlIE5vcm1hbCI7Ci0JbXNvLXRzdHlsZS1yb3diYW5kLXNpemU6MDsKLQltc28tdHN0eWxlLWNvbGJhbmQtc2l6ZTowOwotCW1zby1zdHlsZS1ub3Nob3c6eWVzOwotCW1zby1zdHlsZS1wcmlvcml0eTo5OTsKLQltc28tc3R5bGUtcGFyZW50OiIiOwotCW1zby1wYWRkaW5nLWFsdDowaW4gNS40cHQgMGluIDUuNHB0OwotCW1zby1wYXJhLW1hcmdpbjowaW47Ci0JbGluZS1oZWlnaHQ6MTE1JTsKLQltc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47Ci0JZm9udC1zaXplOjExLjBwdDsKLQlmb250LWZhbWlseToiQXJpYWwiLHNhbnMtc2VyaWY7Ci0JbXNvLWJpZGktZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Ci0JbXNvLWJpZGktdGhlbWUtZm9udDptaW5vci1iaWRpOwotCWNvbG9yOiMwMDIwNTI7Ci0JbXNvLWFuc2ktbGFuZ3VhZ2U6RU4tVVM7Ci0JbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVM7fQotPC9zdHlsZT4KLTwhW2VuZGlmXS0tPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDEgbGZvMTt0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworPC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gMTBdPiA8c3R5bGU+IC8qIFN0eWxlIERlZmluaXRpb25zICovIHRhYmxlLk1zb05vcm1hbFRhYmxlIHttc28tc3R5bGUtbmFtZToiVGFibGUgTm9ybWFsIjsgbXNvLXRzdHlsZS1yb3diYW5kLXNpemU6MDsgbXNvLXRzdHlsZS1jb2xiYW5kLXNpemU6MDsgbXNvLXN0eWxlLW5vc2hvdzp5ZXM7IG1zby1zdHlsZS1wcmlvcml0eTo5OTsgbXNvLXN0eWxlLXFmb3JtYXQ6eWVzOyBtc28tc3R5bGUtcGFyZW50OiIiOyBtc28tcGFkZGluZy1hbHQ6MGluIDUuNHB0IDBpbiA1LjRwdDsgbXNvLXBhcmEtbWFyZ2luOjBpbjsgbXNvLXBhcmEtbWFyZ2luLWJvdHRvbTouMDAwMXB0OyBtc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47IGZvbnQtc2l6ZToxMC4wcHQ7IGZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iLCJzZXJpZiI7fSA8L3N0eWxlPiA8IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4gPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0iNzE3MCIvPiA8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4gPG86c2hhcGVsYXlvdXQgdjpleHQ9ImVkaXQiPiA8bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIvPiA8L286c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5kaWZdLS0+Cis8bWV0YSBjb250ZW50PSJNQ0QgQXBwbGljYXRpb24gVGVhbSIgbmFtZT0iYXV0aG9yIj48L2hlYWQ+Cis8Ym9keSBsaW5rPSJibHVlIiB2bGluaz0iYmx1ZSI+Cis8ZGl2IGNsYXNzPSJXb3JkU2VjdGlvbjEiPgorPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPgorPGRpdiBhbGlnbj0iY2VudGVyIj4KKzx0YWJsZSBjbGFzcz0iTXNvTm9ybWFsVGFibGUiIHN0eWxlPSJ3aWR0aDogNjc1cHQ7IiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjkwMCI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgc3R5bGU9InBhZGRpbmc6IDBpbjsiIHZhbGlnbj0idG9wIj4KKzx0YWJsZSBjbGFzcz0iTXNvTm9ybWFsVGFibGUiIHN0eWxlPSJ3aWR0aDogNjc1cHQ7IiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjkwMCI+Cis8dGJvZHk+Cis8dHIgc3R5bGU9IiI+Cis8dGQgc3R5bGU9InBhZGRpbmc6IDBpbiA1LjRwdDsiIHZhbGlnbj0idG9wIj4KKzxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDhwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGNvbG9yOiBibHVlOyI+PGEgaHJlZj0iLi4vLi4vUmVsZWFzZV9Ob3Rlcy5odG1sIj5CYWNrIHRvIFJlbGVhc2UgcGFnZTwvYT48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KKzwvdGQ+Cis8L3RyPgorPHRyIHN0eWxlPSIiPgorPHRkIHN0eWxlPSJwYWRkaW5nOiAxLjVwdDsiPgorPGgxIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwLjI1aW47IHRleHQtYWxpZ246IGNlbnRlcjsiIGFsaWduPSJjZW50ZXIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDIwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGNvbG9yOiByZ2IoNTEsIDEwMiwgMjU1KTsiPlJlbGVhc2UKK05vdGVzIGZvciBTVE0zMkY3eHggSEFMIERyaXZlcnM8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMjBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvaDE+Cis8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyIgYWxpZ249ImNlbnRlciI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGNvbG9yOiBibGFjazsiPkNvcHlyaWdodAorMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3M8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsiPjx1MTpwPjwvdTE6cD48bzpwPjwvbzpwPjwvc3Bhbj48L3A+Cis8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyIgYWxpZ249ImNlbnRlciI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGNvbG9yOiBibGFjazsiPjxpbWcgc3R5bGU9ImJvcmRlcjogMHB4IHNvbGlkIDsgd2lkdGg6IDE3MXB4OyBoZWlnaHQ6IDEyNnB4OyIgYWx0PSIiIGlkPSJfeDAwMDBfaTEwMjYiIHNyYz0iX2h0bXJlc2Mvc3RfbG9nby5wbmciPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9wPgorPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKzxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZGlzcGxheTogbm9uZTsiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjxzcGFuIGxhbmc9ImZyIj48Zm9udCBmYWNlPSJBcmlhbCI+VGhlJm5ic3A7aGFyZHdhcmUKK2Fic3RyYWN0aW9uIGxheWVyIChIQUwpIHByb3ZpZGVzIGxvdyBsZXZlbCBkcml2ZXJzIGFuZCB0aGUgaGFyZHdhcmUKK2ludGVyZmFjaW5nIG1ldGhvZHMgdG8gaW50ZXJhY3Qgd2l0aCB1cHBlciBsYXllciAoYXBwbGljYXRpb24sCitsaWJyYXJpZXMgYW5kIHN0YWNrcykuICZuYnNwO0l0IGluY2x1ZGVzIGEgY29tcGxldGUgc2V0IG9mIHJlYWR5LXRvLXVzZQorQVBJcywgdGhhdCBhcmUgZmVhdHVyZS1vcmllbnRlZCBpbnN0ZWFkIG9mIElQLU9yaWVudGVkIHRvIHNpbXBsaWZ5IHVzZXIKK2FwcGxpY2F0aW9uIGRldmVsb3BtZW50LjwvZm9udD4gPC9zcGFuPjwvcD4KKzx0YWJsZSBjbGFzcz0iTXNvTm9ybWFsVGFibGUiIHN0eWxlPSJ3aWR0aDogNjc1cHQ7IiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiB3aWR0aD0iOTAwIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBzdHlsZT0icGFkZGluZzogMGluOyIgdmFsaWduPSJ0b3AiPgorPGgyIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7Ij48YSBuYW1lPSJIaXN0b3J5Ij48L2E+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTJwdDsgY29sb3I6IHdoaXRlOyI+VXBkYXRlIEhpc3Rvcnk8L3NwYW4+CisgICAgICAgICAgICA8L2gyPjxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiBpbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyB3aWR0aDogMjQxcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogQXJpYWw7IGNvbG9yOiB3aGl0ZTsiPlYxLjMuMC8gMTAtSnVuZS0yMDIyPC9zcGFuPjwvaDM+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluIDQuNXB0IDAuMjVpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IDE2Ljg2NjdweDsgY29sb3I6IHJnYigwLCAzMiwgODIpOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IG9ycGhhbnM6IDI7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd2lkb3dzOiAyOyB3b3JkLXNwYWNpbmc6IDBweDsgd2lkdGg6IDE0MTZweDsiPjxiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPk1haW4gQ2hhbmdlczxicj48L3NwYW4+PC91PjwvYj48L3A+CiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OzsgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+R2VuZXJhbCB1cGRhdGVzIHRvIGZpeAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga25vd24gZGVmZWN0cyBhbmQgZW5oYW5jZW1lbnRzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbXBsZW1lbnRhdGlvbi48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDEgbGZvMTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7CiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPkhBTCBHUElPPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90Ozttc28tZmFyZWFzdC1sYW5ndWFnZTogRlIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKzx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0iZGlzYyI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5HZW5lcmFsIHVwZGF0ZXMgdG8gZml4CisgICAgIGtub3duIGRlZmVjdHMgYW5kIGVuaGFuY2VtZW50cyBpbXBsZW1lbnRhdGlvbi48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMzIsIDgyKTsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7IiBsYW5nPSJFTi1VUyI+SEFMIEVUSDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0iZGlzYyI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDAsIDMyLCA4Mik7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPiBFbnRpcmUgcmVjZWl2ZSBwcm9jZXNzIHJld29ya2VkLjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigwLCAzMiwgODIpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5SZXNvbHZlIHRoZSBwcm9ibGVtIG9mIHJlY2VpdmVkIGRhdGEgY29ycnVwdGlvbi48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMzIsIDgyKTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+SW1wbGVtZW50IHRyYW5zbWlzc2lvbiBpbiBpbnRlcnJ1cHQgbW9kZS48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMzIsIDgyKTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+SGFuZGxlIG9uZSBpbnRlcnJ1cHQgZm9yIG11bHRpcGxlIHRyYW5zbWl0dGVkIHBhY2tldHMuPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDAsIDMyLCA4Mik7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkltcGxlbWVudCBBUElzIHRvIGhhbmRsZSBQVFAgZmVhdHVyZS48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMzIsIDgyKTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+SW1wbGVtZW50IEFQSXMgdG8gaGFuZGxlIFRpbWVzdGFtcCBmZWF0dXJlLjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigwLCAzMiwgODIpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5BZGQgc3VwcG9ydCBvZiByZWNlaXZlIGJ1ZmZlciB1bmF2YWlsYWJsZS48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMzIsIDgyKTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+VXBkYXRlIEhBTF9FVEhfSVJRSGFuZGxlcigpIHRvIGhhbmRsZSByZWNlaXZlIGJ1ZmZlciB1bmF2YWlsYWJsZS48L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigwLCAzMiwgODIpOyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiIGxhbmc9IkVOLVVTIj5IQUwgJm5ic3A7RVhUSTwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0iZGlzYyI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDAsIDMyLCA4Mik7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyIgbGFuZz0iRU4tVVMiPkZpeCBjb21wdXRhdGlvbiBvZiBwRXh0aUNvbmZpZy0mZ3Q7R1BJT1NlbCBpbiBIQUxfRVhUSV9HZXRDb25maWdMaW5lKCkgQVBJLjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDAsIDMyLCA4Mik7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyIgbGFuZz0iRU4tVVMiPkhBTCBUSU08L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsiIHR5cGU9ImRpc2MiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigwLCAzMiwgODIpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiIGxhbmc9IkVOLVVTIj5NYW5hZ2UKKyAgICAgIGNvbmZpZ3VyYXRpb24gb2YgdGhlIENhcHR1cmUvY29tcGFyZSBETUEgcmVxdWVzdCBzb3VyY2UuPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMzIsIDgyKTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7IiBsYW5nPSJFTi1VUyI+QWRkCisgICAgICByZWxhdGVkIG5ldyBleHBvcnRlZCBjb25zdGFudHMgKFRJTV9DQ0RNQVJFUVVFU1RfQ0MsCisgICAgICBUSU1fQ0NETUFSRVFVRVNUX1VQREFURSkuPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMzIsIDgyKTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7IiBsYW5nPSJFTi1VUyI+Q3JlYXRlIGEKKyAgICAgIG5ldyBtYWNybyBfX0hBTF9USU1fU0VMRUNUX0NDRE1BUkVRVUVTVCgpIGFsbG93aW5nIHRvIHByb2dyYW0gdGhlCisgICAgICBUSU14X0NSMi5DQ0RTIGJpdGZpZWxkLjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMzIsIDgyKTsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7IiBsYW5nPSJFTi1VUyI+TFREQyBIQUw8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsiIHR5cGU9ImRpc2MiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigwLCAzMiwgODIpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IHdpbmRvd3RleHQ7IiBsYW5nPSJFTi1VUyI+VXBkYXRlCisgICAgICBIQUxfTFREQ19EZUluaXQoKSB0byBmaXggTUNVIEhhbmcgdXAgZHVyaW5nIExDRCB0dXJuIE9GRi48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDAsIDMyLCA4Mik7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyIgbGFuZz0iRU4tVVMiPlFTUEkgSEFMPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IiB0eXBlPSJkaXNjIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMzIsIDgyKTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiB3aW5kb3d0ZXh0OyIgbGFuZz0iRU4tVVMiPlVwZGF0ZQorICAgICAgSEFMX1FTUElfQWJvcnQoKSBhbmQmbmJzcDsgSEFMX1FTUElfQWJvcnRfSVQoKSBBUElzIHRvIGNoZWNrIG9uIFFTUEkgQlVTWQorICAgICAgZmxhZyBzdGF0dXMgYmVmb3JlIGV4ZWN1dGluZyB0aGUgYWJvcnQgcHJvY2VkdXJlLjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMzIsIDgyKTsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7IiBsYW5nPSJFTi1VUyI+RFNJIEhBTDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0iZGlzYyI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDAsIDMyLCA4Mik7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogd2luZG93dGV4dDsiIGxhbmc9IkVOLVVTIj5BbGlnbgorICAgICAgRFNJIFVMUFMgZW50cnkgYW5kIGV4aXQgc2VxdWVuY2VzIHdpdGggdGhlIHJlZmVyZW5jZSBtYW51YWwuPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigwLCAzMiwgODIpOyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiIGxhbmc9IkVOLVVTIj5SVEMgQktQIEhBTDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0iZGlzYyI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDAsIDMyLCA4Mik7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogd2luZG93dGV4dDsiIGxhbmc9IkVOLVVTIj5Vc2UKKyAgICAgIGJpdHMgZGVmaW5pdGlvbnMgZnJvbSBDTVNJUyBEZXZpY2UgaGVhZGVyIGZpbGUgaW5zdGVhZCBvZiBoYXJkLWNvZGVkCisgICAgICB2YWx1ZXMuPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMzIsIDgyKTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiB3aW5kb3d0ZXh0OyIgbGFuZz0iRU4tVVMiPldyYXAKKyAgICAgIGNvbW1lbnRzIHRvIGJlIDgwLWNoYXJhY3RlciBsb25nIGFuZCBjb3JyZWN0IHR5cG9zLjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDAsIDMyLCA4Mik7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogd2luZG93dGV4dDsiIGxhbmc9IkVOLVVTIj5Nb3ZlCisgICAgICBjb25zdGFudHMgUlRDX0lUX1RBTVAuIGZyb20gaGFsX3J0Yy5oIHRvIGhhbF9ydGNfZXguaC48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigwLCAzMiwgODIpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IHdpbmRvd3RleHQ7IiBsYW5nPSJFTi1VUyI+R2F0aGVyCisgICAgICBhbGwgaW5zdHJ1Y3Rpb25zIHJlbGF0ZWQgdG8gZXhpdGluZyB0aGUgaW5pdCBtb2RlIGludG8gbmV3IGZ1bmN0aW9uCisgICAgICBSVENfRXhpdEluaXRNb2RlKCkuPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMzIsIDgyKTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiB3aW5kb3d0ZXh0OyIgbGFuZz0iRU4tVVMiPkFkZCBuZXcKKyAgICAgIG1hY3JvCisgICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX1RBTVBFUl9GSUxURVJfQ09ORklHX0NPUlJFQ1Qoc1RhbXBlci0mZ3Q7RmlsdGVyLAorICAgICAgc1RhbXBlci0mZ3Q7VHJpZ2dlcikpIHRvIGNoZWNrIHRhbXBlciBmaWx0ZXJpbmcgaXMgZGlzYWJsZWQgaW4gY2FzZQorICAgICAgdGFtcGVyIGV2ZW50cyBhcmUgdHJpZ2dlcmVkIG9uIHNpZ25hbCBlZGdlcy48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigwLCAzMiwgODIpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IHdpbmRvd3RleHQ7IiBsYW5nPSJFTi1VUyI+UmV3b3JrCisgICAgICBmdW5jdGlvbnMgSEFMX1JUQ0V4X1NldFRhbXBlcigpIGFuZCBIQUxfUlRDRXhfU2V0VGFtcGVyX0lUKCkgdG86PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsiIHR5cGU9ImRpc2MiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigwLCAzMiwgODIpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IHdpbmRvd3RleHQ7IiBsYW5nPSJFTi1VUyI+V3JpdGUKKyAgICAgICBpbiBUQU1QQ1IgcmVnaXN0ZXIgaW4gb25lIHNpbmdsZSBhY2Nlc3MgaW5zdGVhZCBvZiB0d28uPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMzIsIDgyKTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiB3aW5kb3d0ZXh0OyIgbGFuZz0iRU4tVVMiPkRlYWN0aXZhdGUKKyAgICAgICBzZWxlY3RlZCBUQU1QRVIncyBpbnRlcnJ1cHQgKGJlc2lkZXMgZ2xvYmFsIFRBTVBFUiBpbnRlcnJ1cHQpLjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDAsIDMyLCA4Mik7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogd2luZG93dGV4dDsiIGxhbmc9IkVOLVVTIj5Bdm9pZAorICAgICAgIGFjdGl2YXRpbmcgZ2xvYmFsIFRBTVBFUiBpbnRlcnJ1cHQuPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMzIsIDgyKTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiB3aW5kb3d0ZXh0OyIgbGFuZz0iRU4tVVMiPkF2b2lkCisgICAgICAgbW9kaWZ5aW5nIHVzZXIgc3RydWN0dXJlIHNUYW1wZXIuPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMzIsIDgyKTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiB3aW5kb3d0ZXh0OyIgbGFuZz0iRU4tVVMiPkF2b2lkCisgICAgICAgb3ZlcndyaXRpbmcgVEFNUENSIHJlZ2lzdGVyJ3MgY29udGVudCBvbiBzdWNjZXNzaXZlIGNhbGxzIHRvIHRoZQorICAgICAgIGZ1bmN0aW9uLjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigwLCAzMiwgODIpOyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiIGxhbmc9IkVOLVVTIj5USU0gTEw8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsiIHR5cGU9ImRpc2MiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigwLCAzMiwgODIpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IHdpbmRvd3RleHQ7IiBsYW5nPSJFTi1VUyI+VXBkYXRlCisgICAgICBfX0xMX1RJTV9DQUxDX1BTQygpIG1hY3JvIHRvIHJvdW5kIHVwIHRoZSBldmFsdWF0ZWQgdmFsdWUgd2hlbiB0aGUKKyAgICAgIGZyYWN0aW9uYWwgcGFydCBvZiB0aGUgZGl2aXNpb24gaXMgZ3JlYXRlciB0aGFuIDAuNS48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDAsIDMyLCA4Mik7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyIgbGFuZz0iRU4tVVMiPkNBTiBIQUw8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsiIHR5cGU9ImRpc2MiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigwLCAzMiwgODIpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IHdpbmRvd3RleHQ7IiBsYW5nPSJFTi1VUyI+UmVtb3ZhbAorICAgICAgb2YgbmV2ZXIgcmVhY2hlZCBjb2RlLjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDAsIDMyLCA4Mik7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyIgbGFuZz0iRU4tVVMiPkNFQyBIQUw8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsiIHR5cGU9ImRpc2MiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigwLCAzMiwgODIpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IHdpbmRvd3RleHQ7IiBsYW5nPSJFTi1VUyI+QmV0dGVyIHBlcmZvcm1hbmNlIGJ5IHJlbW92aW5nIG11bHRpcGxlIHZvbGF0aWxlIHJlYWRzIG9yIHdyaXRlcyBpbiBpbnRlcnJ1cHQgaGFuZGxlci48L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigwLCAzMiwgODIpOyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiIGxhbmc9IkVOLVVTIj5JMkMgSEFMPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IiB0eXBlPSJkaXNjIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMzIsIDgyKTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiB3aW5kb3d0ZXh0OyIgbGFuZz0iRU4tVVMiPlRpbWVvdXQKKyAgICAgIGlzc3VlIHVzaW5nIEhBTCBNRU0gaW50ZXJmYWNlIHRocm91Z2ggRnJlZVJUT1MuPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDAsIDMyLCA4Mik7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogd2luZG93dGV4dDsiIGxhbmc9IkVOLVVTIj5JMkNfSXNFcnJvck9jY3VycmVkIGRvZXMgbm90IHJldHVybiBlcnJvciBpZiB0aW1lb3V0IGlzIGRldGVjdGVkLjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigwLCAzMiwgODIpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IHdpbmRvd3RleHQ7IiBsYW5nPSJFTi1VUyI+VGhlIEFERFJGIGZsYWcgaXMgY2xlYXJlZCB0b28gZWFybHkgd2hlbiB0aGUgcmVzdGFydCBpcyByZWNlaXZlZCBidXQgdGhlIGRpcmVjdGlvbiBoYXMgY2hhbmdlZC48YnI+PC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMzIsIDgyKTsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7IiBsYW5nPSJFTi1VUyI+Tk9SIEhBTDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0iZGlzYyI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDAsIDMyLCA4Mik7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogd2luZG93dGV4dDsiIGxhbmc9IkVOLVVTIj5GTUNfV1JJVEVfT1BFUkFUSU9OX0RJU0FCTEUKKyAgICAgIGZvciBOT1IgY2F1c2UgSGFyZGZhdWx0IGZvciBSZWFkIG9wZXJhdGlvbnMuPC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMzIsIDgyKTsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7IiBsYW5nPSJFTi1VUyI+VUFSVCBIQUw8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsiIHR5cGU9ImRpc2MiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigwLCAzMiwgODIpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IHdpbmRvd3RleHQ7IiBsYW5nPSJFTi1VUyI+UmVtb3ZhbCBvZiBIQUxfTE9DSy9IQUxfVU5MT0NLIGNhbGxzIGluIEhBTCBVQVJUIFR4IGFuZCBSeCBBUElzLjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDAsIDMyLCA4Mik7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyIgbGFuZz0iRU4tVVMiPlNETU1DIEhBTDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0iZGlzYyI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDAsIDMyLCA4Mik7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogd2luZG93dGV4dDsiIGxhbmc9IkVOLVVTIj5TRElPX1Bvd2VyU3RhdGVfT04oKQorQVBJIGNhbGwgbW92ZWQgYWZ0ZXIgX19IQUxfTU1DX0VOQUJMRSgpIHRvIGVuc3VyZSBNTUMgY2xvY2sgaXMgZW5hYmxlZAorYmVmb3JlIHRoZSBjYWxsIHRvIEhBTF9EZWxheSgpIGZyb20gd2l0aGluIFNESU9fUG93ZXJTdGF0ZV9PTigpLjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDAsIDMyLCA4Mik7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyIgbGFuZz0iRU4tVVMiPlVTQiBPVEcgSEFMPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IiB0eXBlPSJkaXNjIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMzIsIDgyKTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiB3aW5kb3d0ZXh0OyIgbGFuZz0iRU4tVVMiPlBDRDoKKyAgICAgIGFkZCBoYW5kbGluZyBvZiBVU0IgT1VUIEVuZHBvaW50IGRpc2FibGUgaW50ZXJydXB0Ljwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDAsIDMyLCA4Mik7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogd2luZG93dGV4dDsiIGxhbmc9IkVOLVVTIj5QQ0Q6CisgICAgICBmaXggZGV2aWNlIElOIGVuZHBvaW50IGlzb2MgaW5jb21wbGV0ZSB0cmFuc2ZlciBpbnRlcnJ1cHQgaGFuZGxpbmcuPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMzIsIDgyKTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiB3aW5kb3d0ZXh0OyIgbGFuZz0iRU4tVVMiPlBDRDoKKyAgICAgIGZpeCBVU0IgZGV2aWNlIElzb2MgT1VUIEVuZHBvaW50IGluY29tcGxldGUgdHJhbnNmZXIgaW50ZXJydXB0IGhhbmRsaW5nLjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDAsIDMyLCA4Mik7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogd2luZG93dGV4dDsiIGxhbmc9IkVOLVVTIj5GaXgKKyAgICAgIGhhbmRsaW5nIG9mIE9EREZSTSBiaXQgaW4gT1RHX0hDQ0hBUnggZm9yIEhDRCBpc29jaHJvbm91cyBJTiB0cmFuc2FjdGlvbnMuPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMzIsIDgyKTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiB3aW5kb3d0ZXh0OyIgbGFuZz0iRU4tVVMiPkZpeAorICAgICAgcmVjZWl2ZWQgZGF0YSBsZW5ndGggY291bnRpbmcgd2hlbiBETUEgaXMgZW5hYmxlZC48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiB3aW5kb3d0ZXh0OyIgbGFuZz0iRU4tVVMiPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PC91bD4KIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9HUElPX0luaXQoKSBBUEkgdG8gYXZvaWQgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gb2YgUFVQRFIgcmVnaXN0ZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlbiBBbmFsb2cgbW9kZSBpcyBzZWxlY3RlZC48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Cis8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsgd2lkdGg6IDI0MXB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IEFyaWFsOyBjb2xvcjogd2hpdGU7Ij5WMS4yLjEwLyAyMi1Ob3ZlbWJlci0yMDIxPC9zcGFuPjwvaDM+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluIDQuNXB0IDAuMjVpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IDE2Ljg2NjdweDsgY29sb3I6IHJnYigwLCAzMiwgODIpOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IG9ycGhhbnM6IDI7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd2lkb3dzOiAyOyB3b3JkLXNwYWNpbmc6IDBweDsgd2lkdGg6IDE0MTZweDsiPjxiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPk1haW4gQ2hhbmdlczxicj48L3NwYW4+PC91PjwvYj48L3A+PHVsIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwaW47IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDs7IGZvbnQtc2l6ZTogbWVkaXVtOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IG9ycGhhbnM6IDI7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd2lkb3dzOiAyOyB3b3JkLXNwYWNpbmc6IDBweDsiIHR5cGU9ImRpc2MiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkdlbmVyYWwgdXBkYXRlcyB0byBmaXgga25vd24gZGVmZWN0cyBhbmQgZW5oYW5jZW1lbnRzIGltcGxlbWVudGF0aW9uLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+SEFMIEdQSU88L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48dWwgc3R5bGU9Im1hcmdpbi1ib3R0b206IDBpbjsiIHR5cGU9ImNpcmNsZSI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+VXBkYXRlIEhBTF9HUElPX0luaXQoKSBBUEkgdG8gYXZvaWQgdGhlIGNvbmZpZ3VyYXRpb24gb2YgUFVQRFIgcmVnaXN0ZXIgd2hlbiBBbmFsb2cgbW9kZSBpcyBzZWxlY3RlZC48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPk9wdGltaXplIGFzc2VydGlvbiBjb250cm9sIGZvciBHUElPIFB1bGwgbW9kZSBpbiBIQUxfR1BJT19Jbml0PG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5GaXggdW5leHBlY3RlZCBkZXRlY3Rpb24gYnkgcmVvcmRlcmluZyBFWFRJIGNvbmZpZy48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5IQUwgRVhUSTwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PHVsIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwaW47IiB0eXBlPSJjaXJjbGUiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVwZGF0ZQorSEFMX0VYVElfR2V0Q29uZmlnTGluZSgpIEFQSSB0byBzZXQgZGVmYXVsdCBjb25maWd1cmF0aW9uIHZhbHVlIG9mCitUcmlnZ2VyIGFuZCBHUElPU2VsIGJlZm9yZSBjaGVja2luZyBlYWNoIGNvcnJlc3BvbmRpbmcgcmVnaXN0ZXJzLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPkhBTCBETUE8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyIgdHlwZT0iY2lyY2xlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5VcGRhdGUgSEFMX0RNQV9JUlFIYW5kbGVyKCkgQVBJIHRvIHNldCB0aGUgRE1BIHN0YXRlIGJlZm9yZSB1bmxvY2tpbmcgYWNjZXNzIHRvIHRoZSBETUEgaGFuZGxlLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+TWFuYWdlIHRoZSBjYXNlIG9mIGFuIGludmFsaWQgdmFsdWUgb2YgQ2FsbGJhY2tJRCBwYXNzZWQgdG8gdGhlIEhBTF9ETUFfUmVnaXN0ZXJDYWxsYmFjaygpIEFQSS48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5IQUwgQURDPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9saT48dWwgc3R5bGU9Im1hcmdpbi1ib3R0b206IDBpbjsiIHR5cGU9ImNpcmNsZSI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+VXBkYXRlIEhBTF9BRENfQ29uZmlnQ2hhbm5lbCgpIEFQSSB0byBhbGxvdyB0aGUgcG9zc2liaWxpdHkgdG8gc3dpdGNoIGJldHdlZW4gVkJBVCBhbmQgVEVNUEVSQVRVUkUgY2hhbm5lbHMgY29uZmlndXJhdGlvbnMuPG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5CZXR0ZXIgcGVyZm9ybWFuY2UgYnkgcmVtb3ZpbmcgbXVsdGlwbGUgdm9sYXRpbGUgcmVhZHMgb3Igd3JpdGVzIGluIGludGVycnVwdCBoYW5kbGVyLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPkhBTC9MTCBSTkc8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyIgdHlwZT0iY2lyY2xlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5VcGRhdGUgTExfUk5HX0RlSW5pdCgpIEFQSSB0byBhdm9pZCCTdW51c2VkIHZhcmlhYmxllCB3YXJuaW5ncy48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+VXBkYXRlIEhBTF9STkdfR2VuZXJhdGVSYW5kb21OdW1iZXIoKSBBUEk8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyIgdHlwZT0ic3F1YXJlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5VcGRhdGUgdGltZW91dCBtZWNoYW5pc20gdG8gYXZvaWQgZmFsc2UgdGltZW91dCBkZXRlY3Rpb24gaW4gY2FzZSBvZiBwcmVlbXB0aW9uLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+SEFML0xMIFJUQzwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PHVsIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwaW47IiB0eXBlPSJjaXJjbGUiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVwZGF0ZSBfX0hBTF9SVENfhSg8Yj5IQU5ETEU8L2I+LCCFKSBtYWNyb3MgdG8gYWNjZXNzIHJlZ2lzdGVycyB0aHJvdWdoICg8Yj5IQU5ETEU8L2I+KS0mZ3Q7SW5zdGFuY2UgcG9pbnRlciBhbmQgYXZvaWQgInVudXNlZCB2YXJpYWJsZSIgd2FybmluZ3MuPG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5Db3JyZWN0IG1vbnRoIG1hbmFnZW1lbnQgaW4gSVNfTExfUlRDX01PTlRIKCkgbWFjcm8uPG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5GaXggd3JvbmcgcmVmZXJlbmNlIHRvIFJUQ3guPG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+SEFMIExQVElNPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9saT48dWwgc3R5bGU9Im1hcmdpbi1ib3R0b206IDBpbjsiIHR5cGU9ImNpcmNsZSI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+QWRkIGNoZWNrIG9uIFBSSU1BU0sgcmVnaXN0ZXIgdG8gcHJldmVudCBmcm9tIGVuYWJsaW5nIHVud2FudGVkIGdsb2JhbCBpbnRlcnJ1cHRzIHdpdGhpbiBMUFRJTV9EaXNhYmxlKCkgYW5kIExMX0xQVElNX0Rpc2FibGUoKTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPkhBTC9MTCBUSU08L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyIgdHlwZT0iY2lyY2xlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5VcGRhdGUgSEFMX1RJTUV4X0NvbmZpZ0JyZWFrSW5wdXQgdG8gdXNlIENNU0lTIFRJTTFfT1IyX0JLREYxQkswRV9Qb3MgZGVmaW5pdGlvbiBpbnN0ZWFkIG9mIGl0cyBoYXJkIGNvZGVkIHZhbHVlLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+Rml4IHdyb25nIGNvbXBpbGUgc3dpdGNoIHVzZWQgaW4gVElNX0xMX0VDX0RNQUJVUlNUX0JBU0VBRERSIGNvbnN0YW50IGRlZmluaXRpb25zLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPkhBTCBVQVJUPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9saT48dWwgc3R5bGU9Im1hcmdpbi1ib3R0b206IDBpbjsiIHR5cGU9ImNpcmNsZSI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+Rml4IGVycm9uZW91cyBVQVJUknMgaGFuZGxlIHN0YXRlIGluIGNhc2Ugb2YgZXJyb3IgcmV0dXJuZWQgYWZ0ZXIgRE1BIHJlY2VwdGlvbiBzdGFydCB3aXRoaW4gVUFSVF9TdGFydF9SZWNlaXZlX0RNQSgpLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+Q29ycmVjdGlvbiBvbiBVQVJUIFJlY2VwdGlvblR5cGUgbWFuYWdlbWVudCBpbiBjYXNlIG9mIFJlY2VwdGlvblRvSWRsZSBBUEkgYXJlIGNhbGxlZCBmcm9tIFJ4RXZlbnQgY2FsbGJhY2suPG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5IYW5kbGluZyBvZiBVQVJUIGNvbmN1cnJlbnQgcmVnaXN0ZXIgYWNjZXNzIGluIGNhc2Ugb2YgcmFjZSBjb25kaXRpb24gYmV0d2VlbiBUeCBhbmQgUnggdHJhbnNmZXJzIChIQUwgVUFSVCBhbmQgTEwgTFBVQVJUKTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+SW1wcm92ZSBoZWFkZXIgZGVzY3JpcHRpb24gb2YgVUFSVF9XYWl0T25GbGFnVW50aWxUaW1lb3V0KCkgZnVuY3Rpb248bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkFkZCBhIGNoZWNrIG9uIHRoZSBVQVJUIHBhcml0eSBiZWZvcmUgZW5hYmxpbmcgdGhlIHBhcml0eSBlcnJvciBpbnRlcnJ1cHRpb24uPG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5BZGQgY29uc3QgcXVhbGlmaWVyIGZvciByZWFkIG9ubHkgcG9pbnRlcnMuPG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5GaXggd3JvbmcgY2FzdCB3aGVuIGNvbXB1dGluZyB0aGUgVVNBUlRESVYgdmFsdWUgaW4gVUFSVF9TZXRDb25maWcoKS48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5IQUwvTEwgVVNBUlQ8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyIgdHlwZT0iY2lyY2xlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5JbXByb3ZlIGhlYWRlciBkZXNjcmlwdGlvbiBvZiBVU0FSVF9XYWl0T25GbGFnVW50aWxUaW1lb3V0KCkgZnVuY3Rpb24uPG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5BZGQgYSBjaGVjayBvbiB0aGUgVVNBUlQgcGFyaXR5IGJlZm9yZSBlbmFibGluZyB0aGUgcGFyaXR5IGVycm9yIGludGVycnVwdC48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkFkZCBjb25zdCBxdWFsaWZpZXIgZm9yIHJlYWQgb25seSBwb2ludGVycy48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkhhbmRsaW5nIG9mIFVBUlQgY29uY3VycmVudCByZWdpc3RlciBhY2Nlc3MgaW4gY2FzZSBvZiByYWNlIGNvbmRpdGlvbiBiZXR3ZWVuIFR4IGFuZCBSeCB0cmFuc2ZlcnMgKEhBTCBVQVJUIGFuZCBMTCBMUFVBUlQpPG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5GaXggY29tcGlsYXRpb24gd2FybmluZ3MgZ2VuZXJhdGVkIHdpdGggQVJNVjYgY29tcGlsZXIuPG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+SEFMIElSREE8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyIgdHlwZT0iY2lyY2xlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5JbXByb3ZlIGhlYWRlciBkZXNjcmlwdGlvbiBvZiBJUkRBX1dhaXRPbkZsYWdVbnRpbFRpbWVvdXQoKSBmdW5jdGlvbjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+QWRkIGEgY2hlY2sgb24gdGhlIElSREEgcGFyaXR5IGJlZm9yZSBlbmFibGluZyB0aGUgcGFyaXR5IGVycm9yIGludGVycnVwdC48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkFkZCBjb25zdCBxdWFsaWZpZXIgZm9yIHJlYWQgb25seSBwb2ludGVycy48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkZpeCB3cm9uZyBjYXN0IHdoZW4gY29tcHV0aW5nIHRoZSBVU0FSVERJViB2YWx1ZSBpbiBJUkRBX1NldENvbmZpZygpLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPkhBTCBTTUFSVENBUkQ8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyIgdHlwZT0iY2lyY2xlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5JbXByb3ZlIGhlYWRlciBkZXNjcmlwdGlvbiBvZiBTTUFSVENBUkRfV2FpdE9uRmxhZ1VudGlsVGltZW91dCgpIGZ1bmN0aW9uPG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5BZGQgY29uc3QgcXVhbGlmaWVyIGZvciByZWFkIG9ubHkgcG9pbnRlcnMuPG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5GaXggd3JvbmcgY2FzdCB3aGVuIGNvbXB1dGluZyB0aGUgVVNBUlRESVYgdmFsdWUgaW4gU01BUlRDQVJEX1NldENvbmZpZygpLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPkhBTC9MTCBTUEk8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyIgdHlwZT0iY2lyY2xlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5VcGRhdGVkIHRvIGltcGxlbWVudCBFcnJhdGFzaGVldDogQlNZIGJpdCBtYXkgc3RheSBoaWdoIGF0IHRoZSBlbmQgb2YgYSBkYXRhIHRyYW5zZmVyIGluIFNsYXZlIG1vZGUuPG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5VcGRhdGVkIHRvIGZpeCBNSVNSQS1DIDIwMTIgUnVsZS0xMy4yLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+VXBkYXRlIExMX1NQSV9UcmFuc21pdERhdGE4KCkgQVBJIHRvIGF2b2lkIGNhc3RpbmcgdGhlIHJlc3VsdCB0byA4IGJpdHMuPG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+SEFMIFNNQlVTPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9saT48dWwgc3R5bGU9Im1hcmdpbi1ib3R0b206IDBpbjsiIHR5cGU9ImNpcmNsZSI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+VXBkYXRlCit0byBmaXggaXNzdWUgb2YgbWlzbWF0Y2hlZCBkYXRhIHJlY2VpdmVkIGJ5IG1hc3RlciBpbiBjYXNlIG9mIGRhdGEgc2l6ZQordG8gYmUgdHJhbnNtaXR0ZWQgYnkgdGhlIHNsYXZlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgZGF0YSBzaXplIHRvIGJlCityZWNlaXZlZCBieSB0aGUgbWFzdGVyLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PHVsIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwaW47IiB0eXBlPSJzcXVhcmUiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkFkZCBmbHVzaCBvbiBUWCByZWdpc3Rlci48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPkhBTCBJMkM8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyIgdHlwZT0iY2lyY2xlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5VcGRhdGUgSTJDX0lzQWNrbm93bGVkZ2VGYWlsZWQoKSBBUEkgdG8gYXZvaWQgSTJDIGluIGJ1c3kgc3RhdGUgaWYgTkFDSyByZWNlaXZlZCBhZnRlciB0cmFuc21pdHRpbmcgcmVnaXN0ZXIgYWRkcmVzcy48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVwZGF0ZSB0byBoYW5kbGUgZXJyb3JzIGluIHBvbGxpbmcgbW9kZS48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyIgdHlwZT0ic3F1YXJlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5SZW5hbWUgSTJDX0lzQWNrbm93bGVkZ2VGYWlsZWQoKSB0byBJMkNfSXNFcnJvck9jY3VycmVkKCkgYW5kIGNvcnJlY3RseSBtYW5hZ2Ugd2hlbiBlcnJvciBvY2N1cnMuPG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkRlY2xhcmUgYW4gaW50ZXJuYWwgbWFjcm8gbGluayB0byBETUEgbWFjcm8gdG8gY2hlY2sgcmVtYWluaW5nIGRhdGE6IEkyQ19HRVRfRE1BX1JFTUFJTl9EQVRBPG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5GaXggd3JpdHRlbiByZXNlcnZlZCBiaXQgMjggaW4gSTJDX0NSMiByZWdpc3Rlci48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVwZGF0ZSB0byBmaXggaXNzdWUgZGV0ZWN0ZWQgZHVlIHRvIGxvdyBzeXN0ZW0gZnJlcXVlbmN5IGV4ZWN1dGlvbiAoSFNJKS48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5IQUwgQ0FOPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9saT48dWwgc3R5bGU9Im1hcmdpbi1ib3R0b206IDBpbjsiIHR5cGU9ImNpcmNsZSI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+VXBkYXRlIEhBTF9DQU5fSW5pdCgpIEFQSSB0byBiZSBhbGlnbmVkIHdpdGggcmVmZXJlbmNlIG1hbnVhbCBhbmQgdG8gYXZvaWQgdGltZW91dCBlcnJvcjo8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyIgdHlwZT0ic3F1YXJlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5VcGRhdGUgQ0FOIEluaXRpYWxpemF0aW9uIHNlcXVlbmNlIHRvIHNldCAicmVxdWVzdCBpbml0aWFsaXphdGlvbiIgYml0IGJlZm9yZSBleGl0IGZyb20gc2xlZXAgbW9kZS48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPkhBTCBEU0k8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyIgdHlwZT0iY2lyY2xlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5VcGRhdGUKK0hBTF9EU0lfUmVhZCgpIHRvIGF2b2lkIEhBTF9USU1FT1VUIHdoZW4gYSBEU0kgcmVhZCBjb21tYW5kIGlzIGlzc3VlZAordG8gdGhlIHBhbmVsIGFuZCB0aGUgcmVhZCBkYXRhIGlzIG5vdCBjYXB0dXJlZCBieSB0aGUgRFNJIEhvc3Qgd2hpY2gKK3JldHVybnMgUGFja2V0IFNpemUgRXJyb3IuPG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+SEFMIFFTUEk8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyIgdHlwZT0iY2lyY2xlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5GaXggY29tcGlsYXRpb24gd2FybmluZyB3aXRoIEdDQyBWOS48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVwZGF0ZSBRU1BJX1dhaXRGbGFnU3RhdGVVbnRpbFRpbWVvdXRfQ1BVQ3ljbGUoKSB0byBtYW5hZ2UgdGltZW91dCB1c2luZyBDUFUgY3ljbGVzIG1ldGhvZC48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5MTCBGTUM8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyIgdHlwZT0iY2lyY2xlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5HZW5lcmFsIHJlZmFjdG9yaW5nIGFuZCBjbGVhbi11cC48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVwZGF0ZSB0byBhdm9pZCCTdW51c2VkIHZhcmlhYmxllCB3YXJuaW5ncy48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5IQUwgU1JBTTwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PHVsIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwaW47IiB0eXBlPSJjaXJjbGUiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkdlbmVyYWwgcmVmYWN0b3JpbmcgYW5kIGNsZWFuLXVwLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+SEFMX1NSQU1fUHJvY2VzczogVXBkYXRlIHRvIGNoZWNrIG9uIHRoZSBTUkFNIHN0YXRlIGJlZm9yZSBwZXJmb3JtaW5nIG9wZXJhdGlvbi48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5IQUwgTkFORDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PHVsIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwaW47IiB0eXBlPSJjaXJjbGUiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkdlbmVyYWwgcmVmYWN0b3JpbmcgYW5kIGNsZWFuLXVwLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPkhBTCBOT1I8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyIgdHlwZT0iY2lyY2xlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5HZW5lcmFsIHJlZmFjdG9yaW5nIGFuZCBjbGVhbi11cC48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVwZGF0ZSBhZGRyZXNzIGNhbGN1bGF0aW9uIGluIEhBTF9OT1JfUHJvZ3JhbUJ1ZmZlcigpIEFQSTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+QXBwbHkgYWRlcXVhdGUgY29tbWFuZHMgYWNjb3JkaW5nIHRvIHRoZSBjb21tYW5kIHNldCBmaWVsZCB2YWx1ZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PHVsIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwaW47IiB0eXBlPSJzcXVhcmUiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPmNvbW1hbmQgc2V0IDEgZm9yIE1pY3JvbiBKUzI4RjUxMlAzMy48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPmNvbW1hbmQgc2V0IDIgZm9yIE1pY3JvbiBNMjlXMTI4RyBhbmQgQ3lwcmVzcyBTMjlHTDEyOFAuPG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVwZGF0ZSBzb21lIEFQSXMgaW4gb3JkZXIgdG8gYmUgY29tcGxpYW50IGZvciBtZW1vcmllcyB3aXRoIGRpZmZlcmVudCBjb21tYW5kIHNldCwgdGhlIHVwZGF0ZWQgQVBJcyBhcmU6PG86cD48L286cD48L3NwYW4+PC9saT48dWwgc3R5bGU9Im1hcmdpbi1ib3R0b206IDBpbjsiIHR5cGU9InNxdWFyZSI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5IQUxfTk9SX0luaXQoKTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5IQUxfTk9SX1JlYWRfSUQoKTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5IQUxfTk9SX1JldHVyblRvUmVhZE1vZGUoKTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5IQUxfTk9SX1JlYWQoKTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5IQUxfTk9SX1Byb2dyYW0oKTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5IQUxfTk9SX1JlYWRCdWZmZXIoKTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5IQUxfTk9SX1Byb2dyYW1CdWZmZXIoKTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5IQUxfTk9SX0VyYXNlX0Jsb2NrKCk8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+SEFMX05PUl9FcmFzZV9DaGlwKCk8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+SEFMX05PUl9HZXRTdGF0dXMoKTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5BbGlnbiBIQUxfTk9SX0luaXQoKSBBUEkgd2l0aCBjb3JlIG9mIHRoZSBmdW5jdGlvbiB3aGVuIHdyaXRlIG9wZXJhdGlvbiBpcyBkaXNhYmxlZCB0byBhdm9pZCBIYXJkRmF1bHQuPG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+SEFML0xMIFNETU1DPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9saT48dWwgc3R5bGU9Im1hcmdpbi1ib3R0b206IDBpbjsiIHR5cGU9ImNpcmNsZSI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+VGFrZSBpbiBhY2NvdW50IHRoZSB2b2x0YWdlIHJhbmdlIGluIHRoZSBDTUQxIGNvbW1hbmQuPG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5BZGQgbmV3IExMIGZ1bmN0aW9uIHRvIGhhdmUgY29ycmVjdCByZXNwb25zZSBmb3IgTU1DIGRyaXZlci48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVwZGF0ZSB0aGUgZHJpdmVyIHRvIGhhdmUgYWxsIGZpZWxkcyBjb3JyZWN0bHkgaW5pdGlhbGl6ZWQuPG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5BZGQgYSBpbnRlcm5hbCB0byBtYW5hZ2UgdGhlIHBvd2VyIGNsYXNzIGFuZCBjYWxsIGl0IGJlZm9yZSB0byB1cGRhdGUgc3BlZWQgb2YgYnVzIHdpZHRoLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+QWRkIG5ldyBBUEkgSEFMX01NQ19HZXRDYXJkRXh0Q1NEdG8gZ2V0IHRoZSB2YWx1ZSBvZiB0aGUgRXh0ZW5kZWQgQ1NEIHJlZ2lzdGVyIGFuZCBwb3B1bGF0ZSB0aGUgRXh0Q1NEIGZpZWxkIG9mIHRoZSBNTUMgaGFuZGxlLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPkhBTCBTRDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PHVsIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwaW47IiB0eXBlPSJjaXJjbGUiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVwZGF0ZSBIQUxfU0RfSW5pdENhcmQoKSBBUEkgdG8gYWRkIHBvd2VyIHVwIHdhaXRpbmcgdGltZSAoMm1zKSBiZWZvcmUgc3RhcnRpbmcgdGhlIFNEIGluaXRpYWxpemF0aW9uIHNlcXVlbmNlLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPkhBTC9MTCBVU0I8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij4mbmJzcDt1cGRhdGU8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyIgdHlwZT0iY2lyY2xlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5VcGRhdGUgaW4gVVNCX1NldEN1cnJlbnRNb2RlKCkgQVBJIHRvIGltcHJvdmUgcmVxdWlyZWQgd2FpdCB0aW1pbmcgdG8gY2hhbmdlIGNvcmUgbW9kZS48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlJlbW92ZSBub24gcmVxdWlyZWQgMjAwbXMgZGVsYXkgZHVyaW5nIGhvc3QgaW5pdGlhbGl6YXRpb24uPG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5VcGRhdGUgVVNCX0ZsdXNoUnhGaWZvKCkgYW5kIFVTQl9GbHVzaFR4RmlmbygpIEFQSXMgYnkgYWRkaW5nIGNoZWNrIG9uIEFIQiBtYXN0ZXIgSURMRSBzdGF0ZSBiZWZvcmUgZmx1c2hpbmcgdGhlIFVTQiBGSUZPLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+VXBkYXRlIHRvIGF2b2lkIHJlc2V0dGluZyBob3N0IGNoYW5uZWwgZGlyZWN0aW9uIGR1cmluZyBjaGFubmVsIGhhbHQuPG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5VcGRhdGUgdG8gYXZvaWQgY29tcGlsZXIgb3B0bWl6YXRpb24gb24gY291bnQgdmFyaWFibGUgdXNlZCBmb3IgVVNCIEhBTCB0aW1lb3V0IGxvb3AgY2hlY2suPG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5BZGQgbWlzc2luZyByZWdpc3RlcnMgY2FsbGJhY2tzIGNoZWNrIGZvciBIQUxfSENEX0hDX05vdGlmeVVSQkNoYW5nZV9DYWxsYmFjaygpIEFQSS48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkFkZCBuZXcgSEFMX1BDRF9TZXRUZXN0TW9kZSgpIEFQSSB0byBoYW5kbGUgVVNCIGRldmljZSBoaWdoIHNwZWVkIFRlc3QgbW9kZXMuPG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMGluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5VcGRhdGUgdG8gc2V0IFNOQUsgZm9yIEVQcyBub3QgcmVxdWlyZWQgZHVyaW5nIGRldmljZSByZXNldC48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDBpbjsgZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5IQUwgSVdERzwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PHVsIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwaW47IiB0eXBlPSJjaXJjbGUiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkFkZCBMU0kgc3RhcnR1cCB0aW1lIGluIGRlZmF1bHQgSVdERyB0aW1lb3V0IGNhbGN1bGF0aW9uIChIQUxfSVdER19ERUZBVUxUX1RJTUVPVVQpLjwvc3Bhbj48L2xpPjwvdWw+PC91bD48aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsgd2lkdGg6IDI0MXB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IEFyaWFsOyBjb2xvcjogd2hpdGU7Ij5WMS4yLjkvIDEyLUZlYnJ1YXJ5LTIwMjE8L3NwYW4+PC9oMz48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW4gNC41cHQgMC4yNWluOyBmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogMTYuODY2N3B4OyBjb2xvcjogcmdiKDAsIDMyLCA4Mik7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgb3JwaGFuczogMjsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3aWRvd3M6IDI7IHdvcmQtc3BhY2luZzogMHB4OyI+PGI+PHU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPjxicj48L3NwYW4+PC9wPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyBjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7OyBmb250LXNpemU6IG1lZGl1bTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBvcnBoYW5zOiAyOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdpZG93czogMjsgd29yZC1zcGFjaW5nOiAwcHg7IG1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IEFyaWFsLHNhbnMtc2VyaWY7IGxpbmUtaGVpZ2h0OiAxNi44NjY3cHg7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5HZW5lcmFsIHVwZGF0ZXMgdG8gZml4IGtub3duIGRlZmVjdHMgYW5kIGVuaGFuY2VtZW50czxzcGFuPiZuYnNwOzwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48L2xpPjwvdWw+PGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7IHdpZHRoOiAyNDFweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbDsgY29sb3I6IHdoaXRlOyI+VjEuMi44LyAxMy1GZWJydWFyeS0yMDIwPC9zcGFuPjwvaDM+CisgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwY20gNC41cHQgMThwdDsiPjxiPjx1PjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48L3A+CisgICAgICAgICAgICA8dWwgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IHRleHQtdHJhbnNmb3JtOiBub25lOyB0ZXh0LWluZGVudDogMHB4OyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBtYXJnaW4tdG9wOiAwY207IG1hcmdpbi1ib3R0b206IDBpbjsgd29yZC1zcGFjaW5nOiAwcHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7IiB0eXBlPSJzcXVhcmUiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+R2VuZXJhbCB1cGRhdGVzICB0byBmaXgga25vd24gZGVmZWN0cyBhbmQgZW5oYW5jZW1lbnRzIGltcGxlbWVudGF0aW9uPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwvTEwgR1BJTyZuYnNwOzwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+VXBkYXRlJm5ic3A7R1BJTworICAgICAgaW5pdGlhbGl6YXRpb24gc2VxdWVuY2U8Yj4mbmJzcDs8L2I+dG8gYXZvaWQgdW53YW50ZWQgcHVsc2Ugb24gR1BJTyBQaW4nczwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwgSTJDJm5ic3A7PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLWJvdHRvbTogMC4wMDAxcHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVwZGF0ZQorICAgICAgSEFMX0kyQ19FVl9JUlFIYW5kbGVyKCkgQVBJIHRvIGZpeCBJMkMgc2VuZCBicmVhayBpc3N1ZSZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyIgbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsiIHR5cGU9ImRpc2MiPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5BZGQKKyAgICAgICBhZGRpdGlvbmFsIGNoZWNrIG9uIGhpMmMtJmd0O2hkbWF0eCwKKyAgICAgICBoZG1hdHgtJmd0O1hmZXJDcGx0Q2FsbGJhY2ssJm5ic3A7aGkyYy0mZ3Q7aGRtYXJ4LAorICAgICAgIGhkbWFyeC0mZ3Q7WGZlckNwbHRDYWxsYmFjayBpbiBJMkNfTWFzdGVyX1NCKCkgQVBJIHRvCisgICAgICAgYXZvaWQmbmJzcDtlbmFibGluZyBETUEgcmVxdWVzdCZuYnNwO3doZW4gSVQgbW9kZSBpcyB1c2VkLjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyIgbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48L3VsPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5VcGRhdGUKKyAgICAgIEhBTF9JMkNfRVJfSVJRSGFuZGxlcigpIEFQSSB0byBmaXggYWNrbm93bGVkZ2UgZmFpbHVyZSBpc3N1ZSB3aXRoCisgICAgICBJMkMmbmJzcDttZW1vcnkgSVQgcHJvY2Vzc2VzPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0iZGlzYyI+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPiZuYnNwO0FkZCZuYnNwO3N0b3AKKyAgICAgICBjb25kaXRpb24gZ2VuZXJhdGlvbiZuYnNwO3doZW4mbmJzcDtOQUNLIG9jY3Vycy48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsiIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PC91bD48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+VXBkYXRlJm5ic3A7SEFMX0kyQ19Jbml0KCkKKyAgICAgIEFQSSB0byBmb3JjZSBzb2Z0d2FyZSByZXNldCBiZWZvcmUgc2V0dGluZyBuZXcgSTJDIGNvbmZpZ3VyYXRpb248L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsiIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVwZGF0ZQorICAgICAgSEFMIEkyQyBwcm9jZXNzZXMgdG8gcmVwb3J0IEVycm9yQ29kZSZuYnNwO3doZW4gd3JvbmcgSTJDIHN0YXJ0IGNvbmRpdGlvbgorICAgICAgb2NjdXJzPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0iZGlzYyI+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPiZuYnNwO0FkZAorICAgICAgIG5ldyZuYnNwO0Vycm9yQ29kZSBkZWZpbmU6IEhBTF9JMkNfV1JPTkdfU1RBUlQ8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsiIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPiZuYnNwO1NldCZuYnNwO0Vycm9yQ29kZQorICAgICAgIHBhcmFtZXRlciBpbiZuYnNwO0kyQyBoYW5kbGUgdG8mbmJzcDtIQUxfSTJDX1dST05HX1NUQVJUPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjwvdWw+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVwZGF0ZSZuYnNwO0kyQ19ETUFYZmVyQ3BsdCgpLAorICAgICAgSTJDX0RNQUVycm9yKCkgYW5kIEkyQ19ETUFBYm9ydCgpIEFQSXMgdG8gZml4IGhhcmRmYXVsdCBpc3N1ZSB3aGVuIGhkbWF0eAorICAgICAgYW5kIGhkbWFyeCZuYnNwO3BhcmFtZXRlcnMgaW4gaTJjIGhhbmRsZSBhcmVuJ3QgaW5pdGlhbGl6ZWQgKE5VTEwgcG9pbnRlcikuPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0iZGlzYyI+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkFkZAorICAgICAgIGFkZGl0aW9uYWwgY2hlY2sgb24gaGkyYy0mZ3Q7aGRtdHggYW5kIGhpMmMtJmd0O2hkbWFyeCBiZWZvcmUKKyAgICAgICByZXNldHRpbmcmbmJzcDtETUEgVHgvUnggY29tcGxldGUgY2FsbGJhY2s8L3NwYW4+PC9saT48L3VsPjwvdWw+PC91bD4KIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+T3B0aW1pemUgYXNzZXJ0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2wgZm9yIEdQSU8gUHVsbCBtb2RlIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9HUElPX0luaXQ8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Cis8dWwgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IHRleHQtdHJhbnNmb3JtOiBub25lOyB0ZXh0LWluZGVudDogMHB4OyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBtYXJnaW4tdG9wOiAwY207IG1hcmdpbi1ib3R0b206IDBpbjsgd29yZC1zcGFjaW5nOiAwcHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7IiB0eXBlPSJzcXVhcmUiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIEFEQyA8L3NwYW4+VXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+QWRkICJBRENfSU5URVJOQUxfTk9ORSIgY2hhbm5lbCB0byBkaXNhYmxlIHRoZSBWQkFUICZhbXA7IFRTVlJFRkUgY2hhbm5lbC48L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIERDTUkgPC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCBEQ01JX1N5bmNVbm1hc2tUeXBlRGVmIHN0cnVjdHVyZSBhbmQgSEFMX0RDTUlfQ29uZmlnU3luY1VubWFzaygpIEFQSSB0byBtYW5hZ2UgZW1iZWRkZWQgc3luY2hyb25pemF0aW9uIGRlbGltaXRlcnMgdW5tYXNrczwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgRVhUSTwvc3Bhbj4gdXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+R2VuZXJhbCB1cGRhdGUgdG8gZW5oYW5jZSBIQUwgRVhUSSBkcml2ZXIgcm9idXN0bmVzcyZuYnNwOzwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCBhZGRpdGlvbmFsIGFzc2VydCBjaGVjayBvbiBFWFRJIGNvbmZpZyBsaW5lczwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIHRvIGNvbXB1dGUgRVhUSSBsaW5lIG1hc2sgYmVmb3JlIHJlYWQvd3JpdGUgYWNjZXNzIHRvIEVYVEkgcmVnaXN0ZXJzPC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSBFWFRJIGNhbGxiYWNrcyBtYW5hZ2VtZW50IHRvIGJlIGNvbXBsaWFudCB3aXRoIHJlZmVyZW5jZSBtYW51YWw6IG9ubHkgb25lIFBSIHJlZ2lzdGVyIGZvciByaXNpbmcgYW5kIGZhbGxpbmcgaW50ZXJydXB0cy48L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUKK3BhcmFtZXRlcnMgaW4gRVhUSV9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZTogbWVyZ2UgSEFMIEVYVEkKK1Jpc2luZ0NhbGxiYWNrIGFuZCBGYWxsaW5nQ2FsbGJhY2sgaW4gb25seSBvbmUgUGVuZGluZ0NhbGxiYWNrLjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+UmVtb3ZlIEhBTF9FWFRJX1JJU0lOR19DQl9JRCBhbmQgSEFMX0VYVElfRkFMTElOR19DQl9JRCB2YWx1ZXMgZnJvbSBFWFRJX0NhbGxiYWNrSURUeXBlRGVmIGVudW1lcmF0aW9uLjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgSEFMX0VYVElfSVJRSGFuZGxlcigpIEFQSSB0byBzZXJ2ZSBpbnRlcnJ1cHRzIGNvcnJlY3RseS48L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgdG8gY29tcHV0ZSBFWFRJIGxpbmUgbWFzayBiZWZvcmUgaGFuZGxlIEVYVEkgaW50ZXJydXB0Ljwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgdG8gc3VwcG9ydCBHUElPIHBvcnQgaW50ZXJydXB0czo8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgbmV3ICJHUElPU2VsIiBwYXJhbWV0ZXIgaW4gRVhUSV9Db25maWdUeXBlRGVmIHN0cnVjdHVyZTwvc3Bhbj48L2xpPjwvdWw+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBIQVNIJm5ic3A7PC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPjwvc3Bhbj5OdWxsIHBvaW50ZXIgb24gaGFuZGxlciAiaGhhc2giIGlzIG5vdyBjaGVja2VkIGJlZm9yZSBhY2Nlc3Npbmcgc3RydWN0dXJlIG1lbWJlciAiaGhhc2gtJmd0O0luaXQuRGF0YVR5cGUiIGluIHRoZSBmb2xsb3dpbmcgQVBJOjwvc3Bhbj48L2xpPjwvdWw+PHVsPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9IQVNIX0luaXQoKTwvc3Bhbj48L2xpPjwvdWw+PC91bD48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5Gb2xsb3dpbmcgPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+aW50ZXJydXB0LWJhc2VkPC9zcGFuPgorQVBJcyBoYXZlIGJlZW4gYWRkZWQuIEludGVycnVwdCBtb2RlIGNvdWxkIGFsbG93IHRoZSBNQ1UgdG8gZW50ZXIKKyJTbGVlcCIgbW9kZSB3aGlsZSBhIGRhdGEgYmxvY2sgaXMgYmVpbmcgcHJvY2Vzc2VkLiBQbGVhc2UgcmVmZXIgdG8gdGhlCisiIyMjIyMgSG93IHRvIHVzZSB0aGlzIGRyaXZlciAjIyMjIyIgc2VjdGlvbiBmb3IgZGV0YWlscyBhYm91dCB0aGVpcgordXNlLjwvc3Bhbj48L2xpPjwvdWw+PHVsPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9IQVNIX1NIQTFfQWNjbWx0X0lUKCk8L3NwYW4+PC9saT48L3VsPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9IQVNIX01ENV9BY2NtbHRfSVQoKTwvc3Bhbj48L2xpPjwvdWw+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0hBU0hFeF9TSEEyMjRfQWNjbWx0X0lUKCk8L3NwYW4+PC9saT48L3VsPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9IQVNIRXhfU0hBMjU2X0FjY21sdF9JVCgpPC9zcGFuPjwvbGk+PC91bD48L3VsPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkZvbGxvd2luZyA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5hbGlhc2VzPC9zcGFuPiBoYXZlIGJlZW4gYWRkZWQgKGp1c3QgPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+Zm9yIGNsYXJpdHkgc2FrZTwvc3Bhbj4pIGFzIHRoZXkgc2hhbGwgYmUgdXNlZCBhdCB0aGUgPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+ZW5kPC9zcGFuPiBvZiB0aGUgY29tcHV0YXRpb24gb2YgYSBtdWx0aS1idWZmZXJzIG1lc3NhZ2UgYW5kIG5vdCBhdCB0aGUgc3RhcnQ6PC9zcGFuPjwvbGk+PC91bD48dWw+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0hBU0hfU0hBMV9BY2NtbHRfRW5kKCkgdG8gYmUgdXNlZCBpbnN0ZWFkIG9mIEhBTF9IQVNIX1NIQTFfU3RhcnQoKTwvc3Bhbj48L2xpPjwvdWw+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0hBU0hfTUQ1X0FjY21sdF9FbmQoKSB0byBiZSB1c2VkIGluc3RlYWQgb2YgSEFMX0hBU0hfTUQ1X1N0YXJ0KCk8L3NwYW4+PC9saT48L3VsPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9IQVNIX1NIQTFfQWNjbWx0X0VuZF9JVCgpIHRvIGJlIHVzZWQgaW5zdGVhZCBvZiBIQUxfSEFTSF9TSEExX1N0YXJ0X0lUKCk8L3NwYW4+PC9saT48L3VsPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9IQVNIX01ENV9BY2NtbHRfRW5kX0lUKCkgdG8gYmUgdXNlZCBpbnN0ZWFkIG9mIEhBTF9IQVNIX01ENV9TdGFydF9JVCgpPC9zcGFuPjwvbGk+PC91bD48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfSEFTSEV4X1NIQTIyNF9BY2NtbHRfRW5kKCkgdG8gYmUgdXNlZCBpbnN0ZWFkIG9mIEhBTF9IQVNIRXhfU0hBMjI0X1N0YXJ0KCk8L3NwYW4+PC9saT48L3VsPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9IQVNIRXhfU0hBMjU2X0FjY21sdF9FbmQoKSB0byBiZSB1c2VkIGluc3RlYWQgb2YgSEFMX0hBU0hFeF9TSEEyNTZfU3RhcnQoKTwvc3Bhbj48L2xpPjwvdWw+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0hBU0hFeF9TSEEyMjRfQWNjbWx0X0VuZF9JVCgpIHRvIGJlIHVzZWQgaW5zdGVhZCBvZiBIQUxfSEFTSEV4X1NIQTIyNF9TdGFydF9JVCgpPC9zcGFuPjwvbGk+PC91bD48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfSEFTSEV4X1NIQTI1Nl9BY2NtbHRfRW5kX0lUKCkgdG8gYmUgdXNlZCBpbnN0ZWFkIG9mIEhBTF9IQVNIRXhfU0hBMjU2X1N0YXJ0X0lUKCk8L3NwYW4+PC9saT48L3VsPjwvdWw+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+TUlTUkFDLTIwMTIKK3J1bGUgUi41LjEgKGlkZW50aWZpZXJzIHNoYWxsIGJlIGRpc3RpbmN0IGluIHRoZSBmaXJzdCAzMSBjaGFyYWN0ZXJzKQorY29uc3RyYWluZWQgdGhlIG5hbWluZyBvZiB0aGUgYWJvdmUgbGlzdGVkIGFsaWFzZXMgKGUuZy4KK0hBTF9IQVNIRXhfU0hBMjU2XzxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkFjY21sdDwvc3Bhbj5fRW5kKCkgY291bGQgbm90IGJlIG5hbWVkIEhBTF9IQVNIRXhfU0hBMjU2XzxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkFjY3VtdWxhdGU8L3NwYW4+X0VuZCgpLiBPdGhlcndpc2UgdGhlIG5hbWUgd291bGQgaGF2ZSBjb25mbGljdGVkIHdpdGggSEFMX0hBU0hFeF9TSEEyNTZfPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+QWNjdW11bGF0ZTwvc3Bhbj5fRW5kX0lUKCkpLiBJbiBvcmRlciB0byBoYXZlIGFsaWduZWQgbmFtZXMgZm9sbG93aW5nIEFQSXMgaGF2ZSBiZWVuIHJlbmFtZWQ6PC9zcGFuPjwvbGk+PC91bD48dWw+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0hBU0hfTUQ1X0FjY3VtdWxhdGUoKSByZW5hbWVkIEhBTF9IQVNIX01ENV9BY2NtbHQoKTwvc3Bhbj48L2xpPjwvdWw+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0hBU0hfU0hBMV9BY2N1bXVsYXRlKCkgcmVuYW1lZCBIQUxfSEFTSF9TSEExX0FjY21sdCgpPC9zcGFuPjwvbGk+PC91bD48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfSEFTSEV4X1NIQTIyNF9BY2N1bXVsYXRlKCkgcmVuYW1lZCBIQUxfSEFTSEV4X1NIQTIyNF9BY2NtbHQoKTwvc3Bhbj48L2xpPjwvdWw+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0hBU0hFeF9TSEEyNTZfQWNjdW11bGF0ZSgpIHJlbmFtZWQgSEFMX0hBU0hFeF9TSEEyNTZfQWNjbWx0KCk8L3NwYW4+PC9saT48L3VsPjwvdWw+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+SEFTSCA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5oYW5kbGVyPC9zcGFuPiBzdGF0ZSBpcyA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5ubyBtb3JlPC9zcGFuPiByZXNldCB0byBIQUxfSEFTSF9TVEFURV9SRUFEWSA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5vbmNlIERNQSBoYXMgYmVlbiBzdGFydGVkPC9zcGFuPiBpbiB0aGUgZm9sbG93aW5nIEFQSXM6PC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0hBU0hfTUQ1X1N0YXJ0X0RNQSgpPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfSE1BQ19NRDVfU3RhcnRfRE1BKCk8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9IQVNIX1NIQTFfU3RhcnRfRE1BKCk8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9ITUFDX1NIQTFfU3RhcnRfRE1BKCk8L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+SEFTSCA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5waGFzZTwvc3Bhbj4gc3RhdGUgaXMgbm93IHNldCB0byBIQUxfSEFTSF9QSEFTRV9SRUFEWTxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPiBvbmNlIHRoZSBkaWdlc3QgaGFzIGJlZW4gcmVhZDwvc3Bhbj4gaW4gdGhlIGZvbGxvd2luZyBBUElzOjwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkhBU0hfSVQoKTwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+SE1BQ19Qcm9jZXNzaW5nKCk8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkhBU0hfU3RhcnQoKTwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+SEFTSF9GaW5pc2goKTwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5DYXNlIG9mIGEgbGFyZ2UgYnVmZmVyIHNjYXR0ZXJlZCBhcm91bmQgaW4gbWVtb3J5IGVhY2ggcGllY2Ugb2Ygd2hpY2ggaXMgPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+bm90PC9zcGFuPiBuZWNlc3NhcmlseSBhIDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPm11bHRpcGxlIG9mIDQ8L3NwYW4+IGJ5dGVzIGluIGxlbmd0aC48L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5Jbgorc2VjdGlvbiAiIyMjIyMgSG93IHRvIHVzZSB0aGlzIGRyaXZlciAjIyMjIyIsIHN1Yi1zZWN0aW9uICIqKiogUmVtYXJrcworb24gbWVzc2FnZSBsZW5ndGggKioqIiBhZGRlZCB0byBwcm92aWRlIHJlY29tbWVuZGF0aW9ucyB0byBmb2xsb3cgaW4KK3N1Y2ggY2FzZS48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPk5vIG1vZGlmaWNhdGlvbiBvZiB0aGUgZHJpdmVyIGFzIHRoZSByb290LWNhdXNlIGlzIGF0IGRlc2lnbi1sZXZlbC48YnI+PC9zcGFuPjwvbGk+PC91bD48L3VsPjwvdWw+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPjwvc3Bhbj48dWwgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IHRleHQtdHJhbnNmb3JtOiBub25lOyB0ZXh0LWluZGVudDogMHB4OyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBtYXJnaW4tdG9wOiAwY207IG1hcmdpbi1ib3R0b206IDBpbjsgd29yZC1zcGFjaW5nOiAwcHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7IiB0eXBlPSJzcXVhcmUiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBTRE1NQyZuYnNwOzwvc3Bhbj48L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+Rml4Jm5ic3A7dHlwbyBpbiAiRmlsZUZvcm1hdEdyb3VwIiBwYXJhbWV0ZXIgaW4gdGhlIEhBTF9NTUNfQ2FyZENTRFR5cGVEZWYgYW5kIEhBTF9TRF9DYXJkQ1NEVHlwZURlZiBzdHJ1Y3R1cmVzLjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+Rml4IGFuIGltcHJvdmUgaGFuZGxlIHN0YXRlIGFuZCBlcnJvciBtYW5hZ2VtZW50PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5SZW5hbWUgdGhlIGRlZmluZWQgTU1DIGNhcmQgY2FwYWNpdHkgdHlwZSB0byBiZSBtb3JlIG1lYW5pbmdmdWw6PC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPk1NQ19ISUdIX1ZPTFRBR0VfQ0FSRDwvc3Bhbj4gdG8gPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+TU1DIExPV19DQVBBQ0lUWV9DQVJEPC9zcGFuPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPk1NQ19EVUFMX1ZPTFRBR0VfQ1JBRDwvc3Bhbj4gdG8gPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+TU1DX0hJR0hfQ0FQQUNJVFlfQ0FSRDwvc3Bhbj48L3NwYW4+PC9saT48L3VsPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgUVNQSSA8L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+UmVtb3ZlIExvY2sgbWVjaGFuaXNtIGZyb20gSEFMX1FTUElfSW5pdCgpIGFuZCBIQUxfUVNQSV9EZUluaXQoKSBBUElzPC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGZvbnQtc2l6ZTogMTZweDsgZm9udC1zdHlsZTogbm9ybWFsOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBvcnBoYW5zOiAyOyB0ZXh0LWFsaWduOiBsZWZ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd2lkb3dzOiAyOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5IQUwgTFBUSU08c3Bhbj4mbmJzcDs8L3NwYW4+PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBvcnBoYW5zOiAyOyB0ZXh0LWFsaWduOiBsZWZ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd2lkb3dzOiAyOyB3b3JkLXNwYWNpbmc6IDBweDsgZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPkFkZCBhIHBvbGxpbmcgbWVjaGFuaXNtIHRvIGNoZWNrIG9uJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+TFBUSU1fRkxBR19YWE9LPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij48c3Bhbj4mbmJzcDs8L3NwYW4+ZmxhZ3MgaW4gZGlmZmVyZW50IEFQSSZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+PC9zcGFuPjwvbGk+PHVsIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwaW47Ij48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5BZGQmbmJzcDtMUFRJTV9XYWl0Rm9yRmxhZygpPHNwYW4+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+QVBJPHNwYW4+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+dG8gd2FpdCBmb3IgZmxhZyBzZXQuPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+UGVyZm9ybSBuZXcgY2hlY2tzIG9uIEhBTF9MUFRJTV9TVEFURV9USU1FT1VULjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+V29ya2Fyb3VuZCB0byBmaXggTUNVIHNsYWNrIGluIHNsZWVwIG1vZGU8YnI+PC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPlVwZGF0ZSBfX0hBTF9MUFRJTV9ESVNBQkxFICgpIG1hY3JvIHVzZWQgdG8gZGlzYWJsZSBMUFRJTSBIVyBpbnN0YW5jZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5SZW1vdmUgdGhlIExQVElNX0NSX0VOQUJMRSBiaXQgY2xlYXIuPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+QWRkIGEgbmV3IEFQSSZuYnNwOyBMUFRJTV9EaXNhYmxlKCkgZGVmaW5lZCBpbiZuYnNwOyBoYWxfbHB0aW0uYzwvc3Bhbj48L2xpPjwvdWw+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5VcGRhdGUgX19IQUxfTFBUSU1fUkVTRVRfSEFORExFX1NUQVRFKF9fSEFORExFX18pIG1hY3JvIGJ5IGFkZGluZyBhIHNwZWNpZmljIC4uLi4gd2hlbiB1c2luZyBjYWxsYmFjayByZWdpc3Rlcjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPl9fSEFMX0xQVElNX0VOQUJMRTwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPlJlbW92ZSB1c3NlbGVzcyBjaGVjayBvbiBMUFRJTTIgaW4gdGhlIExMIGRyaXZlciBzaW5jZSBGNyBzdXBwb3J0IG9ubHkgb25lIGluc3RhbmNlIG9mIExQVElNLjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPlVwZGF0ZSB0aGUmbmJzcDsgTExfTFBUSU1fRElTQUJMRSgpIEFQSSB1c2VkIHRvIGRpc2FibGUgTFBUSU0gSFcgaW5zdGFuY2U8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+TW92ZSBBUEkgZGVmaW5pdGlvbiB0byBsbF9scHRpbS5jPC9zcGFuPjwvbGk+PC91bD48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PGIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGZvbnQtc2l6ZTogMTZweDsgZm9udC1zdHlsZTogbm9ybWFsOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBvcnBoYW5zOiAyOyB0ZXh0LWFsaWduOiBsZWZ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd2lkb3dzOiAyOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5IQUwmbmJzcDtUSU08c3Bhbj4mbmJzcDs8L3NwYW4+PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBvcnBoYW5zOiAyOyB0ZXh0LWFsaWduOiBsZWZ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd2lkb3dzOiAyOyB3b3JkLXNwYWNpbmc6IDBweDsgZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPkFkZCBuZXcgbWFjcm9zIHRvIGVuYWJsZSBhbmQgZGlzYWJsZSB0aGUgZmFzdCBtb2RlIHdoZW4gdXNpbmcgdGhlIG9uZSBwdWxzZSBtb2RlIHRvIG91dHB1dCBhIHdhdmVmb3JtIHdpdGggYSBtaW5pbXVtIGRlbGF5PC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPl88L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTMuMzMzM3B4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IG9ycGhhbnM6IDI7IHRleHQtYWxpZ246IGxlZnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3aWRvd3M6IDI7IHdvcmQtc3BhY2luZzogMHB4OyBkaXNwbGF5OiBpbmxpbmUgISBpbXBvcnRhbnQ7IGZsb2F0OiBub25lOyI+X0hBTF9USU1fRU5BQkxFX09DeEZBU1QoKSBhbmQgX19IQUxfVElNX0RJU0FCTEVfT0N4RkFTVCgpLjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMy4zMzMzcHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgb3JwaGFuczogMjsgdGV4dC1hbGlnbjogbGVmdDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdpZG93czogMjsgd29yZC1zcGFjaW5nOiAwcHg7IGRpc3BsYXk6IGlubGluZSAhIGltcG9ydGFudDsgZmxvYXQ6IG5vbmU7Ij5VPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IG9ycGhhbnM6IDI7IHRleHQtYWxpZ246IGxlZnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3aWRvd3M6IDI7IHdvcmQtc3BhY2luZzogMHB4OyBmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5wZGF0ZSBFbmNvZGVyIGludGVyZmFjZSBtb2RlIHRvIGtlZXAmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgb3JwaGFuczogMjsgdGV4dC1hbGlnbjogbGVmdDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdpZG93czogMjsgd29yZC1zcGFjaW5nOiAwcHg7IGZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPlRJTV9DQ0VSX0NDeE5QIGJpdHMgbG93PC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPkFkZCZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+VElNX0VOQ09ERVJJTlBVVFBPTEFSSVRZX1JJU0lORyBhbmQgVElNX0VOQ09ERVJJTlBVVFBPTEFSSVRZX0ZBTExJTkc8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPjxzcGFuPiZuYnNwOzwvc3Bhbj5kZWZpbml0aW9ucyB0byBkZXRlcm1pbmUgZW5jb2RlciBpbnB1dCBwb2xhcml0eS48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5BZGQ8c3Bhbj4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5JU19USU1fRU5DT0RFUklOUFVUX1BPTEFSSVRZKCk8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPjxzcGFuPiZuYnNwOzwvc3Bhbj5tYWNybyB0byBjaGVjayZuYnNwO3RoZSBlbmNvZGVyIGlucHV0IHBvbGFyaXR5Ljwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPlVwZGF0ZSBIQUxfVElNX0VuY29kZXJfSW5pdCgpIEFQSSZuYnNwOzwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+UmVwbGFjZSBJU19USU1fSUNfUE9MQVJJVFkoKSBtYWNybyBieSBJU19USU1fRU5DT0RFUklOUFVUX1BPTEFSSVRZKCkgbWFjcm8uPC9zcGFuPjwvbGk+PC91bD48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q29ycmVjdCB3cm9uZworICAgICAgaW5zdGFuY2UgcGFyYW1ldGVyIGNoZWNrIGluIGVuY29kZXIgbW9kZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVwbGFjZQorICAgICAgICBJU19USU1fQ0MyX0lOU1RBTkNFIGJ5IElTX1RJTV9FTkNPREVSX0lOVEVSRkFDRV9JTlNUQU5DRSBpbiBlbmNvZGVyCisgICAgICAgIGludGVyZmFjZSA6Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0iZGlzYyI+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1RJTV9FbmNvZGVyX1N0YXJ0KCk8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1RJTV9FbmNvZGVyX1N0b3AoKTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNX0VuY29kZXJfU3RhcnRfSVQoKTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNX0VuY29kZXJfU3RvcF9JVCgpPG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjwvdWw+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVwbGFjZQorICAgICAgICBJU19USU1fRE1BX0NDX0lOU1RBTkNFIGJ5IElTX1RJTV9FTkNPREVSX0lOVEVSRkFDRV9JTlNUQU5DRSBpbiBlbmNvZGVyCisgICAgICAgIGludGVyZmFjZSBpbiBETUEgbW9kZSA6Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0iZGlzYyI+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1RJTV9FbmNvZGVyX1N0YXJ0X0RNQSgpPG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9USU1fRW5jb2Rlcl9TdG9wX0RNQSgpPG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjwvdWw+PC91bD48L3VsPgogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OzsgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmc9IkVOLVVTIj5GaXggdW5leHBlY3RlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRlY3Rpb24gYnkgcmVvcmRlcmluZyBFWFRJCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZy48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDEgbGZvMTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Cis8dWw+PHVsPjxsaT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCisgICAgICBIQUxfVElNRXhfTWFzdGVyQ29uZmlnU3luY2hyb25pemF0aW9uKCkgQVBJIHRvIGF2b2lkIGZ1bmN0aW9uYWwgZXJyb3JzCisgICAgICBhbmQmbmJzcDthc3NlcnQgZmFpbHMgd2hlbiB1c2luZyBzb21lIFRJTSBpbnN0YW5jZXMgYXMgaW5wdXQgdHJpZ2dlci48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PC91bD48dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsiIHR5cGU9ImRpc2MiPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0iZGlzYyI+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVwbGFjZSZuYnNwO0lTX1RJTV9TWU5DSFJPX0lOU1RBTkNFKCkKKyAgICAgICBtYWNybyBieSBJU19USU1fTUFTVEVSX0lOU1RBTkNFKCkgbWFjcm8uJm5ic3A7PG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCZuYnNwO0lTX1RJTV9TTEFWRV9JTlNUQU5DRSgpCisgICAgICAgbWFjcm8gdG8mbmJzcDtjaGVjayBvbiBUSU1fU01DUl9NU00gYml0LjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48L3VsPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlByb3ZpZGUgbmV3CisgICAgICBBUEkmbmJzcDt0byBzZXQgYW5kIGNsZWFyIFVJRlJFTUFQPG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0iZGlzYyI+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldworICAgICAgIGRlZmluaXRpb24gZm9yIFRJTSBVcGRhdGUgSW50ZXJydXB0IEZsYWcgUmVtYXA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IiB0eXBlPSJkaXNjIj48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5USU1fVUlGUkVNQVBfRElTQUJMRTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5USU1fVUlGUkVNQVBfRU5BQkxFPG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjwvdWw+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldyBtYWNybworICAgICAgIGluIEhBTCBkcml2ZXIgdG8gZW5hYmxlIGFuZCBkZXNhYmxlIHRoZSZuYnNwOyBVcGRhdGUgSW50ZXJydXB0IEZsYWcKKyAgICAgICBSZW1hcDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsiIHR5cGU9ImRpc2MiPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwO19fSEFMX1RJTV9VSUZSRU1BUF9FTkFCTEUoKTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9USU1fVUlGUkVNQVBfRElTQUJMRSgpL19fSEFMX1RJTV9HRVRfVUlGQ1BZCisgICAgICAgIG1hY3JvPG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjwvdWw+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldworICAgICAgIG1lY2FuaXNtIHRvIGNoZWNrIHdoZXRoZXIgdGhlJm5ic3A7dXBkYXRlIGludGVycnVwdCBmbGFnIChVSUYpIGNvcHkgaXMKKyAgICAgICBzZXQgb3Igbm90Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0iZGlzYyI+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIHRoZQorICAgICAgICBfX0hBTF9USU1fR0VUX1VJRkNQWSgpIG1hY3JvIGluIHRoZSBIQUwgZHJpdmVyPG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAorICAgICAgICBMTF9USU1fSXNBY3RpdmVVSUZDUFkoKSBBUEkgaW4gdGhlIExMIGRyaXZlcjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48L3VsPjwvdWw+PHVsPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcgbWFjcm8KKyAgICAgICB0byBjaGVjayBvbiB0aGUmbmJzcDtVcGRhdGUgSW50ZXJydXB0IEZsYWcgUmVtYXAgbW9kZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48L3VsPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0iZGlzYyI+PHVsPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklTX1RJTV9VSUZSRU1BUF9NT0RFKCk8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PC91bD48L3VsPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZSB1c3NlbGVzcworICAgICAgZGVmaW5lIGluIHRoZSBMTCBkcml2ZXImbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IiB0eXBlPSJkaXNjIj48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5USU14X0FGMV9CS0lORQorICAgICAgIC8gVElNeF9BRjFfQktERkJLRSAvICZuYnNwO1RJTXhfQUYyX0JLMklORSAvICZuYnNwO1RJTXhfQUYyX0JLMkRGQktFIC8KKyAgICAgICAmbmJzcDtUSU14X0FGMl9CSzJJTlA8L3NwYW4+PC9saT48L3VsPjwvdWw+PC91bD48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+PC9zcGFuPjx1bCBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAwKTsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHRleHQtaW5kZW50OiAwcHg7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IG1hcmdpbi10b3A6IDBjbTsgbWFyZ2luLWJvdHRvbTogMGluOyB3b3JkLXNwYWNpbmc6IDBweDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsiIHR5cGU9InNxdWFyZSI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48YiBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgZm9udC1zaXplOiAxNnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IG9ycGhhbnM6IDI7IHRleHQtYWxpZ246IGxlZnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3aWRvd3M6IDI7IHdvcmQtc3BhY2luZzogMHB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPkhBTCZuYnNwOzwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgbGluZS1oZWlnaHQ6IDEwNiU7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5TTUFSVENBUkQ8L3NwYW4+IHVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBvcnBoYW5zOiAyOyB0ZXh0LWFsaWduOiBsZWZ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd2lkb3dzOiAyOyB3b3JkLXNwYWNpbmc6IDBweDsgZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyI+PC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBsaW5lLWhlaWdodDogMTA2JTsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSBTTUFSVENBUkRfU2V0Q29uZmlnKCkgQVBJLjwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGxpbmUtaGVpZ2h0OiAxMDYlOyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U3BsaXQgSEFMX1JDQ19HZXRQQ0xLMUZyZXEoKSBhbmQKK0hBTF9SQ0NfR2V0UENMSzJGcmVxKCkgbWFjcm9zIGZyb20gdGhlIEJSUiBjYWxjdWxhdGlvbi48L3NwYW4+PC9saT48L3VsPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgbGluZS1oZWlnaHQ6IDEwNiU7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwmbmJzcDs8L3NwYW4+PGIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGZvbnQtc2l6ZTogMTZweDsgZm9udC1zdHlsZTogbm9ybWFsOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBvcnBoYW5zOiAyOyB0ZXh0LWFsaWduOiBsZWZ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd2lkb3dzOiAyOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij48L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGxpbmUtaGVpZ2h0OiAxMDYlOyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SVJEQSZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnVwZGF0ZTwvc3Bhbj48L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBsaW5lLWhlaWdodDogMTA2JTsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSBJUkRBX1NldENvbmZpZygpIEFQSSZuYnNwOzwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGxpbmUtaGVpZ2h0OiAxMDYlOyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U3BsaXQgSEFMX1JDQ19HZXRQQ0xLMUZyZXEoKSBhbmQKK0hBTF9SQ0NfR2V0UENMSzJGcmVxKCkgbWFjcm9zIGZyb20gdGhlIElSREFfRElWX1NBTVBMSU5HMTYoKSBtYWNyby48L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgbGluZS1oZWlnaHQ6IDEwNiU7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgc29tZSBBUEkgZGVzY2lwdGlvbjwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGxpbmUtaGVpZ2h0OiAxMDYlOyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0lSREFfVHJhbnNtaXQoKSAvJm5ic3A7SEFMX0lSREFfVHJhbnNtaXRfSVQoKTwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgbGluZS1oZWlnaHQ6IDEwNiU7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+SEFMX0lSREFfUmVjZWl2ZSgpIC8mbmJzcDtIQUxfSVJEQV9SZWNlaXZlX0lUKCk8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGxpbmUtaGVpZ2h0OiAxMDYlOyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0lSREFfVHJhbnNtaXRfRE1BKCkgLyBIQUxfSVJEQV9SZWNlaXZlX0RNQSgpPC9zcGFuPjwvbGk+PC91bD48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgbGluZS1oZWlnaHQ6IDEwNiU7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwgUkNDIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgbGluZS1oZWlnaHQ6IDEwNiU7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBsaW5lLWhlaWdodDogMTA2JTsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSB0aGUgSEFMX1JDQ19DbG9ja0NvbmZpZygpIGFuZCBIQUxfUkNDX0RlSW5pdCgpIEFQSSB0byBkb24ndCBvdmVyd3JpdGUgdGhlIGN1c3RvbSB0aWNrIHByaW9yaXR5PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBsaW5lLWhlaWdodDogMTA2JTsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSBIQUxfUkNDX09zY0NvbmZpZygpIEFQSSB0byBkb24ndCByZXR1cm4gSEFMX0VSUk9SIGlmIHJlcXVlc3QgcmVwZWF0cyB0aGUgY3VycmVudCBQTEwgY29uZmlndXJhdGlvbjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBsaW5lLWhlaWdodDogMTA2JTsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTC9MTCBVU0FSVDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgbGluZS1oZWlnaHQ6IDEwNiU7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDt1cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBsaW5lLWhlaWdodDogMTA2JTsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBzdXBwb3J0IHRvIHRoZSBSZWNlaXZlciBUaW1lb3V0IEludGVycnVwdCBpbiB0aGUKK0hBTF9VU0FSVF9JUlFIYW5kbGVyPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBsaW5lLWhlaWdodDogMTA2JTsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSBzb21lIEFQSSBkZXNjaXB0aW9uJm5ic3A7PC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+CiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7O21zby1hbnNpLWxhbmd1YWdlOkZSOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiI+SEFMIEVYVEk8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7O21zby1hbnNpLWxhbmd1YWdlOkZSO21zby1mYXJlYXN0LWxhbmd1YWdlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Cis8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAycHQgMGNtOyBsaW5lLWhlaWdodDogbm9ybWFsOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5IQUxfVVNBUlRfVHJhbnNtaXQoKSAvJm5ic3A7SEFMX1VTQVJUX1RyYW5zbWl0X0lUKCkmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj48L3NwYW4+PC9wPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij4KIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9FWFRJX0dldENvbmZpZ0xpbmUoKSBBUEkgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0IGRlZmF1bHQgY29uZmlndXJhdGlvbiB2YWx1ZSBvZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmlnZ2VyIGFuZCBHUElPU2VsIGJlZm9yZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2luZyBlYWNoIGNvcnJlc3BvbmRpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJzLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMSBsZm8xO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RlI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIj5IQUwgRE1BPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90Ozttc28tYW5zaS1sYW5ndWFnZTpGUjttc28tZmFyZWFzdC1sYW5ndWFnZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZSIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OzsgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmc9IkVOLVVTIj5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0RNQV9JUlFIYW5kbGVyKCkgQVBJIHRvIHNldAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgRE1BIHN0YXRlIGJlZm9yZSB1bmxvY2tpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzIHRvIHRoZSBETUEgaGFuZGxlLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKzxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDJwdCAwY20gMnB0IDE4cHQ7IHRleHQtaW5kZW50OiAtMThwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+SEFMX1VTQVJUX1JlY2VpdmUoKSAvJm5ic3A7SEFMX1VTQVJUX1JlY2VpdmVfSVQoKSZuYnNwOzwvc3Bhbj48L3A+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPgogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OzsgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmc9IkVOLVVTIj5NYW5hZ2UgdGhlIGNhc2Ugb2YgYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW52YWxpZCB2YWx1ZSBvZiBDYWxsYmFja0lEIHBhc3NlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byB0aGUgSEFMX0RNQV9SZWdpc3RlckNhbGxiYWNrKCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMSBsZm8xO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKzxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDJwdCAwY20gMnB0IDE4cHQ7IHRleHQtaW5kZW50OiAtMThwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+SEFMX1VTQVJUX1RyYW5zbWl0UmVjZWl2ZSgpIC8mbmJzcDtIQUxfVVNBUlRfVHJhbnNtaXRSZWNlaXZlX0lUKCkmbmJzcDs8L3NwYW4+PC9wPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAycHQgMGNtIDJwdCAxOHB0OyB0ZXh0LWluZGVudDogLTE4cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkhBTF9VU0FSVF9UcmFuc21pdF9ETUEoKSAvIEhBTF9VU0FSVF9SZWNlaXZlX0RNQSgpIC8gSEFMX1VTQVJUX1RyYW5zbWl0UmVjZWl2ZV9ETUEoKTwvc3Bhbj48L3A+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgbGluZS1oZWlnaHQ6IDEwNiU7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgVVNBUlRfU2V0Q29uZmlnKCkgQVBJJm5ic3A7PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBsaW5lLWhlaWdodDogMTA2JTsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNwbGl0IEhBTF9SQ0NfR2V0UENMSzFGcmVxKCkgYW5kCitIQUxfUkNDX0dldFBDTEsyRnJlcSgpIG1hY3JvcyBmcm9tIHRoZSBVU0FSVF9ESVZfU0FNUExJTkc4KCkgbWFjcm88L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGxpbmUtaGVpZ2h0OiAxMDYlOyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U3VwcG9ydCBTdG9wIE1vZGUgZnVuY3Rpb25hbGl0aWVzIGluIHRoZSBVU0FSVAorZHJpdmVyJm5ic3A7Jm5ic3A7PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBsaW5lLWhlaWdodDogMTA2JTsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCAmbmJzcDtkZWZpbml0aW9uIG9mIFVTQVJUX0lTUl9SRUFDSyBVU0FSVCwmbmJzcDsKK3JlY2VpdmUgZW5hYmxlIGFja25vd2xlZGdlIGZsYWcgaW4gdGhlIEhBTCBkcml2ZXI8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGxpbmUtaGVpZ2h0OiAxMDYlOyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldyBmbGFnIGRlZmluaXRpb24gaW4gdGhlIExMIGRyaXZlciZuYnNwOzwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPgogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90Ozttc28tYW5zaS1sYW5ndWFnZTpGUjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiPkhBTCBBREM8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7O21zby1hbnNpLWxhbmd1YWdlOkZSO21zby1mYXJlYXN0LWxhbmd1YWdlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7CiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfQURDX0NvbmZpZ0NoYW5uZWwoKSBBUEkgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3cgdGhlIHBvc3NpYmlsaXR5IHRvIHN3aXRjaAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZXR3ZWVuIFZCQVQgYW5kIFRFTVBFUkFUVVJFCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5uZWxzIGNvbmZpZ3VyYXRpb25zLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+QmV0dGVyIHBlcmZvcm1hbmNlIGJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92aW5nIG11bHRpcGxlIHZvbGF0aWxlIHJlYWRzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIHdyaXRlcyBpbiBpbnRlcnJ1cHQgaGFuZGxlci48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDEgbGZvMTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Cis8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAycHQgMGNtIDJwdCAxOHB0OyB0ZXh0LWluZGVudDogLTE4cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkxMX1VTQVJUX0lDUl9XVUNGJm5ic3A7IFdha2V1cCBmcm9tIFN0b3AgbW9kZSBmbGFnJm5ic3A7PC9zcGFuPjwvcD48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+CiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7O21zby1hbnNpLWxhbmd1YWdlOkZSOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiI+SEFML0xMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJORzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDs7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RlI7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGUiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKzxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDJwdCAwY20gMnB0IDE4cHQ7IHRleHQtaW5kZW50OiAtMThwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+TExfVVNBUlRfSVNSX1dVRiBXYWtldXAgZnJvbSBTdG9wIG1vZGUgZmxhZyZuYnNwOzwvc3Bhbj48L3A+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPgogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OzsgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmc9IkVOLVVTIj5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTExfUk5HX0RlSW5pdCgpIEFQSSB0byBhdm9pZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCTdW51c2VkIHZhcmlhYmxllCB3YXJuaW5ncy48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Cis8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAycHQgMGNtIDJwdCAxOHB0OyB0ZXh0LWluZGVudDogLTE4cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkxMX1VTQVJUX0lTUl9SRUFDSyBSZWNlaXZlIGVuYWJsZSBhY2tub3dsZWRnZSBmbGFnJm5ic3A7PC9zcGFuPjwvcD48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMnB0IDBjbSAycHQgMThwdDsgdGV4dC1pbmRlbnQ6IC0xOHB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5MTF9VU0FSVF9DUjNfV1VGSUUgV2FrZXVwIGZyb20gU3RvcCBtb2RlIGludGVycnVwdCBlbmFibGU8L3NwYW4+PC9wPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGxpbmUtaGVpZ2h0OiAxMDYlOyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldyBkZWZpbml0aW9uIG9mIHRoZSBkaWZmZXJlbnQgZXZlbnQgd2hpY2gKK2FjdGl2YXRlcyB0aGUmbmJzcDt3YWtldXAgZnJvbSBTdG9wIG1vZGUgZmxhZzwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGxpbmUtaGVpZ2h0OiAxMDYlOyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TExfIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBsaW5lLWhlaWdodDogMTA2JTsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5VU0FSVF9XQUtFVVBfT05fQUREUkVTUzwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+CiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7O21zby1hbnNpLWxhbmd1YWdlOkZSOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9STkdfR2VuZXJhdGVSYW5kb21OdW1iZXIoKSBBUEk8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMnB0IDBjbSAycHQgMThwdDsgdGV4dC1pbmRlbnQ6IC0xOHB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5MTF9VU0FSVF9XQUtFVVBfT05fU1RBUlRCSVQ8L3NwYW4+PC9wPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij4KIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+VXBkYXRlIHRpbWVvdXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZWNoYW5pc20gdG8gYXZvaWQgZmFsc2UgdGltZW91dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGVjdGlvbiBpbiBjYXNlIG9mIHByZWVtcHRpb24uPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDEgbGZvMTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Cis8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAycHQgMGNtIDJwdCAxOHB0OyB0ZXh0LWluZGVudDogLTE4cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkxMX1VTQVJUX1dBS0VVUF9PTl9SWE5FPC9zcGFuPjwvcD48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij4KIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RlI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIj5IQUwvTEwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90Ozttc28tYW5zaS1sYW5ndWFnZTpGUjttc28tZmFyZWFzdC1sYW5ndWFnZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZSIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMnB0IDBjbSAycHQgMThwdDsgdGV4dC1pbmRlbnQ6IC0xOHB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5BZGQgbmV3IEFQSSBpbiBMTCBkcml2ZXIgdG8gc3VwcG9ydCBzdG9wIG1vZGU8L3NwYW4+PC9wPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+CiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPlVwZGF0ZSBfX0hBTF9SVENfhSg8Yj5IQU5ETEU8L2I+LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCFKSBtYWNyb3MgdG8gYWNjZXNzIHJlZ2lzdGVycwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdWdoICg8Yj5IQU5ETEU8L2I+KS0mZ3Q7SW5zdGFuY2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRlciBhbmQgYXZvaWQgInVudXNlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSIgd2FybmluZ3MuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OzsgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmc9IkVOLVVTIj5Db3JyZWN0IG1vbnRoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZW1lbnQgaW4gSVNfTExfUlRDX01PTlRIKCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8uPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OzsgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmc9IkVOLVVTIj5GaXggd3JvbmcgcmVmZXJlbmNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIFJUQ3guPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwxIGxmbzE7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMnB0IDBjbSAycHQgMThwdDsgdGV4dC1pbmRlbnQ6IC0xOHB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5MTF9VU0FSVF9FbmFibGVJblN0b3BNb2RlKCkgdG8gZW5hYmxlIHRoZSBVU0FSVCBpbiBzdG9wIG1vZGU8L3NwYW4+PC9wPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij4KIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RlI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIj5IQUwgTFBUSU08L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7O21zby1hbnNpLWxhbmd1YWdlOkZSO21zby1mYXJlYXN0LWxhbmd1YWdlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Cis8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAycHQgMGNtIDJwdCAxOHB0OyB0ZXh0LWluZGVudDogLTE4cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkxMX1VTQVJUX0Rpc2FibGVJblN0b3BNb2RlKCkgdG8gZGlzYWJsZSB0aGUgVVNBUlQgaW4gc3RvcCBtb2RlPC9zcGFuPjwvcD48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+CiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPkFkZCBjaGVjayBvbiBQUklNQVNLCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyIHRvIHByZXZlbnQgZnJvbSBlbmFibGluZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bndhbnRlZCBnbG9iYWwgaW50ZXJydXB0cyB3aXRoaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTFBUSU1fRGlzYWJsZSgpIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMTF9MUFRJTV9EaXNhYmxlKCk8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDEgbGZvMTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Cis8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAycHQgMGNtIDJwdCAxOHB0OyB0ZXh0LWluZGVudDogLTE4cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkxMX1VTQVJUX0lzRW5hYmxlZEluU3RvcE1vZGUoKSB0byBjaGVjayBpZiB0aGUgVVNBUlQgaXMgZW5hYmxlZCBvciBub3QKK2luIHRoZSBzdG9wIG1vZGU8L3NwYW4+PC9wPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij4KIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RlI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIj5IQUwvTEwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90Ozttc28tYW5zaS1sYW5ndWFnZTpGUjttc28tZmFyZWFzdC1sYW5ndWFnZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZSIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMnB0IDBjbSAycHQgMThwdDsgdGV4dC1pbmRlbnQ6IC0xOHB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5MTF9VU0FSVF9FbmFibGVDbG9ja0luU3RvcE1vZGUoKSB0byBlbmFibGUgdGhlIFVTQVJUIGNsb2NrIGluIHRoZSBzdG9wCittb2RlPC9zcGFuPjwvcD48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+CiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfVElNRXhfQ29uZmlnQnJlYWtJbnB1dCB0byB1c2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ01TSVMgVElNMV9PUjJfQktERjFCSzBFX1BvcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbml0aW9uIGluc3RlYWQgb2YgaXRzIGhhcmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29kZWQgdmFsdWUuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMnB0IDBjbSAycHQgMThwdDsgdGV4dC1pbmRlbnQ6IC0xOHB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5MTF9VU0FSVF9EaXNhYmxlQ2xvY2tJblN0b3BNb2RlKCkgdG8gZGlzYWJsZSB0aGUgVVNBUlQgY2xvY2sgaW4gdGhlIHN0b3AKK21vZGU8L3NwYW4+PC9wPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAycHQgMGNtIDJwdCAxOHB0OyB0ZXh0LWluZGVudDogLTE4cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkxMX1VTQVJUX0lzQ2xvY2tFbmFibGVkSW5TdG9wTW9kZSgpIHRvIGNoZWNrIHdoZXRoZXIgVVNBUlQgY2xvY2sgYXJlCitlbmFibGVkIG9yIG5vdCBpbiB0aGUgc3RvcCBtb2RlPC9zcGFuPjwvcD48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij4KIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+Rml4IHdyb25nIGNvbXBpbGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIHVzZWQgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0xMX0VDX0RNQUJVUlNUX0JBU0VBRERSCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0YW50IGRlZmluaXRpb25zLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMSBsZm8xO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKzxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDJwdCAwY20gMnB0IDE4cHQ7IHRleHQtaW5kZW50OiAtMThwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+QWRkIG5ldyBBUEkgaW4gTEwgZHJpdmVyIHRvIG1hbmFnZSBldmVudCByZWxpc3RlZCB0byBXYWtlIFVQIEludGVycnVwdAorRmxhZzwvc3Bhbj48L3A+PC9saT48L3VsPjx1bD48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij4KIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RlI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIj5IQUwgVUFSVDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDs7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RlI7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGUiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+Rml4IGVycm9uZW91cyBVQVJUknMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlIHN0YXRlIGluIGNhc2Ugb2YgZXJyb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuZWQgYWZ0ZXIgRE1BIHJlY2VwdGlvbiBzdGFydAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoaW4gVUFSVF9TdGFydF9SZWNlaXZlX0RNQSgpLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+Q29ycmVjdGlvbiBvbiBVQVJUCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlY2VwdGlvblR5cGUgbWFuYWdlbWVudCBpbiBjYXNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIFJlY2VwdGlvblRvSWRsZSBBUEkgYXJlIGNhbGxlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIFJ4RXZlbnQgY2FsbGJhY2suPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMnB0IDBjbSAycHQgMThwdDsgdGV4dC1pbmRlbnQ6IC0xOHB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5MTF9VU0FSVF9TZXRXS1VQVHlwZSgpIHRvIHNlbGVjdCB0aGUgZXZlbnQgdHlwZSBmb3IgV2FrZSBVUCBJbnRlcnJ1cHQKK0ZsYWc8L3NwYW4+PC9wPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij4KIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+SGFuZGxpbmcgb2YgVUFSVAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25jdXJyZW50IHJlZ2lzdGVyIGFjY2VzcyBpbiBjYXNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIHJhY2UgY29uZGl0aW9uIGJldHdlZW4gVHggYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJ4IHRyYW5zZmVycyAoSEFMIFVBUlQgYW5kIExMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExQVUFSVCk8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Cis8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAycHQgMGNtIDJwdCAxOHB0OyB0ZXh0LWluZGVudDogLTE4cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkxMX1VTQVJUX0dldFdLVVBUeXBlKCkgdG8gZ2V0Jm5ic3A7IHRoZSBldmVudCB0eXBlIGZvciBXYWtlIFVQIEludGVycnVwdAorRmxhZzwvc3Bhbj48L3A+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPgogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OzsgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmc9IkVOLVVTIj5JbXByb3ZlIGhlYWRlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiBvZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQVJUX1dhaXRPbkZsYWdVbnRpbFRpbWVvdXQoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKzxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDJwdCAwY20gMnB0IDE4cHQ7IHRleHQtaW5kZW50OiAtMThwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+TExfVVNBUlRfSXNBY3RpdmVGbGFnX1dLVVAoKSB0byBDaGVjayBpZiB0aGUgVVNBUlQgV2FrZSBVcCBmcm9tIHN0b3AKK21vZGUgRmxhZyBpcyBzZXQgb3Igbm90PC9zcGFuPjwvcD48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+CiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPkFkZCBhIGNoZWNrIG9uIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQVJUIHBhcml0eSBiZWZvcmUgZW5hYmxpbmcgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcml0eSBlcnJvciBpbnRlcnJ1cHRpb24uPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMnB0IDBjbSAycHQgMThwdDsgdGV4dC1pbmRlbnQ6IC0xOHB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5MTF9VU0FSVF9Jc0FjdGl2ZUZsYWdfUkVBQ0soKSB0byBDaGVjayBpZiB0aGUgVVNBUlQgUmVjZWl2ZSBFbmFibGUKK0Fja25vd2xlZGdlIEZsYWcgaXMgc2V0IG9yIG5vdDwvc3Bhbj48L3A+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDJwdCAwY20gMnB0IDE4cHQ7IHRleHQtaW5kZW50OiAtMThwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+TExfVVNBUlRfQ2xlYXJGbGFnX1dLVVAoKSBDbGVhciBXYWtlIFVwIGZyb20gc3RvcCBtb2RlIEZsYWc8L3NwYW4+PC9wPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPgogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OzsgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmc9IkVOLVVTIj5BZGQgY29uc3QgcXVhbGlmaWVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciByZWFkIG9ubHkgcG9pbnRlcnMuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogMnB0IDBjbSAycHQgMThwdDsgdGV4dC1pbmRlbnQ6IC0xOHB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5BZGQgbmV3IEFQSSBpbiBMTCBkcml2ZXIgdG8gbWFuYWdlIHdha2UgdXAgZnJvbSBzdG9wIGludGVycnVwdGlvbjwvc3Bhbj48L3A+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij4KIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+Rml4IHdyb25nIGNhc3Qgd2hlbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wdXRpbmcgdGhlIFVTQVJURElWIHZhbHVlIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVBUlRfU2V0Q29uZmlnKCkuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwxIGxmbzE7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90Ozttc28tYW5zaS1sYW5ndWFnZTpGUjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiPkhBTC9MTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDs7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RlI7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGUiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+SW1wcm92ZSBoZWFkZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfV2FpdE9uRmxhZ1VudGlsVGltZW91dCgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKzxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDJwdCAwY20gMnB0IDE4cHQ7IHRleHQtaW5kZW50OiAtMThwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+TExfVVNBUlRfRW5hYmxlSVRfV0tVUCgpIHRvIEVuYWJsZSBXYWtlIFVwIGZyb20gU3RvcCBNb2RlIEludGVycnVwdDwvc3Bhbj48L3A+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPgogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OzsgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmc9IkVOLVVTIj5BZGQgYSBjaGVjayBvbiB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlQgcGFyaXR5IGJlZm9yZSBlbmFibGluZyB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyaXR5IGVycm9yIGludGVycnVwdC48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Cis8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiAycHQgMGNtIDJwdCAxOHB0OyB0ZXh0LWluZGVudDogLTE4cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkxMX1VTQVJUX0Rpc2FibGVJVF9XS1VQKCkgdG8gRGlzYWJsZSBXYWtlIFVwIGZyb20gU3RvcCBNb2RlIEludGVycnVwdDwvc3Bhbj48L3A+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDJwdCAwY20gMnB0IDE4cHQ7IHRleHQtaW5kZW50OiAtMThwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+TExfVVNBUlRfSXNFbmFibGVkSVRfV0tVUCgpIHRvIENoZWNrIGlmIHRoZSBVU0FSVCBXYWtlIFVwIGZyb20gU3RvcCBNb2RlCitJbnRlcnJ1cHQgaXMgZW5hYmxlZCBvciBub3Q8L3NwYW4+PC9wPjwvbGk+PC91bD48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFML0xMIFVTQiA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDtBZGQgaGFuZGxpbmcgVVNCIGhvc3QgYmFiYmxlIGVycm9yIGludGVycnVwdDwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7Rml4IEVuYWJsaW5nIFVMUEkgaW50ZXJmYWNlIGZvciBwbGF0Zm9ybXMgdGhhdCBpbnRlZ3JhdGVzIFVTQiBIUyBQSFk8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwO0ZpeCBIb3N0IGRhdGEgdG9nZ2xpbmcgZm9yIElOIElzbyB0cmFuc2ZlcnM8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwO0Vuc3VyZSB0byBkaXNhYmxlIFVTQiBFUCBkdXJpbmcgZW5kcG9pbnQgZGVhY3RpdmF0aW9uPC9zcGFuPjwvbGk+PC91bD48L3VsPgorPGIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGZvbnQtc2l6ZTogMTZweDsgZm9udC1zdHlsZTogbm9ybWFsOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBvcnBoYW5zOiAyOyB0ZXh0LWFsaWduOiBsZWZ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd2lkb3dzOiAyOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij48L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7IHdpZHRoOiAyNDFweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbDsgY29sb3I6IHdoaXRlOyI+VjEuMi43LyAwOC1GZWJydWFyeS0yMDE5PC9zcGFuPjwvaDM+CisgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwY20gNC41cHQgMThwdDsiPjxiPjx1PjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48L3A+CisgICAgICAgICAgICA8dWwgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IHRleHQtdHJhbnNmb3JtOiBub25lOyB0ZXh0LWluZGVudDogMHB4OyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBtYXJnaW4tdG9wOiAwY207IG1hcmdpbi1ib3R0b206IDBpbjsgd29yZC1zcGFjaW5nOiAwcHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7IiB0eXBlPSJzcXVhcmUiPgorPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5HZW5lcmFsIHVwZGF0ZXMgIHRvIGZpeCBrbm93biBkZWZlY3RzIGFuZCBlbmhhbmNlbWVudHMgaW1wbGVtZW50YXRpb248L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5HZW5lcmFsIHVwZGF0ZXMgIHRvIGZpeCBDb2RlU29uYXIgY29tcGlsYXRpb24gd2FybmluZ3M8L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5HZW5lcmFsIHVwZGF0ZXMgIHRvIGZpeCBTVzRTVE0zMiBjb21waWxhdGlvbiBlcnJvcnMgdW5kZXIgTGludXg8L3NwYW4+PC9saT4KIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+QWRkIGNvbnN0IHF1YWxpZmllcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgcmVhZCBvbmx5IHBvaW50ZXJzLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5HZW5lcmFsIHVwZGF0ZXMgdG8gZml4IHRoZSB1c2VyIG1hbnVhbCAuY2htIGZpbGVzPC9zcGFuPjwvbGk+Cis8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCBzdXBwb3J0IG9mIEhBTCBjYWxsYmFjayByZWdpc3RyYXRpb24gZmVhdHVyZTwvc3Bhbj48L2xpPgorICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgIDxiPjx1PjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PC91PjwvYj4gICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICA8dWwgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IHRleHQtdHJhbnNmb3JtOiBub25lOyB0ZXh0LWluZGVudDogMHB4OyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBtYXJnaW4tdG9wOiAwY207IG1hcmdpbi1ib3R0b206IDBpbjsgd29yZC1zcGFjaW5nOiAwcHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7IiB0eXBlPSJzcXVhcmUiPgorPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBmb250LXNpemU6IDEycHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+QWRkIG5ldzxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIEVYVEk8L3NwYW4+PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+IDwvc3Bhbj5kcml2ZXI8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5UaGUgZm9sbG93aW5nIGNoYW5nZXMgZG9uZSBvbiB0aGUgSEFMIGRyaXZlcnMgcmVxdWlyZSBhbiB1cGRhdGUgb24gdGhlIGFwcGxpY2F0aW9uIGNvZGUgYmFzZWQgb24gb2xkZXIgSEFMIHZlcnNpb25zPC9zcGFuPjwvc3Bhbj48L2xpPjx1bD4KKyAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij5SZXdvcmsgb2YgSEFMIENSWVAgZHJpdmVyPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+IChjb21wYXRpYmlsaXR5IGJyZWFrKSA8L3NwYW4+PC9zcGFuPjxicj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgIDx1bD4KKzxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkhBTCBDUllQIGRyaXZlciBoYXMgYmVlbiByZWRlc2lnbmVkIHdpdGggbmV3IEFQSSc8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij5zLCB0byBieXBhc3MgbGltaXRhdGlvbnMgb24gZGF0YSBFbmNyeXB0aW9uL0RlY3J5cHRpb24gbWFuYWdlbWVudCBwcmVzZW50IHdpdGggcHJldmlvdXMgSEFMIENSWVAgZHJpdmVyIHZlcnNpb24uPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgY29sb3I6IGJsYWNrOyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBmb250LXNpemU6IDEycHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPlRoZQorbmV3IEhBTCBDUllQIGRyaXZlciBpcyB0aGUgcmVjb21tZW5kZWQgdmVyc2lvbi4gSXQgaXMgbG9jYXRlZCBhcyB1c3VhbAoraW4gRHJpdmVycy9TVE0zMkY3eHhfSEFMX0RyaXZlci9TcmMgYW5kCitEcml2ZXJzL1NUTTMyZjd4eF9IQUxfRHJpdmVyL0luYyBmb2xkZXJzLiBJdCBjYW4gYmUgZW5hYmxlZCB0aHJvdWdoCitzd2l0Y2ggSEFMX0NSWVBfTU9EVUxFX0VOQUJMRUQgaW4gc3RtMzJmN3h4X2hhbF9jb25mLmg8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBjb2xvcjogYmxhY2s7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+VGhlIGxlZ2FjeSBIQUwgQ1JZUCBkcml2ZXIgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICA8L3VsPgorPC91bD4KKyAgICAgICAgICAgIDwvdWw+CisgICAgICAgICAgICA8dWwgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IHRleHQtdHJhbnNmb3JtOiBub25lOyB0ZXh0LWluZGVudDogMHB4OyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBtYXJnaW4tdG9wOiAwY207IG1hcmdpbi1ib3R0b206IDBpbjsgd29yZC1zcGFjaW5nOiAwcHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7IiB0eXBlPSJzcXVhcmUiPgorPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwvTEwgR2VuZXJpYyA8L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+QWRkIHN1cHBvcnQgb2YgPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIGNhbGxiYWNrIHJlZ2lzdHJhdGlvbjwvc3Bhbj4gZmVhdHVyZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPlRoZSBmZWF0dXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQgaXMgYXZhaWxhYmxlIGZvciB0aGUgZm9sbG93aW5nIEhBTCBkcml2ZXJzOjwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5BREMsIENBTiwgQ0VDLCBDUllQLCBEQUMsIERDTUksIERGU0RNLCBETUEyRCwgRFNJLCBFVEgsIEhBU0gsIEhDRCwgSTJDLCBTTUJVUywgVUFSVCwKK1VTQVJULCBJUkRBLCBKUEVHLCBTTUFSVENBUkQsIExQVElNLCBMVERDLCBNRElPUywgTU1DLCBOQU5ELCBOT1IsIFBDRCwKK1FTUEksIFJORywgUlRDLCBTQUksIFNELCBTRFJBTSwgU1JBTSwgU1BESUZSWCwgU1BJLCBJMlMsIFRJTSA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPmFuZDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyBmb250LXdlaWdodDogYm9sZDsiPiBXV0RHPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7IGZvbnQtd2VpZ2h0OiBib2xkOyI+PGJyPjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5UaGUgZmVhdHVyZSBtYXkgYmUgZW5hYmxlZCBpbmRpdmlkdWFsbHkgcGVyIEhBTCA8c3BhbiBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyI+UFBQPC9zcGFuPiBkcml2ZXIgYnkgc2V0dGluZyB0aGUgY29ycmVzcG9uZGluZyBkZWZpbml0aW9uIFVTRV9IQUxfPHNwYW4gc3R5bGU9ImZvbnQtc3R5bGU6IGl0YWxpYzsiPlBQUDwvc3Bhbj5fUkVHSVNURVJfQ0FMTEJBQ0tTCit0byZuYnNwOzFVIGluIHN0bTMyZjd4eF9oYWxfY29uZi5oIHByb2plY3QgY29uZmlndXJhdGlvbiBmaWxlICh0ZW1wbGF0ZQorZmlsZSBzdG0zMmY3eHhfaGFsX2NvbmZfdGVtcGxhdGUuaCBhdmFpbGFibGUgZnJvbSZuYnNwOworRHJpdmVycy9TVE0zMkY3eHhfSEFMX0RyaXZlci9JbmMpPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5PbmNlCitlbmFibGVkICwgdGhlIHVzZXIgYXBwbGljYXRpb24gbWF5IHJlc29ydCB0byBIQUxfUFBQX1JlZ2lzdGVyQ2FsbGJhY2soKQordG8gcmVnaXN0ZXIgc3BlY2lmaWMgY2FsbGJhY2sgZnVuY3Rpb24ocykgYW5kIHVucmVnaXN0ZXIgaXQodGhlbSkgd2l0aAorSEFMXzxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij5QUFA8L3NwYW4+X1VuUmVnaXN0ZXJDYWxsYmFjaygpLjwvc3Bhbj48L2xpPjwvdWw+CisgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5HZW5lcmFsIHVwZGF0ZXMgIHRvIGZpeCBNSVNSQSAyMDEyIGNvbXBpbGF0aW9uIGVycm9yczwvc3Bhbj48YnI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgIDx1bD4KKzxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0lTX0JJVF9TRVQoKS9IQUxfSVNfQklUX0NMUigpIG1hY3JvcyBpbXBsZW1lbnRhdGlvbiB1cGRhdGU8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPiJzdGRpby5oIiBpbmNsdWRlIHVwZGF0ZWQgd2l0aCAic3RkZGVmLmgiPC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgPC91bD4KIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+SGFuZGxpbmcgb2YgVUFSVAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25jdXJyZW50IHJlZ2lzdGVyIGFjY2VzcyBpbiBjYXNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIHJhY2UgY29uZGl0aW9uIGJldHdlZW4gVHggYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJ4IHRyYW5zZmVycyAoSEFMIFVBUlQgYW5kIExMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExQVUFSVCk8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7CisgICAgICAgICAgICAgICAgCis8L3VsPgorICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBHUElPPC9zcGFuPiBVcGRhdGU8L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgPHVsPgorPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfR1BJT19Ub2dnbGVQaW4oKSBBUEkgaW1wbGVtZW50YXRpb24gdXBkYXRlOiB0byBpbXByb3ZlIHJvYnVzdG5lc3M8YnI+Cis8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9HUElPX0RlSW5pdCgpIEFQSSB1cGRhdGUgdG8gZW5zdXJlIGNsZWFyIGFsbCBHUElPIEVYVEkgcGVuZGluZyBpbnRlcnJ1cHRzLjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICA8L3VsPgogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OzsgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmc9IkVOLVVTIj5GaXggY29tcGlsYXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ3MgZ2VuZXJhdGVkIHdpdGggQVJNVjYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsZXIuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwxIGxmbzE7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90Ozttc28tYW5zaS1sYW5ndWFnZTpGUjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiPkhBTCBJUkRBPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90Ozttc28tYW5zaS1sYW5ndWFnZTpGUjttc28tZmFyZWFzdC1sYW5ndWFnZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZSIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworICAgICAgICAgICAgPC91bD4KIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+SW1wcm92ZSBoZWFkZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJEQV9XYWl0T25GbGFnVW50aWxUaW1lb3V0KCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7CisgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi1ib3R0b206IDBpbjsgY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OzsgZm9udC1zaXplOiBtZWRpdW07IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IG9ycGhhbnM6IDI7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd2lkb3dzOiAyOyB3b3JkLXNwYWNpbmc6IDBweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgbWFyZ2luLXRvcDogMGNtOyIgdHlwZT0ic3F1YXJlIj48L3VsPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyBjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7OyBmb250LXNpemU6IG1lZGl1bTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgb3JwaGFuczogMjsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3aWRvd3M6IDI7IHdvcmQtc3BhY2luZzogMHB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBtYXJnaW4tdG9wOiAwY207IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBDUllQPC9zcGFuPiB1cGRhdGU8L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgPHVsPgorPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5UaGUgQ1JZUF9Jbml0VHlwZURlZiA8L3NwYW4+aXMgbm8gbW9yZSBzdXBwb3J0ZWQsIGNoYW5nZWQgYnkgPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+Q1JZUF9Db25maWdUeXBlZGVmPC9zcGFuPiB0byBhbGxvdyBjaGFuZ2luZyBwYXJhbWV0ZXJzIDxicj4KK3VzaW5nIEhBTF9DUllQX3NldENvbmZpZygpIEFQSSB3aXRob3V0IHJlaW5pdGlhbGl6ZSB0aGUgQ1JZUCBJUCB1c2luZyB0aGUgSEFMX0NSWVBfSW5pdCgpIEFQSTwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+TmV3IHBhcmFtZXRlcnMgYWRkZWQgaW4gdGhlIDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkNSWVBfQ29uZmlnVHlwZURlZjwvc3Bhbj4gc3RydWN0dXJlOiA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5CMDwvc3Bhbj4gYW5kIDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkRhdGFXaWR0aFVuaXQ8L3NwYW4+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5JbnB1dCBkYXRhIHNpemUgcGFyYW1ldGVyIGlzIGFkZGVkIGluIHRoZSA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5DUllQX0hhbmRsZVR5cGVEZWY8L3NwYW4+IHN0cnVjdHVyZTxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPjwvc3Bhbj48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCBuZXcgQVBJcyB0byBtYW5hZ2UgdGhlIENSWVAgY29uZmlndXJhdGlvbjo8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij4mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9DUllQX1NldENvbmZpZygpPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfQ1JZUF9HZXRDb25maWcoKTwvc3Bhbj48L2xpPjwvdWw+CisgICAgICAgICAgICAgIDwvdWw+CisgICAgICAgICAgICAgIDx1bD4KKzxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+QWRkIG5ldyBBUElzIHRvIG1hbmFnZSB0aGUgS2V5IGRlcml2YXRpb246PC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0NSWVBFeF9FbmFibGVBdXRvS2V5RGVyaXZhdGlvbigpPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfQ1JZUEV4X0Rpc2FibGVBdXRvS2V5RGVyaXZhdGlvbigpPC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCBuZXcgQVBJcyB0byBlbmNyeXB0IGFuZCBkZWNyeXB0IGRhdGE6PC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0NSWVBfRW5jeXB0KCk8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9DUllQX0RlY3lwdCgpPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfQ1JZUF9FbmN5cHRfSVQoKTwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0NSWVBfRGVjeXB0X0lUKCk8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9DUllQX0VuY3lwdF9ETUEoKTwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0NSWVBfRGVjeXB0X0RNQSgpPC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCBuZXcgQVBJcyB0byBnZW5lcmF0ZSBUQUc6PC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0NSWVBFeF9BRVM8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5HQ008L3NwYW4+X0dlbmVyYXRlQXV0aFRBRygpPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfQ1JZUEV4X0FFUzxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkNDTTwvc3Bhbj5fR2VuZXJhdGVBdXRoVEFHKCk8L3NwYW4+PC9saT48L3VsPgorICAgICAgICAgICAgICA8L3VsPgorICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBJMkM8L3NwYW4+IHVwZGF0ZTwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICA8dWw+Cis8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij5JMkMgQVBJIGNoYW5nZXMgZm9yIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPk1JU1JBLUMgMjAxMiBjb21wbGlhbmN5Ojwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPlJlbmFtZTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPiBIQUxfSTJDX01hc3Rlcl9TZXF1ZW50aWFsX1RyYW5zbWl0X0lUKCkgdG8gPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0kyQ19NYXN0ZXJfU2VxX1RyYW5zbWl0X0lUKCk8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPlJlbmFtZSA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfSTJDX01hc3Rlcl9TZXF1ZW50aWVsX1JlY2VpdmVfSVQoKSB0byA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfSTJDX01hc3Rlcl9TZXFfUmVjZWl2ZV9JVCgpPC9zcGFuPjxicj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+UmVuYW1lIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9JMkNfU2xhdmVfU2VxdWVudGllbF9UcmFuc21pdF9JVCgpIHRvIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9JMkNfU2xhdmVfU2VxX1RyYW5zbWl0X0lUKCkgPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5SZW5hbWUgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0kyQ19TbGF2ZV9TZXF1ZW50aWVsX1JlY2VpdmVfRE1BKCkgdG8gPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0kyQ19TbGF2ZV9TZXFfUmVjZWl2ZV9ETUEoKTwvc3Bhbj48L2xpPjwvdWw+PGxpPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+QWRkIHN1cHBvcnQgb2YgSTJDIHJlcGVhdGVkIHN0YXJ0IGZlYXR1cmUgaW4gRE1BIE1vZGU6PC9zcGFuPjwvbGk+PHVsPjxsaT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPldpdGggdGhlIGZvbGxvd2luZyBuZXcgQVBJJ3M8YnI+PC9zcGFuPjwvbGk+PC91bD48dWw+PHVsPjxsaT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkhBTF9JMkNfTWFzdGVyX1NlcV9UcmFuc21pdF9ETUEoKTwvc3Bhbj48L2xpPjwvdWw+PHVsPjxsaT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPiBIQUxfSTJDX01hc3Rlcl9TZXFfUmVjZWl2ZV9ETUEoKTwvc3Bhbj48L2xpPjwvdWw+PHVsPjxsaT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkhBTF9JMkNfU2xhdmVfU2VxX1RyYW5zbWl0X0RNQSgpPC9zcGFuPjwvbGk+PC91bD48dWw+PGxpPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+SEFMX0kyQ19TbGF2ZV9TZXFfUmVjZWl2ZV9ETUEoKTwvc3Bhbj48L2xpPjwvdWw+PC91bD48bGk+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5BZGQgbmV3IEkyQyB0cmFuc2ZlciBvcHRpb25zIHRvIGVhc3kgbWFuYWdlIHRoZSBzZXF1ZW50aWFsIHRyYW5zZmVyczxicj48L3NwYW4+PC9saT48dWw+PGxpPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+STJDX09USEVSX0ZSQU1FPC9zcGFuPjwvbGk+PGxpPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+STJDX09USEVSX0FORF9MQVNUX0ZSQU1FPC9zcGFuPjwvbGk+PC91bD4KKyAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5MTCZuYnNwOyBSQ0MgPC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICA8dWw+CisgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgTExfUkNDX0dldFNBSUNsb2NrRnJlcSgpIEFQSSB0byByZXR1cm4gdGhlIHJpZ2h0IGZyZXF1ZW5jeSBhY2NvcmRpbmcgdG8gdGhlIFNBSSBjbG9jayBzb3VyY2U8L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgUk5HIDwvc3Bhbj51cGRhdGU8L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgPHVsPgorPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgdG8gbWFuYWdlIFJORyBlcnJvciBjb2RlOiA8L3NwYW4+PGJyPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgRXJyb3JDb2RlIHBhcmFtZXRlciBpbiBIQUwgUk5HIEhhbmRsZXIgc3RydWN0dXJlPC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCBIQUxfUk5HX0dldEVycm9yKCkgQVBJPGJyPgorPC9zcGFuPjwvbGk+Cis8L3VsPgorICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+SEFMIExvY2svVW5sb2NrIG1lY2FuaXNtIHVwZGF0ZSAgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5MTCBBREMgPC9zcGFuPnVwZGF0ZTxicj4KKyAgICAgICAgICAgICAgICA8L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgPHVsPgorPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5GaXggPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPlZSRUZJTlQvVEVNUFNFTlNPUiA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPmNhbGlicmF0aW9uIGFkZHJlc3MgcmVnaXN0ZXJzIGZvciBTVE0zMkY3NHgvNzV4L0Y3Ni9GNzcgZGV2aWNlczwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgIDx1bD4KKyAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+Tm90ZTwvc3Bhbj46IEZvciBTVE0zMkY3Mi9GNzMgdGhlIGlzc3VlIHdpbGwgYmUgZml4ZWQgaW4gbmV4dCByZWxlYXNlPGJyPgorPC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgPC91bD4KKzxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0FEQ19TdGFydCgpLCA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9BRENfU3RhcnRfSVQoKSBhbmQgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfQURDX1N0YXJ0X0RNQSgpIHVwZGF0ZSB0byBwcmV2ZW50aW9uIGZyb20gc3RhcnRpbmcgQURDMiBvciBBREMzIG9uY2UgbXVsdGltb2RlIGlzIGVuYWJsZWQ8L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgREZTRE0mbmJzcDsgPC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICA8dWw+Cis8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkdlbmVyYWwgdXBkYXRlcyB0byBiZSBjb21wbGlhbnQgd2l0aCBERlNETSBiaXRzIG5hbWluZyB1c2VkIGluIENNU0lTIGZpbGVzLjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICA8L3VsPgorICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBDQU4mbmJzcDsgPC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICA8dWw+CisgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgcG9zc2libGUgdmFsdWVzIGxpc3QgZm9yIEZpbHRlckFjdGl2YXRpb24gcGFyYW1ldGVyIGluIENBTl9GaWx0ZXJUeXBlRGVmIHN0cnVjdHVyZTwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgIDx1bD4KKzxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+Q0FOX0ZJTFRFUl9FTkFCTEUgaW5zdGVhZCBvZiBFTkFCTEU8YnI+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5DQU5fRklMVEVSX0RJU0FCTEU8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPiBpbnN0ZWFkIG9mIERJU0FCTEU8L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICA8L3VsPgorICAgICAgICAgICAgICA8L3VsPgorICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBDRUMmbmJzcDsgPC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICA8dWw+Cis8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSBIQUwgQ0VDIFN0YXRlIG1hbmFnZW1lbnQgbWV0aG9kOjwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPlJlbW92ZSBIQUxfQ0VDX1N0YXRlVHlwZURlZiBzdHJ1Y3R1cmUgcGFyYW1ldGVyczwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+QWRkIG5ldyBkZWZpbmVzIGZvciBDRUMgc3RhdGVzPC9zcGFuPjwvbGk+PC91bD4KKyAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgRE1BMkQmbmJzcDsgPC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICA8dWw+Cis8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPlJlbW92ZSB1bnVzZWQgRE1BMkRfQ29sb3JUeXBlRGVmIHN0cnVjdHVyZSB0byBiZSBjb21wbGlhbnQgd2l0aCBNSVNSQUMgMjAxMiBSdWxlIDIuMzwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+R2VuZXJhbCA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZSB0byB1c2UgZGVkaWNhdGVkIGRlZmluZXMgZm9yIERNQTJEX0JBQ0tHUk9VTkRfTEFZRVIgYW5kIERNQTJEX0ZPUkVHUk9VTkRfTEFZRVIgaW5zdGVhZCBvZiBudW1lcmljYWwgdmFsdWVzOiAwLzEuPC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgIDwvdWw+Cis8dWw+PC91bD4KKyAgICAgICAgICAgIDwvdWw+CisgICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+PC9zcGFuPgorICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwaW47IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDs7IGZvbnQtc2l6ZTogbWVkaXVtOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBvcnBoYW5zOiAyOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdpZG93czogMjsgd29yZC1zcGFjaW5nOiAwcHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IG1hcmdpbi10b3A6IDBjbTsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgIDx1bD4KKyAgICAgICAgICAgICAgPC91bD48L3VsPgorICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjwvc3Bhbj4KKyAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyBjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7OyBmb250LXNpemU6IG1lZGl1bTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgb3JwaGFuczogMjsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3aWRvd3M6IDI7IHdvcmQtc3BhY2luZzogMHB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBtYXJnaW4tdG9wOiAwY207IiB0eXBlPSJzcXVhcmUiPjwvdWw+CisgICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+CisgICAgICAgICAgICA8dWwgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IHRleHQtdHJhbnNmb3JtOiBub25lOyB0ZXh0LWluZGVudDogMHB4OyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBtYXJnaW4tdG9wOiAwY207IG1hcmdpbi1ib3R0b206IDBpbjsgd29yZC1zcGFjaW5nOiAwcHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7IiB0eXBlPSJzcXVhcmUiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFML0xMIFJUQzwvc3Bhbj4gdXBkYXRlPC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgIDx1bD4KKyAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTC8gTEwgZHJpdmVycyBvcHRpbWl6YXRpb248L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICA8dWw+CisgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTCBkcml2ZXI6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzPC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkxMIGRyaXZlcjogZ2V0dGVyIEFQSXMgb3B0aW1pemF0aW9uPC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgSlBFRyA8L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgIDx1bD4KKyAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSBwYXJhbWV0ZXJzIHR5cGUgaW4gSlBFR19Db25mVHlwZURlZiBzdHJ1Y3R1cmUgdG8gYmUgYWxpZ25lZCB3aXRoIDMyLWJpdHM8YnI+CisgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgPC91bD4KIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+QWRkIGEgY2hlY2sgb24gdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSREEgcGFyaXR5IGJlZm9yZSBlbmFibGluZyB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyaXR5IGVycm9yIGludGVycnVwdC48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7CisgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIFNQSSA8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyI+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc3R5bGU6IGl0YWxpYzsiPiA8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj51cGRhdGU8L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgPHVsPgorICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+T3ZlcmFsbCByZXdvcmsgb2YgdGhlIGRyaXZlciBmb3IgYSBtb3JlIGVmZmljaWVudCZuYnNwO2ltcGxlbWVudGF0aW9uPC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgIDwvdWw+CisgICAgICAgICAgICAgIDx1bD4KKyAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCB0aGUgZm9sbG93aW5nIG5ldyBtYWNyb3M6PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICA8dWw+CisgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+U1BJPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5fQ0hFQ0tfRkxBRygpIDxicj4KKzwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPlNQSTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+X0NIRUNLX0lUX1NPVVJDRSgpIDxicj4KKzwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgIDwvdWw+CisgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+QWRkIEhBTF9TUElFeF9GbHVzaFJ4RmlmbygpIEFQSSB0byBmbHVzaCB0aGUgU1BJIEZJRk8gUlguPGJyPgorICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIEhBTF9TUElfQWJvcnQoKSB0byBmaXggYWJvcnQgaXNzdWUgaW4gU1BJIFRYIG9yIFJ4IG1vZGUgb25seSA8L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+SEFMXzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+U1BJPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+X1RyYW5zbWl0KCkvPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+SEFMX1NQSTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPl88L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij5SZWNlaXZlKCk8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij4gQVBJJ3MgdG8gZml4IG1lbW9yeSBvdmVyZmxvdyBpc3N1ZS48L3NwYW4+PC9saT4KIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+QWRkIGNvbnN0IHF1YWxpZmllcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgcmVhZCBvbmx5IHBvaW50ZXJzLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgSTJTIDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyI+IDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPnVwZGF0ZTwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICA8dWw+Cis8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPk92ZXJhbGwgcmV3b3JrIG9mIHRoZSBkcml2ZXIgZm9yIGEgbW9yZSBlZmZpY2llbnQmbmJzcDtpbXBsZW1lbnRhdGlvbjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICA8L3VsPgorICAgICAgICAgICAgICA8dWw+Cis8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCB0aGUgZm9sbG93aW5nIG5ldyBtYWNyb3M6PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkkyUzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+X0NIRUNLX0ZMQUcoKTwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkkyUzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+X0NIRUNLX0lUX1NPVVJDRSgpPC9zcGFuPjwvbGk+Cis8L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5JMlM8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij5fVHJhbnNtaXQoKS88L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5JMlM8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij5fPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+UmVjZWl2ZSgpPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+IEFQSSdzIHRvIGZpeCBtZW1vcnkgb3ZlcmZsb3cgaXNzdWUuPC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgIDwvdWw+CiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPkZpeCB3cm9uZyBjYXN0IHdoZW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcHV0aW5nIHRoZSBVU0FSVERJViB2YWx1ZSBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUkRBX1NldENvbmZpZygpLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMSBsZm8xO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwvTEwgVElNIDwvc3Bhbj51cGRhdGU8L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgPHVsPgorPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5Nb3ZlIHRoZSBmb2xsb3dpbmcgVElNIHN0cnVjdHVyZXMgZnJvbSA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPnN0bTMyZjR4eF9oYWxfdGltX2V4Lmg8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPiBpbnRvIHN0bTMyZjR4eF9oYWxfdGltLmg8YnI+PC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+VElNX01hc3RlckNvbmZpZ1R5cGVEZWY8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPlRJTV9CcmVha0RlYWRUaW1lQ29uZmlnVHlwZURlZjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgbmV3IFRJTSBDYWxsYmFja3MgQVBJJ3M6PC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+SEFMX1RJTV9QZXJpb2RFbGFwc2VkSGFsZkNwbHRDYWxsYmFjaygpPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfVElNX0lDX0NhcHR1cmVIYWxmQ3BsdENhbGxiYWNrKCk8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9USU1fUFdNX1B1bHNlRmluaXNoZWRIYWxmQ3BsdENhbGxiYWNrKCk8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9USU1fVHJpZ2dlckhhbGZDcGx0Q2FsbGJhY2soKTwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+VElNIEFQSSBjaGFuZ2VzIGZvciA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij5NSVNSQS1DIDIwMTIgY29tcGxpYW5jeTo8L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgICAgPHVsPgorPHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+UmVuYW1lPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+IDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9USU1fU2xhdmVDb25maWdTeW5jaHJvbml6YXRpb248L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij4gdG8gSEFMX1RJTV9TbGF2ZUNvbmZpZ1N5bmNocm88L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPlJlbmFtZTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPiA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfVElNX1NsYXZlQ29uZmlnU3luY2hyb25pemF0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+X0lUIHRvIEhBTF9USU1fU2xhdmVDb25maWdTeW5jaHJvX0lUPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+UmVuYW1lIEhBTF9USU1FeF9Db25maWdDb21tdXRhdGlvbkV2ZW50IHRvIEhBTF9USU1FeF9Db25maWdDb21tdXRFdmVudDwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPlJlbmFtZSBIQUxfVElNRXhfQ29uZmlnQ29tbXV0YXRpb25FdmVudF9JVCB0byBIQUxfVElNRXhfQ29uZmlnQ29tbXV0RXZlbnRfSVQ8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij5SZW5hbWUgSEFMX1RJTUV4X0NvbmZpZ0NvbW11dGF0aW9uRXZlbnRfRE1BIHRvIEhBTF9USU1FeF9Db25maWdDb21tdXRFdmVudF9ETUE8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij5SZW5hbWUgSEFMX1RJTUV4X0NvbW11dGF0aW9uQ2FsbGJhY2sgdG8gSEFMX1RJTUV4X0NvbW11dENhbGxiYWNrPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+UmVuYW1lIEhBTF9USU1FeF9ETUFDb21tdXRhdGlvbkNwbHQgdG8gVElNRXhfRE1BQ29tbXV0YXRpb25DcGx0PC9zcGFuPjwvbGk+PC91bD4KKyAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgVUFSVCA8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyI+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc3R5bGU6IGl0YWxpYzsiPiA8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj51cGRhdGU8L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgPHVsPgorPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5PdmVyYWxsIHJld29yayBvZiB0aGUgZHJpdmVyIGZvciBhIG1vcmUgZWZmaWNpZW50Jm5ic3A7aW1wbGVtZW50YXRpb248L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgICAgPHVsPgorPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgdGhlIGZvbGxvd2luZyBVQVJUIEFQSSdzIGluIHN0bTMyZjd4eF9oYWxfdWFydF9leC5jOjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgIDx1bD4KKyAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+Jm5ic3A7SEFMX1JTNDg1RXhfSW5pdCgpPC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9NdWx0aVByb2Nlc3NvckV4X0FkZHJlc3NMZW5ndGhfU2V0KCk8YnI+CisgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgIDwvdWw+CisgICAgICAgICAgICAgIDwvdWw+CisgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFML0xMIFVTQjwvc3Bhbj4gdXBkYXRlPC9zcGFuPjwvbGk+CiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7O21zby1hbnNpLWxhbmd1YWdlOkZSOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNQVJUQ0FSRDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDs7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RlI7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGUiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgPHVsPgorPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5SZXdvcmsgVVNCIGludGVycnVwdCBoYW5kbGVyIGFuZCBpbXByb3ZlIEhTIERNQSBzdXBwb3J0IGluIERldmljZSBtb2RlPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6IDEwcHQ7Ij5GaXggQkNEIGhhbmRsaW5nIGZvciBPVEcgaW5zdGFuY2UgaW4gZGV2aWNlIG1vZGU8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZTogMTBwdDsiPmNsZWFudXAgcmVmZXJlbmNlIHRvIGxvdyBzcGVlZCBpbiBkZXZpY2UgbW9kZTwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+YWxsb3cgd3JpdGluZyBUWCBGSUZPIGluIGNhc2Ugb2YgdHJhbnNmZXIgbGVuZ3RoIGlzIGVxdWFsIHRvIGF2YWlsYWJsZSBzcGFjZSBpbiB0aGUgVFggRklGTzwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+Rml4IFRvZ2dsZSBPVVQgaW50ZXJydXB0IGNoYW5uZWwgaW4gaG9zdCBtb2RlPC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgIDwvdWw+CisgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+TEwgSVdERyA8L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgIDx1bD4KKzxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIExMIGlubGluZSBtYWNyb3MgdG8gdXNlIElXREd4IHBhcmFtZXRlciBpbnN0ZWFkIG9mIElXREcgaW5zdGFuY2UgZGVmaW5lZCBpbiBDTVNJUyBkZXZpY2U8L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgPC91bD4KIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+SW1wcm92ZSBoZWFkZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01BUlRDQVJEX1dhaXRPbkZsYWdVbnRpbFRpbWVvdXQoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKzwvdWw+CisgICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOiAxMHB0OyI+PC9zcGFuPgorPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7IHdpZHRoOiAyNDFweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbDsgY29sb3I6IHdoaXRlOyI+VjEuMi42IC8gMjktSnVuZS0yMDE4PC9zcGFuPjwvaDM+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGNtIDQuNXB0IDE4cHQ7IGZvbnQtc2l6ZTogbWVkaXVtOyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IG9ycGhhbnM6IDI7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd2lkb3dzOiAyOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hOyBjb2xvcjogYmxhY2s7Ij5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48L3A+PHVsIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwaW47IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDs7IGZvbnQtc2l6ZTogbWVkaXVtOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBvcnBoYW5zOiAyOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdpZG93czogMjsgd29yZC1zcGFjaW5nOiAwcHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IG1hcmdpbi10b3A6IDBjbTsiIHR5cGU9InNxdWFyZSI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIHRvIHN1cHBvcnQgU1RNMzJGNzMweHggYW5kIFNUTTMyRjc1MHh4IHZhbHVlIGxpbmVzPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIERNQTxzcGFuPiZuYnNwOzwvc3Bhbj48L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwaW47Ij48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5ETUFfQ0hBTk5FTF84IHRvIERNQV9DSEFOTkVMXzE1IGFyZSBhbHNvIGRlZmluZWQgaW4gY2FzZSBvZiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+U1RNMzJGNzMweHggKDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+c2FtZSZuYnNwO2ZlYXR1cmVzIGFzIFNUTTMyRjczM3h4IGxpbmU8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPik8L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBGTEFTSDxzcGFuPiZuYnNwOzwvc3Bhbj48L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwaW47Ij48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgc3VwcG9ydCBvZjxzcGFuPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPlNUTTMyRjczMHh4IHdpdGggNCBGTGFzaCBzZWN0b3JzIG9mIDE2S0IgZWFjaDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+Ljwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCBzdXBwb3J0IG9mPHNwYW4+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+U1RNMzJGNzUweHggd2l0aCAyIEZMYXNoIHNlY3RvcnMgb2YgMzJLQiBlYWNoPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij4uPC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgR1BJTzxzcGFuPiZuYnNwOzwvc3Bhbj48L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwaW47Ij48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgc3VwcG9ydCBvZiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+U1RNMzJGNzMweHggdmFsdWUgbGluZSA6IHNhbWUmbmJzcDtmZWF0dXJlcyBhcyBTVE0zMkY3MzN4eCBsaW5lPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+QWRkIHN1cHBvcnQgb2YmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPlNUTTMyRjc1MHh4IHZhbHVlIGxpbmUgOiBzYW1lJm5ic3A7ZmVhdHVyZXMgYXMgU1RNMzJGNzU2eHgmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPmxpbmU8L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBSQ0M8c3Bhbj4mbmJzcDs8L3NwYW4+PC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+QWRkIHN1cHBvcnQgb2YmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPlNUTTMyRjczMHh4IHZhbHVlIGxpbmUgOiBzYW1lJm5ic3A7ZmVhdHVyZXMgYXMgU1RNMzJGNzMzeHgmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPmxpbmU8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgc3VwcG9ydCBvZiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+U1RNMzJGNzUweHggdmFsdWUgbGluZSA6IHNhbWUmbmJzcDtmZWF0dXJlcyBhcyBTVE0zMkY3NTZ4eCZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+bGluZTwvc3Bhbj48L2xpPjwvdWw+PC91bD48aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsgd2lkdGg6IDI0MXB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IEFyaWFsOyBjb2xvcjogd2hpdGU7Ij5WMS4yLjUgLyAwMi1GZWJydWFyeS0yMDE4PC9zcGFuPjwvaDM+Cis8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwY20gNC41cHQgMThwdDsiPjxiIHN0eWxlPSIiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hOyBjb2xvcjogYmxhY2s7Ij5NYWluCitDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PC9wPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyBjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbic7IGZvbnQtc2l6ZTogbWVkaXVtOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyBtYXJnaW4tdG9wOiAwY207IiB0eXBlPSJzcXVhcmUiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkdlbmVyYWwgdXBkYXRlcyB0byBmaXgga25vd24gZGVmZWN0cyBhbmQgZW5oYW5jZW1lbnRzIGltcGxlbWVudGF0aW9uPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMJm5ic3A7PC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgbmV3IG1hY3JvIHRvIGdldCB2YXJpYWJsZSBhbGlnbmVkIG9uIDMyLWJ5dGVzLCByZXF1aXJlZCBmb3IgY2FjaGUgbWFpbnRlbmFuY2UgcHVycG9zZTwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSBVTlVTRUQoKSBtYWNybyBpbXBsZW1lbnRhdGlvbiB0byBhdm9pZCBHQ0Mgd2FybmluZzwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5UaGUgd2FybmluZyBpcyBkZXRlY3RlZCB3aGVuIHRoZSBVTlVTRUQoKSBtYWNybyBpcyBjYWxsZWQgZnJvbSBDKysgZmlsZTwvc3Bhbj48L2xpPjwvdWw+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgU0FJIDwvc3Bhbj51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIEhBTF9TQUlfRE1BU3RvcCgpIGFuZCBIQUxfU0FJX0Fib3J0KCkgcHJvY2VzcyB0byBmaXggdGhlIGxvY2svdW5sb2NrIGF1ZGlvIGlzc3VlIDwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIFBXUiA8L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZQorSEFMX1BXUl9FbnRlclNMRUVQTW9kZSgpIGFuZCBIQUxfUFdSX0VudGVyU1RPUE1vZGUoKSBBUElzIHRvIGVuc3VyZQordGhhdCBhbGwgaW5zdHJ1Y3Rpb25zIGZpbmlzaGVkIGJlZm9yZSBlbnRlcmluZyBTVE9QIG1vZGUuIDwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIEhDRCA8L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCBuZXcgY2FsbGJhY2sgdG8gYmUgdXNlZCB0byBoYW5kbGUgdXNiIGRldmljZSBjb25uZWN0aW9uL2Rpc2Nvbm5lY3Rpb248L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0hDRF9Qb3J0RW5hYmxlZF9DYWxsYmFjaygpPC9zcGFuPjwvbGk+PC91bD48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0hDRF9Qb3J0RGlzYWJsZWRfQ2FsbGJhY2soKTwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIHRvIHByZXZlbnQgcmVhY3RpdmF0ZSBob3N0IGludGVycnJ1cHQgY2hhbm5lbDxicj48L3NwYW4+PC9saT48L3VsPjwvdWw+PGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7IHdpZHRoOiAyNDFweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbDsgY29sb3I6IHdoaXRlOyI+VjEuMi40IC8gMjItRGVjZW1iZXItMjAxNzwvc3Bhbj48L2gzPgorPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGNtIDQuNXB0IDE4cHQ7Ij48YiBzdHlsZT0iIj48dT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYTsgY29sb3I6IGJsYWNrOyI+TWFpbgorQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjwvcD48dWwgc3R5bGU9Im1hcmdpbi1ib3R0b206IDBpbjsgY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nOyBmb250LXNpemU6IG1lZGl1bTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgbWFyZ2luLXRvcDogMGNtOyIgdHlwZT0ic3F1YXJlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5HZW5lcmFsIHVwZGF0ZXMgdG8gZml4IGtub3duIGRlZmVjdHMgYW5kIGVuaGFuY2VtZW50cyBpbXBsZW1lbnRhdGlvbjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPlRoZSBmb2xsb3dpbmcgY2hhbmdlcyBkb25lIG9uIHRoZSBIQUwgZHJpdmVycyByZXF1aXJlIGFuIHVwZGF0ZSBvbiB0aGUgYXBwbGljYXRpb24gY29kZSBiYXNlZCBvbiBvbGRlciBIQUwgdmVyc2lvbnM8L3NwYW4+PC9zcGFuPjwvbGk+PHVsIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwaW47Ij48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYTsiPlJld29yayBvZiBIQUwgQ0FOIGRyaXZlciAoY29tcGF0aWJpbGl0eSBicmVhaykmbmJzcDs8L3NwYW4+PC9saT48dWwgc3R5bGU9Im1hcmdpbi1ib3R0b206IDBpbjsiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmE7Ij5BCituZXcgSEFMIENBTiBkcml2ZXIgaGFzIGJlZW4gcmVkZXNpZ25lZCB3aXRoIG5ldyBBUElzLCB0byBieXBhc3MKK2xpbWl0YXRpb25zIG9uIENBTiBUeC9SeCBGSUZPIG1hbmFnZW1lbnQgcHJlc2VudCB3aXRoIHByZXZpb3VzIEhBTCBDQU4KK2RyaXZlciB2ZXJzaW9uLjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmE7Ij5UaGUKK25ldyBIQUwgQ0FOIGRyaXZlciBpcyB0aGUgcmVjb21tZW5kZWQgdmVyc2lvbi4gSXQgaXMgbG9jYXRlZCBhcyB1c3VhbAoraW4gRHJpdmVycy9TVE0zMkY3eHhfSEFMX0RyaXZlci9TcmMgYW5kCitEcml2ZXJzL1NUTTMyZjd4eF9IQUxfRHJpdmVyL0luYyBmb2xkZXJzLiBJdCBjYW4gYmUgZW5hYmxlZCB0aHJvdWdoCitzd2l0Y2ggSEFMX0NBTl9NT0RVTEVfRU5BQkxFRCBpbiBzdG0zMmY3eHhfaGFsX2NvbmYuaDwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmE7Ij5UaGUKK2xlZ2FjeSBIQUwgQ0FOIGRyaXZlciBpcyBhbHNvIHByZXNlbnQgaW4gdGhlIHJlbGVhc2UgaW4KK0RyaXZlcnMvU1RNMzJGN3h4X0hBTF9Ecml2ZXIvU3JjL0xlZ2FjeSBhbmQKK0RyaXZlcnMvU1RNMzJGN3h4X0hBTF9Ecml2ZXIvSW5jL0xlZ2FjeSBmb2xkZXJzIGZvciBzb2Z0d2FyZQorY29tcGF0aWJpbGl0eSByZWFzb25zLiBJdHMgdXNhZ2UgaXMgbm90IHJlY29tbWVuZGVkIGFzIGRlcHJlY2F0ZWQuJm5ic3A7SXQKK2NhbiBob3dldmVyIGJlIGVuYWJsZWQgdGhyb3VnaCBzd2l0Y2ggSEFMX0NBTl9MRUdBQ1lfTU9EVUxFX0VOQUJMRUQgaW4KK3N0bTMyZjd4eF9oYWxfY29uZi5oPC9zcGFuPjwvbGk+PC91bD48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCZuYnNwOzwvc3Bhbj51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIEhBTCBkcml2ZXIgdG8gYWxsb3cgdXNlciB0byBjaGFuZ2Ugc3lzdGljayBwZXJpb2QgdG8gMW1zICwgMTAgbXMgb3IgMTAwIG1zIDo8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+QWRkIHRoZSBmb2xsb3dpbmcgQVBJJ3MgOiZuYnNwOyZuYnNwOzwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfR2V0VGlja1ByaW8oKSA6IFJldHVybnMgYSB0aWNrIHByaW9yaXR5Ljwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9TZXRUaWNrRnJlcSgpIDogU2V0cyBuZXcgdGljayZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPmZyZXF1ZW5jeS48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfR2V0VGlja0ZyZXEoKSA6IFJldHVybnMgdGljayBmcmVxdWVuY3kuPC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgSEFMX1RpY2tGcmVxVHlwZURlZiBlbnVtZXJhdGlvbiBmb3IgdGhlIGRpZmZlcmVudCBUaWNrIEZyZXF1ZW5jaWVzIDogMTAgSHogLCAxMDAgSHogYW5kIDFLSHogKGRlZmF1bHQpLjwvc3Bhbj48L2xpPjwvdWw+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgQ0FOIDwvc3Bhbj51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+RmllbGRzIG9mIENBTl9Jbml0VHlwZURlZiBzdHJ1Y3R1cmUgYXJlIHJld29ya2VkOjwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hOyI+U0pXCit0byBTeW5jSnVtcFdpZHRoLCBCUzEgdG8gVGltZVNlZzEsIEJTMiB0byBUaW1lU2VnMiwgVFRDTSB0bworVGltZVRyaWdnZXJlZE1vZGUsIEFCT00gdG8gQXV0b0J1c09mZiwgQVdVTSB0byBBdXRvV2FrZVVwLCBOQVJUIHRvCitBdXRvUmV0cmFuc21pc3Npb24gKGludmVyc2VkKSwgUkZMTSB0byBSZWNlaXZlRmlmb0xvY2tlZCBhbmQgVFhGUCB0bworVHJhbnNtaXRGaWZvUHJpb3JpdHk8L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkhBTF9DQU5fSW5pdCgpIGlzIHNwbGl0IGludG8gYm90aCBIQUxfQ0FOX0luaXQoKSBhbmQgSEFMX0NBTl9TdGFydCgpIEFQSSdzPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+SEFMX0NBTl9UcmFuc21pdCgpCitpcyByZXBsYWNlZCBieSBIQUxfQ0FOX0FkZFR4TWVzc2FnZSgpIHRvIHBsYWNlIFR4IFJlcXVlc3QsIHRoZW4KK0hBTF9DQU5fR2V0VHhNYWlsYm94ZXNGcmVlTGV2ZWwoKSBmb3IgcG9sbGluZyB1bnRpbCBjb21wbGV0aW9uLjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkhBTF9DQU5fVHJhbnNtaXRfSVQoKQoraXMgcmVwbGFjZWQgYnkgSEFMX0NBTl9BY3RpdmF0ZU5vdGlmaWNhdGlvbigpIHRvIGVuYWJsZSB0cmFuc21pdCBJVCwgdGhlbgorSEFMX0NBTl88L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5BZGRUeE1lc3NhZ2U8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj4oKSBmb3IgcGxhY2UgVHggcmVxdWVzdC48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5IQUxfQ0FOX1JlY2VpdmUoKQoraXMgcmVwbGFjZWQgYnkgSEFMX0NBTl9HZXRSeEZpZm9GaWxsTGV2ZWwoKSBmb3IgcG9sbGluZyB1bnRpbAorcmVjZXB0aW9uLCB0aGVuIEhBTF9DQU5fR2V0UnhNZXNzYWdlKCkgPGJyPnRvIGdldCBSeCBtZXNzYWdlLjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkhBTF9DQU5fUmVjZWl2ZV9JVCgpCitpcyByZXBsYWNlZCBieSBIQUxfQ0FOXzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkFjdGl2YXRlTm90aWZpY2F0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+KCkmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj50byBlbmFibGUgcmVjZWl2ZSBJVCwgdGhlbgorSEFMX0NBTjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPl9HZXRSeE1lc3NhZ2UoKTxicj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj4gaW4gdGhlIHJlY2VpdmVjYWxsYmFjayB0byBnZXQgUnggbWVzc2FnZTwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkhBTF9DQU5fU2xlcHAoKSBpcyByZW5hbWVkIGFzIEhBTF9DQU5fUmVxdWVzdFNsZWVwKCk8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5IQUxfQ0FOX1R4Q3BsdENhbGxiYWNrKCkgaXMgc3BsaXQgaW50byBIQUxfQ0FOX1R4TWFpbGJveDBDb21wbGV0ZUNhbGxiYWNrKCksIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkhBTF9DQU5fVHhNYWlsYm94MUNvbXBsZXRlQ2FsbGJhY2soKSBhbmQmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5IQUxfQ0FOX1R4TWFpbGJveDJDb21wbGV0ZUNhbGxiYWNrKCkuPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+SEFMX0NBTl9SeENwbHRDYWxsYmFjayBpcyBzcGxpdCBpbnRvIEhBTF9DQU5fUnhGaWZvME1zZ1BlbmRpbmdDYWxsYmFjaygpIGFuZCA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5IQUxfQ0FOX1J4RmlmbzFNc2dQZW5kaW5nQ2FsbGJhY2soKS48L3NwYW4+PC9saT48L3VsPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5Nb3JlIGNvbXBsZXRlICJIb3cgdG8gdXNlIHRoZSBuZXcgZHJpdmVyIiBpcyBkZXRhaWxlZCBpbiB0aGUgZHJpdmVyIGhlYWRlciBzZWN0aW9uIGl0c2VsZi48L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkhBTCBSQ0MmbmJzcDs8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsiIHR5cGU9InNxdWFyZSI+PHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IiB0eXBlPSJzcXVhcmUiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkFkZCBuZXcgTEwgbWFjcm8gPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsiIHR5cGU9InNxdWFyZSI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+TExfUkNDX1BMTF9TZXRNYWluU291cmNlKCkKKyAgICAgICAgYWxsb3dpbmcgdG8gY29uZmlndXJlIFBMTCBjbG9jayBzb3VyY2U8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsiIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+QWRkIG5ldyBIQUwgbWFjcm9zPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsiIHR5cGU9InNxdWFyZSI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+X19IQUxfUkNDX0dFVF9SVENfU09VUkNFKCkKKyAgICAgICAgYWxsb3dpbmcgdG8gZ2V0IHRoZSBSVEMgY2xvY2sgc291cmNlPG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5fX0hBTF9SQ0NfR0VUX1JUQ19IU0VfUFJFU0NBTEVSKCkKKyAgICAgICAgYWxsb3dpbmcgdG8gZ2V0IHRoZSBIU0UgY2xvY2sgZGl2aWRlciBmb3IgUlRDIHBlcmlwaGVyYWw8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+RW5zdXJlIHJlc2V0IG9mIENJUiBhbmQgQ1NSCisgICAgICAgcmVnaXN0ZXJzIHdoZW4gaXNzdWluZyBIQUxfUkNDX0RlSW5pdCgpL0xMX1JDQ19EZUluaXQgZnVuY3Rpb25zPG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5VcGRhdGUgSEFMX1JDQ19HZXRTeXNDbG9ja0ZyZXEoKQorICAgICAgIHRvIGF2b2lkIHJpc2sgb2Ygcm91bmRpbmcgZXJyb3Igd2hpY2ggbWF5IGxlYWRzIHRvIGEgd3JvbmcgcmV0dXJuZWQKKyAgICAgICB2YWx1ZS48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogN3B0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyIgbGFuZz0iRU4tVVMiPiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyIgbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+VXBkYXRlIEhBTF9SQ0NfRGVJbml0KCkKKyAgICAgICAmbmJzcDthbmQgTExfUkNDX0RlSW5pdCgpIEFQSXMgdG88L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsiIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0ic3F1YXJlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5CZSBhYmxlIHRvIHJldHVybiBIQUwvTEwKKyAgICAgICAgc3RhdHVzPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5BZGQgY2hlY2tzIGZvciBIU0ksIFBMTCBhbmQKKyAgICAgICAgUExMSTJTICZuYnNwO3JlYWR5IGJlZm9yZSBtb2RpZnlpbmcgUkNDIENGR1IgcmVnaXN0ZXJzPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5DbGVhciBhbGwgaW50ZXJydXB0IGZsYWdzPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5Jbml0aWFsaXplIHN5c3RpY2sgaW50ZXJydXB0CisgICAgICAgIHBlcmlvZDwvc3Bhbj48L2xpPjwvdWw+PC91bD48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkhBTCBETUEgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gbGFuZz0iZnIiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3IiBzaXplPSIyIj48L2ZvbnQ+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+QWRkIGNsZWFuIG9mIGNhbGxiYWNrcyBpbiBIQUxfRE1BX0RlSW5pdCgpJm5ic3A7QVBJPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+Rml4IHdyb25nIERNQV9GTEFHX0ZFSUZPXzQgYW5kIERNQV9GTEFHRE1BRUlGT180IGRlZmluZXMgdmFsdWVzJm5ic3A7PC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5IQUwgSTJDIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVwZGF0ZSBJbnRlcmZhY2UgQVBJcyBoZWFkZXJzIHRvIHJlbW92ZSBjb25mdXNpbmcgbWVzc2FnZSBhYm91dCBkZXZpY2UgYWRkcmVzczwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyIgbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVwZGF0ZSA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5JMkNfV2FpdE9uUlhORUZsYWdVbnRpbFRpbWVvdXQoKSB0byByZXNvbHZlIGEgcmFjZSBjb25kaXRpb24gYmV0d2VlbiBTVE9QRiBhbmQgUlhORSBGbGFnczwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyIgbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVwZGF0ZSZuYnNwO0kyQ19UcmFuc2ZlckNvbmZpZygpIHRvIGZpeCB3cm9uZyBiaXQgbWFuYWdlbWVudDwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+TEwgVVNBUlQ8c3Bhbj4mbmJzcDs8L3NwYW4+PC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+QWRkIGFzc2VydCBtYWNyb3MgdG8gY2hlY2sgVVNBUlQgQmF1ZFJhdGUgcmVnaXN0ZXI8L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkhBTCBFVEggPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5Eb3suLn0gV2hpbGUoMCkmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5pbnN1cmVkIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPmluJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+bXVsdGkgc3RhdGVtZW50IG1hY3Jvczwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPiA6PC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPl9fSEFMX0VUSF9XQUtFVVBfRVhUSV9FTkFCTEVfRkFMTElOR1JJU0lOR19UUklHR0VSKCkmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5fX0hBTF9FVEhfV0FLRVVQX0VYVElfRElTQUJMRV9GQUxMSU5HUklTSU5HX1RSSUdHRVIoKTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPiA8YnI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+PC9zcGFuPjwvbGk+PC91bD48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBGTEFTSDxzcGFuPiZuYnNwOzwvc3Bhbj48L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwaW47Ij48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfRkxBU0hfVW5sb2NrKCkgdXBkYXRlIHRvIHJldHVybiBzdGF0ZSBlcnJvciB3aGVuIHRoZSBGTEFTSCBpcyBhbHJlYWR5IHVubG9ja2VkPC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgR1BJTzxzcGFuPiA8L3NwYW4+PC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgbWlzc2luZyBkZWZpbmUgb2YgR1BJT19QSU5fMiBpbiBHUElPS19QSU5fQVZBSUxBQkxFIGxpc3Q8L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBQQ0Q8c3Bhbj4gPC9zcGFuPjwvc3Bhbj51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkRvey4ufSBXaGlsZSgwKSAmbmJzcDtpbnN1cmVkIGluIG11bHRpIHN0YXRlbWVudCBtYWNyb3M8L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkxMIFVUSUxTPHNwYW4+IDwvc3Bhbj48L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwaW47Ij48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+c3RtMzJmN3h4Xzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+bGxfdXRpbHMuaCA6IFVwZGF0ZSBMTF9HZXRQYWNrYWdlVHlwZSBjb21tYW5kIHRvIHJldHVybiB1aW50MzJfdCBpbnN0ZWFkIG9mIHVpbnQxNl90PC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgVElNPHNwYW4+IDwvc3Bhbj48L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5zdG0zMmY3eHhfaGFsX3RpbV9leC5jIDogVXBkYXRlIEhBTF9USU1FeF9Db25maWdCcmVha0RlYWRUaW1lIEFQSSB0byBhdm9pZCB0byBibG9jayB0aW1lciBiZWhhdmlvciB3aGVuIDxicj5yZW1haW5zIGluIHRoZSBzdGF0ZSBIQUxfVElNX1NUQVRFX0JVU1kuPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPnN0bTMyZjd4eF9oYWxfdGltLmggOiZuYnNwOzwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+Rml4IF9fSEFMX1RJTV9TRVRfUFJFU0NBTEVSKCkgbWFjcm88L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDssc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+Rml4IHR5cG9zIGluIHNvbWUgZXhwb3J0ZWQgbWFjcm9zIGRlc2NyaXB0aW9uJm5ic3A7PC9zcGFuPjwvbGk+PC91bD48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkxMIEZNQzxzcGFuPiA8L3NwYW4+PC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7LHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+SEFMX1NEUkFNX1NlbmRDb21tYW5kKCkgQVBJOiA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPlJlbW92ZSB0aGUmbmJzcDt0aW1lb3V0PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij4gY2hlY2s8L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBOQU5EPHNwYW4+IDwvc3Bhbj48L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5GaXggd3JvbmcgY2hlY2sgZm9yIE5BTkQgc3RhdHVzPC9zcGFuPjwvbGk+PC91bD48L3VsPgorPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7IHdpZHRoOiAyMDBweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbDsgY29sb3I6IHdoaXRlOyI+VjEuMi4zIC8gMjUtQXVndXN0LTIwMTc8L3NwYW4+PC9oMz4KKzxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBjbSA0LjVwdCAxOHB0OyI+PGIgc3R5bGU9IiI+PHU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmE7IGNvbG9yOiBibGFjazsiPk1haW4KK0NoYW5nZXM8L3NwYW4+PC91PjwvYj48L3A+PHVsIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwaW47IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJzsgZm9udC1zaXplOiBtZWRpdW07IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IG1hcmdpbi10b3A6IDBjbTsiIHR5cGU9InNxdWFyZSI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5HZW5lcmFsIHVwZGF0ZXMgCit0byBmaXgga25vd24gZGVmZWN0cyBhbmQgZW5oYW5jZW1lbnRzIGltcGxlbWVudGF0aW9uPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5SZW1vdmUgRGF0ZSBhbmQgVmVyc2lvbiBmcm9tIGhlYWRlciBmaWxlczwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIEhBTCBkcml2ZXJzIHRvIHJlZmVyIHRvIHRoZSBuZXcmbmJzcDtDTVNJUyBiaXQgcG9zaXRpb24gZGVmaW5lcyBpbnN0ZWFkIG9mIHVzYWdlIHRoZSA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPlBPU0lUSU9OX1ZBTCgpIG1hY3JvPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIENBTiA8L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkFkZCBtaXNzaW5nIHVubG9jayBpbiBIQUxfQ0FOX1JlY2VpdmVfSVQoKSBwcm9jZXNzPC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgRENNSSA8L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkhBTCBEQ01JIGRyaXZlciBjbGVhbi11cDogcmVtb3ZlIG5vbiByZWZlcmVuY2VkIGNhbGxiYWNrIEFQSXM6IEhBTF9EQ01JX1ZzeW5jQ2FsbGJhY2soKSBhbmQgSEFMX0RDTUlfSHN5bmNDYWxsYmFjaygpPC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwmbmJzcDtERlNETSA8L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkZpeCBjYXN0IGlzc3VlIG9uIEFQSXMgdGhhdCByZXR1cm4gc2lnbmVkIGludGVnZXIgdmFsdWUgKHVpbnQzMl90KSZuYnNwOzwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIERNQSA8L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkhBTCBETUEgZHJpdmVyIGNsZWFuLXVwOiByZW1vdmUgbm9uIHJlZmVyZW5jZWQgY2FsbGJhY2sgQVBJczogSEFMX0RNQV9DbGVhbkNhbGxiYWNrcygpPC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgRkxBU0ggPC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5GTEFTSF9Qcm9ncmFtX0RvdWJsZVdvcmQoKSBBUEk6IFJlcGxhY2UgNjQtYml0IGFjY2Vzc2VzIHdpdGggMiBkb3VibGUgd29yZHMgb3BlcmF0aW9uczwvc3Bhbj48L2xpPjwvdWw+PC91bD48dWwgc3R5bGU9Im1hcmdpbi1ib3R0b206IDBpbjsgY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nOyBmb250LXNpemU6IG1lZGl1bTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgbWFyZ2luLXRvcDogMGNtOyIgdHlwZT0ic3F1YXJlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgR2VuZXJpYyA8L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVwZGF0ZSBhc3NlcnRfcGFyYW0oKSBtYWNybyBkZWZpbml0aW9uIHRvIGJlIGluIGxpbmUgd2l0aCBzdG0zMl9sbF91dGlscy5jIGRyaXZlcjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIEdQSU8gPC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5HUElPS19QSU5fQVZBSUxBQkxFKCkgYXNzZXJ0IG1hY3JvIHVwZGF0ZSB0byBhbGxvdyBwb3NzaWJpbGl0eSB0byBjb25maWd1cmUgR1BJT19QSU5fMjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIExUREMgPC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5SZW5hbWUgSEFMX0xURENfTGluZUV2ZW5DYWxsYmFjaygpIEFQSSB0byZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkhBTF9MVERDX0xpbmVFdmVuPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+dDwvc3Bhbj5DYWxsYmFjaygpPC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgUENEIDwvc3Bhbj51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+VXBkYXRlIEhBTF9QQ0RfSVJRSGFuZGxlcigpIEFQSSB0byBmaXgmbmJzcDt0cmFuc2ZlciBpc3N1ZXMgd2hlbiA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5VU0IgSFMgaXMgdXNlZCB3aXRoIERNQSZuYnNwO2VuYWJsZWQ8L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBSQ0MgPC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5VcGRhdGUgSEFMX1JDQ19HZXRPc2NDb25maWcoKSBBUEkgdG86PC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPnNldCBQTExSIGluIHRoZSBSQ0NfT3NjSW5pdFN0cnVjdDwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPmNoZWNrIG9uIG51bGwgcG9pbnRlcjxicj48L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVwZGF0ZSBIQUxfUkNDX0Nsb2NrQ29uZmlnKCkgQVBJIHRvOjwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5jaGVjayBvbiBudWxsIHBvaW50ZXI8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5vcHRpbWl6ZSZuYnNwO2NvZGUgc2l6ZSBieSB1cGRhdGluZyB0aGUgaGFuZGxpbmcgbWV0aG9kIG9mIHRoZSBTV1MgYml0czwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPnVwZGF0ZQordG8gdXNlJm5ic3A7IF9fSEFMX0ZMQVNIX0dFVF9MQVRFTkNZKCkgZmxhc2ggbWFjcm8gaW5zdGVhZCBvZiB1c2luZworZGlyZWN0IHJlZ2lzdGVyIGFjY2VzcyB0byZuYnNwO0xBVEVOQ1kgYml0cyBpbiBGTEFTSCBBQ1IgcmVnaXN0ZXI8L3NwYW4+PHNwYW4gbGFuZz0iZnIiPi4gPC9zcGFuPjwvbGk+PC91bD48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBTQUkgPC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5VcGRhdGUgSEFMX1NBSV9ETUFTdG9wKCkgQVBJIHRvIGZsdXNoIGZpZm8gYWZ0ZXIgZGlzYWJsaW5nJm5ic3A7U0FJPC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgVElNIDwvc3Bhbj51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIEhBTF9USU1FeF9Db25maWdCcmVha0lucHV0KCkgQVBJIHRvJm5ic3A7c3VwcG9ydCBCS0lOUC9CS0lOMlAgcG9sYXJpdHkgYml0cy48YnI+PC9zcGFuPjwvbGk+PC91bD48L3VsPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyBjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbic7IGZvbnQtc2l6ZTogbWVkaXVtOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyBtYXJnaW4tdG9wOiAwY207IiB0eXBlPSJzcXVhcmUiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkxMIERNQSA8L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVwZGF0ZQorU0VUX0JJVCgpIGFjY2VzcyB0byBMSUZDUiBhbmQgSElGQ1IgcmVnaXN0ZXJzIGJ5IFdSSVRFX1JFRygpIHRvIGF2b2lkCityZWFkIGFjY2VzcyB0aGF0IGlzIG5vdCBhbGxvd2VkIHdoZW4gY2xlYXJpbmcgRE1BIGZsYWdzPC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5MTCBJMkMgPC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5VcGRhdGUgTExfSTJDX0luaXQoKSBBUEkgdG8gYXZvaWQgZW5hYmxpbmcgb3duIGFkZHJlc3MxIHdoZW4gT3duQWRkcmVzczEgcGFyYW1ldGVyIHZhbHVlIGluIHRoZSBJMkNfSW5pdFN0cnVjdCBpcyBlcXVhbCB0byAwLjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+TEwgVElNIDwvc3Bhbj51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+VXBkYXRlIExMX1RJTV9FbmFibGVVcGRhdGVFdmVudCgpIEFQSSB0byBjbGVhciBVRElTIGJpdCBpbiBDUjEgcmVnaXN0ZXIgaW5zdGVhZCBvZiBzZXR0aW5nIGl0Ljwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVwZGF0ZSBMTF9USU1fRGlzYWJsZVVwZGF0ZUV2ZW50KCkgQVBJIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPnRvIHNldCBVRElTIGJpdCBpbiBDUjEgcmVnaXN0ZXIgaW5zdGVhZCBvZiBjbGVhcmluZyBpdC48L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkxMIFVTQiA8L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVwZGF0ZSBVU0JfRVAwU3RhcnRYZmVyKCkgQVBJIHRvIGZpeCZuYnNwO3RyYW5zZmVyIGlzc3VlcyB3aGVuIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVTQiBIUyBpcyB1c2VkIHdpdGggRE1BJm5ic3A7ZW5hYmxlZDwvc3Bhbj48L2xpPjwvdWw+PC91bD48aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsgd2lkdGg6IDIwMHB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IEFyaWFsOyBjb2xvcjogd2hpdGU7Ij5WMS4yLjIgLyAxNC1BcHJpbC0yMDE3PC9zcGFuPjwvaDM+Cis8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwY20gNC41cHQgMThwdDsiPjxiIHN0eWxlPSIiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hOyBjb2xvcjogYmxhY2s7Ij5NYWluCitDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PC9wPjx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyBjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbic7IGZvbnQtc2l6ZTogbWVkaXVtOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyBtYXJnaW4tdG9wOiAwY207IiB0eXBlPSJzcXVhcmUiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+R2VuZXJhbCB1cGRhdGVzIAordG8gZml4IGtub3duIGRlZmVjdHMgYW5kIGVuaGFuY2VtZW50cyBpbXBsZW1lbnRhdGlvbjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBDQU4gPC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5BZGQKKyAgICAgIG1hbmFnZW1lbnQgb2YmbmJzcDtvdmVycnVuIGVycm9yLiZuYnNwOzwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkFsbG93CisgICAgICBwb3NzaWJpbGl0eSB0byByZWNlaXZlIG1lc3NhZ2VzIGZyb20gdGhlIDIgUlggRklGT3MgaW4gcGFyYWxsZWwgdmlhCisgICAgICBpbnRlcnJ1cHQuPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IiBsYW5nPSJFTi1VUyI+Rml4Jm5ic3A7bWVzc2FnZQorICAgICAgbG9zdCBpc3N1ZSB3aXRoIHNwZWNpZmljIHNlcXVlbmNlIG9mIHRyYW5zbWl0IHJlcXVlc3RzLjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPkhhbmRsZQorICAgICAgdHJhbnNtaXNzaW9uIGZhaWx1cmUgd2l0aCBlcnJvciBjYWxsYmFjaywgd2hlbiBOQVJUIGlzIGVuYWJsZWQuPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiIGxhbmc9IkVOLVVTIj5BZGQgX19IQUxfQ0FOX0NBTkNFTF9UUkFOU01JVCgpIGNhbGwgdG8gYWJvcnQgdHJhbnNtaXNzaW9uIHdoZW4KKyAgICAgIHRpbWVvdXQgaXMgcmVhY2hlZDwvc3Bhbj48L2xpPjwvdWw+PC91bD48aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsgd2lkdGg6IDIwMHB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IEFyaWFsOyBjb2xvcjogd2hpdGU7Ij5WMS4yLjEgLyAyNC1NYXJjaC0yMDE3PC9zcGFuPjwvaDM+Cis8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwY20gNC41cHQgMThwdDsiPjxiIHN0eWxlPSIiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hOyBjb2xvcjogYmxhY2s7Ij5NYWluCitDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PC9wPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0ic3F1YXJlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEzLjMzMzNweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgdGV4dC1hbGlnbjogbGVmdDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdpZG93czogMTsgd29yZC1zcGFjaW5nOiAwcHg7IGRpc3BsYXk6IGlubGluZSAhIGltcG9ydGFudDsgZmxvYXQ6IG5vbmU7Ij5VcGRhdGUgQ0hNIFVzZXJNYW51YWxzIHRvIHN1cHBvcnQgTEwgZHJpdmVyczwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+R2VuZXJhbCB1cGRhdGVzIAordG8gZml4IGtub3duIGRlZmVjdHMgYW5kIGVuaGFuY2VtZW50cyBpbXBsZW1lbnRhdGlvbjwvc3Bhbj48L2xpPjwvdWw+PHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IiB0eXBlPSJzcXVhcmUiPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBETUEgPC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgSEFMX0RNQV9Jbml0KCkgZnVuY3Rpb24gdG8gYWRqdXN0IHRoZSBjb21wYXRpYmlsaXR5IGNoZWNrIGJldHdlZW4gRklGTyB0aHJlc2hvbGQgYW5kIGJ1cnN0IGNvbmZpZ3VyYXRpb248L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBNTUMgPC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgSEFMX01NQ19Jbml0Q2FyZCgpIGZ1bmN0aW9uIHdpdGggcHJvcGVyIGluaXRpYWxpemF0aW9uIHNlcXVlbmNlIGFkZGluZyBhIGRlbGF5IGFmdGVyIE1NQyBjbG9jayBlbmFibGU8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgTU1DX0RNQUVycm9yKCkgZnVuY3Rpb24gaWdub3JlIERNQSBGSUZPIGVycm9yIGFzIG5vdCBpbXBhY3RpbmcgdGhlIGRhdGEgdHJhbnNmZXI8L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBTRCA8L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSBIQUxfU0RfSW5pdENhcmQoKSBmdW5jdGlvbiB3aXRoIHByb3BlciBpbml0aWFsaXphdGlvbiBzZXF1ZW5jZSBhZGRpbmcgYSBkZWxheSBhZnRlciBTRCBjbG9jayBlbmFibGU8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgU0RfRE1BRXJyb3IoKSBmdW5jdGlvbiBpZ25vcmUgRE1BIEZJRk8gZXJyb3IgYXMgbm90IGltcGFjdGluZyB0aGUgZGF0YSB0cmFuc2Zlcjxicj48L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBOQU5EIDwvc3Bhbj51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIEhBTF9OQU5EX0FkZHJlc3NfSW5jKCkgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24gZm9yIHByb3BlciBwbGFuZSBudW1iZXIgY2hlY2s8L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5MTCBTRE1NQyA8L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSBTRE1NQ19EQVRBVElNRU9VVCB2YWx1ZSB3aXRoIGFwcHJvcHJpYXRlIHZhbHVlIG5lZWRlZCBieSByZWFkaW5nIGFuZCB3cml0aW5nIG9wZXJhdGlvbnMgb2YgU0QgYW5kIE1NQyBjYXJkczwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJ1NlZ29lIFVJJzsgY29sb3I6IHJnYigwLCAwLCAwKTsgZGlyZWN0aW9uOiBsdHI7IiBkaXI9Imx0ciI+PC9zcGFuPjwvbGk+PC91bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5MTCBSVEMgPC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5MTF9SVENfVElNRV9HZXQoKSBhbmQgTExfUlRDX0RBVEVfR2V0KCkgaW5saW5lIG1hY3JvcyBvcHRpbWl6YXRpb248L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkxMIEFEQyA8L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPkZpeCB3cm9uZyBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2UgY29uZmlndXJhdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5MTF9BRENfSU5KX1NldFNlcXVlbmNlclJhbmtzKCkKK2FuZCBMTF9BRENfSU5KX0dldFNlcXVlbmNlclJhbmtzKCkgQVBJJ3MgdXBkYXRlIHRvIHRha2UgaW4KK2NvbnNpZGVyYXRpb24gdGhlIEFEQyBudW1iZXIgb2YgY29udmVyc2lvbnM8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgdGhlJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+ZGVmaW5lZCB2YWx1ZXMgZm9yPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+IEFEQyBncm91cCBpbmplY3RlZCBzZXFlbmNlciByYW5rcyZuYnNwOzxicj48L3NwYW4+PC9saT48L3VsPjwvdWw+PC91bD48aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsgd2lkdGg6IDIwMHB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IEFyaWFsOyBjb2xvcjogd2hpdGU7Ij5WMS4yLjAgLyAzMC1EZWNlbWJlci0yMDE2PC9zcGFuPjwvaDM+Cis8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwY20gNC41cHQgMThwdDsiPjxiIHN0eWxlPSIiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hOyBjb2xvcjogYmxhY2s7Ij5NYWluCitDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PC9wPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0ic3F1YXJlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5PZmZpY2lhbCByZWxlYXNlIHRvIGFkZCB0aGUgc3VwcG9ydCBvZiA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5TVE0zMkY3MjJ4eCwgU1RNMzJGNzIzeHgsIFNUTTMyRjczMnh4PC9zcGFuPiA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5hbmQgU1RNMzJGNzMzeHg8L3NwYW4+IGRldmljZXM8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEzLjMzMzNweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IGJvbGQ7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IHRleHQtYWxpZ246IGxlZnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3aWRvd3M6IDE7IHdvcmQtc3BhY2luZzogMHB4OyBkaXNwbGF5OiBpbmxpbmUgISBpbXBvcnRhbnQ7IGZsb2F0OiBub25lOyI+QWRkIExvdyBMYXllciBkcml2ZXJzIGFsbG93aW5nIHBlcmZvcm1hbmNlIGFuZCBmb290cHJpbnQgb3B0aW1pemF0aW9uPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYTsiPkxvdworTGF5ZXIgZHJpdmVycyBBUElzIHByb3ZpZGUgcmVnaXN0ZXIgbGV2ZWwgcHJvZ3JhbW1pbmc6IHJlcXVpcmUgZGVlcAora25vd2xlZGdlIG9mIHBlcmlwaGVyYWxzIGRlc2NyaWJlZCBpbiBTVE0zMkY3eHggUmVmZXJlbmNlIE1hbnVhbHM8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEzLjMzMzNweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgdGV4dC1hbGlnbjogbGVmdDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdpZG93czogMTsgd29yZC1zcGFjaW5nOiAwcHg7IGRpc3BsYXk6IGlubGluZSAhIGltcG9ydGFudDsgZmxvYXQ6IG5vbmU7Ij5Mb3cKK0xheWVyIGRyaXZlcnMgYXJlIGF2YWlsYWJsZSBmb3I6IEFEQywmbmJzcDtDb3J0ZXgsIENSQywgREFDLCBETUEsCitETUEyRCwgRVhUSSwgR1BJTywgSTJDLCBJV0RHLCBMUFRJTSwgUFdSLCBSQ0MsIFJORywgUlRDLCBTUEksIFRJTSwKK1VTQVJULCBXV0RHIHBlcmlwaGVyYWxzIGFuZCBhZGRpdGlvbm5hbCBMb3cgTGV2ZWwgQnVzLCBTeXN0ZW0gYW5kCitVdGlsaXRpZXMgQVBJcy48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmE7Ij5Mb3cgTGF5ZXIgZHJpdmVycyBBUElzIGFyZSBpbXBsZW1lbnRlZCBhcyBzdGF0aWMgaW5saW5lIGZ1bmN0aW9uIGluIG5ldzxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyI+SW5jL3N0bTMyZjd4eF9sbF9wcHAuaDwvc3Bhbj48c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+ZmlsZXMgZm9yIFBQUCBwZXJpcGhlcmFscywgdGhlcmUgaXMgbm8gY29uZmlndXJhdGlvbiBmaWxlIGFuZCBlYWNoPHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYTsiPjxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij5zdG0zMmY3eHhfbGxfcHBwLmg8L3NwYW4+PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPmZpbGUgbXVzdCBiZSBpbmNsdWRlZCBpbiB1c2VyIGNvZGUuPC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkdlbmVyYWwgdXBkYXRlcyAKK3RvIGZpeCBrbm93biBkZWZlY3RzIGFuZCBlbmhhbmNlbWVudHMgaW1wbGVtZW50YXRpb248L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCBuZXcgSEFMIDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPk1NQzwvc3Bhbj4gYW5kIDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPlNNQlVTPC9zcGFuPiBkcml2ZXJzPC9zcGFuPjwvbGk+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIENvcnRleDwvc3Bhbj4gdXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPk1vdmUgSEFMX01QVV9EaXNhYmxlKCkgYW5kIEhBTF9NUFVfRW5hYmxlKCkgZnJvbSBzdG0zMmY3eHhfaGFsX2NvcnRleC5oIHRvIHN0bTMyZjd4eF9oYWxfY29ydGV4LmM8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5DbGVhciB0aGUgd2hvbGUgTVBVIGNvbnRyb2wgcmVnaXN0ZXIgaW4mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfTVBVX0Rpc2FibGUoKSBBUEk8L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBDUllQPC9zcGFuPiB1cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+QWRkIHN1cHBvcnQgb2YgQUVTPC9zcGFuPjwvbGk+PC91bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgRE1BPC9zcGFuPiB1cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+QWRkIGEgY2hlY2sgb24gRE1BIHN0cmVhbSBpbnN0YW5jZSBpbiBIQUxfRE1BX0RlSW5pdCgpIEFQSTwvc3Bhbj48L2xpPjwvdWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIEVUSDwvc3Bhbj4gdXBkYXRlJm5ic3A7PC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+Rml4IHdyb25nIGRlZmluaXRpb25zIGluIGRyaXZlciBoZWFkZXIgZmlsZSBzdG0zMmY3X2hhbF9ldGguaDwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIEZMQVNIPC9zcGFuPiB1cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+U3VwcG9ydCBPVFAgcHJvZ3JhbSBvcGVyYXRpb248L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgdGhlIHN1cHBvcnQgb2YgUENST1AgZmVhdHVyZTwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSB0aGUgY2xlYXJpbmcgb2YgZXJyb3IgZmxhZ3M8L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBJMkM8L3NwYW4+IHVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5BbGlnbiBkcml2ZXIgc291cmNlIGNvZGUgd2l0aCBvdGhlciBTVE0zMiBmYW1pbGllczxicj48L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBKUEVHPC9zcGFuPiB1cGRhdGUmbmJzcDs8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgdGhlIG91dHB1dCBkYXRhIG1hbmFnZW1lbnQgd2hlbiZuYnNwO0hBTF9KUEVHX1BhdXNlKCkgaXMgcGVyZm9ybWVkIGR1cmluZyB0aGUgbGFzdCBkYXRhIHNlbmRpbmc8L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBSQ0MgPC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5FbmFibGUgUFdSIG9ubHkgaWYgbmVjZXNzYXJ5IGZvciBMU0UgY29uZmlndXJhdGlvbiBpbiBIQUxfUkNDX09zY0NvbmZpZygpIEFQSTwvc3Bhbj48L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlJlbmFtZSBSQ0NfTFBUSU0xQ0xLU09VUkNFX1BDTEsgZGVmaW5lIHRvIFJDQ19MUFRJTTFDTEtTT1VSQ0VfUENMSzE8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5SZW5hbWUgUkNDX0RGU0RNMUNMS1NPVVJDRV9QQ0xLIGRlZmluZSB0byBSQ0NfREZTRE0xQ0xLU09VUkNFX1BDTEsyPGJyPjwvc3Bhbj48L2xpPjwvdWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIFNQSTwvc3Bhbj4gdXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPkNsZWFyIFJYIEZJRk8gYXQgdGhlIGVuZCBvZiBlYWNoIHRyYW5zYWN0aW9uPC9zcGFuPjwvbGk+PC91bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgVUFSVDwvc3Bhbj4gdXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlJlbW92ZSA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5VU0FSVF9DUjJfTElORU4gYml0IDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPmNsZWFyaW5nJm5ic3A7d2hlbiBpbml0aWFsaXppbmcgaW4gc3luY2hyb25vdXMgbW9kZTwvc3Bhbj48L2xpPjwvdWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIFVTQjwvc3Bhbj4gdXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCBzdXBwb3J0IG9mIGVtYmVkZGVkIFVTQiBQSFkgQ29udHJvbGxlcjwvc3Bhbj48L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCBzdXBwb3J0IG9mIEJhdHRlcnkgQ2hhcmdpbmcgRGV0ZWN0b3IgKEJDRCkgZmVhdHVyZTwvc3Bhbj48L2xpPjwvdWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+TEwgU0RNTUM8L3NwYW4+IHVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgbmV3IFNETU1DX0NtZFNERXJhc2VTdGFydEFkZCwgU0RNTUNfQ21kU0RFcmFzZUVuZEFkZCwgU0RNTUNfQ21kT3BDb25kaXRpb24gYW5kIFNETU1DX0NtZFN3aXRjaCBmdW5jdGlvbnM8L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkxMIFVTQjwvc3Bhbj4gdXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSBQRU5BIGJpdCBjbGVhcmluZyBpbiBPVEdfSFBSVDAgcmVnaXN0ZXI8L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+VGhlIGZvbGxvd2luZyBjaGFuZ2VzIGRvbmUgb24gdGhlIEhBTCBkcml2ZXJzIHJlcXVpcmUgYW4gdXBkYXRlIG9uIHRoZSAKK2FwcGxpY2F0aW9uIGNvZGUgYmFzZWQgb24gb2xkZXIgSEFMIHZlcnNpb25zPC9zcGFuPjwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgU0Q8L3NwYW4+IHVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPk92ZXJhbGwgcmV3b3JrIG9mIHRoZSBkcml2ZXIgZm9yIGEgbW9yZSBlZmZpY2llbnQmbmJzcDtpbXBsZW1lbnRhdGlvbjwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPk1vZGlmeSBpbml0aWFsaXphdGlvbiBBUEkgYW5kIHN0cnVjdHVyZXM8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPk1vZGlmeSBSZWFkIC8gV3JpdGUgc2VxdWVuY2VzOiBzZXBhcmF0ZSB0cmFuc2ZlciBwcm9jZXNzIGFuZCBTRCBDYXJkcyBzdGF0ZSBtYW5hZ2VtZW50Jm5ic3A7PC9zcGFuPjwvbGk+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5BZGRpbmcgaW50ZXJydXB0IG1vZGUgZm9yIFJlYWQgLyBXcml0ZSBvcGVyYXRpb25zPC9zcGFuPjwvbGk+PC91bD48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5VcGRhdGUgdGhlIEhBTF9TRF9JUlFIYW5kbGVyIGZ1bmN0aW9uIGJ5IG9wdGltaXppbmcgdGhlIG1hbmFnZW1lbnQgb2YgaW50ZXJydXB0IGVycm9yczxicj48L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+UmVmZXIgdG8gdGhlIGZvbGxvd2luZyBleGFtcGxlIHRvIGlkZW50aWZ5IHRoZSBjaGFuZ2VzOiBCU1AgZXhhbXBsZSBhbmQgVVNCX0RldmljZS9NU0NfU3RhbmRhbG9uZSBhcHBsaWNhdGlvbjwvc3Bhbj48L2xpPjwvdWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIFRJTTwvc3Bhbj4gdXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCBuZXcgQXV0b1JlbG9hZFByZWxvYWQgZmllbGQgaW4gVElNX0Jhc2VfSW5pdFR5cGVEZWYgc3RydWN0dXJlPC9zcGFuPjwvbGk+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5SZWZlciB0byB0aGUgVElNIGV4YW1wbGVzIHRvIGlkZW50aWZ5IHRoZSBjaGFuZ2VzPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48L2xpPjwvdWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIE5BTkQ8L3NwYW4+IHVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5Nb2RpZnkgTkFORF9BZGRyZXNzVHlwZURlZiwgTkFORF9EZXZpY2VDb25maWdUeXBlRGVmIGFuZCBOQU5EX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlcyBmaWVsZHM8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgbmV3IEhBTF9OQU5EX0NvbmZpZ0RldmljZSBBUEk8YnI+PC9zcGFuPjwvbGk+PC91bD48L3VsPjwvdWw+PGIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJzsgZm9udC1zaXplOiAxNnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdpZG93czogMTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxMHB0OyI+PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjwvc3Bhbj48aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsgd2lkdGg6IDIwMHB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IEFyaWFsOyBjb2xvcjogd2hpdGU7Ij5WMS4xLjEgLyAwMS1KdWx5LTIwMTY8L3NwYW4+PC9oMz4KKzxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBjbSA0LjVwdCAxOHB0OyI+PGIgc3R5bGU9IiI+PHU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmE7IGNvbG9yOiBibGFjazsiPk1haW4KK0NoYW5nZXM8L3NwYW4+PC91PjwvYj48L3A+PHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IiB0eXBlPSJzcXVhcmUiPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBETUE8L3NwYW4+IHVwZGF0ZSZuYnNwOzwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSBIQUxfRE1BX1BvbGxGb3JUcmFuc2ZlcigpIGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uIHRvJm5ic3A7YXZvaWQgZWFybHkgVElNRU9VVCBlcnJvci48L3NwYW4+IDwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgSlBFRzwvc3Bhbj4gdXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSBIQUxfSlBFR19Db25maWdFbmNvZGluZygpIGZ1bmN0aW9uIHRvIHByb3Blcmx5IHNldCB0aGUgSW1hZ2VIZWlnaHQgYW5kIEltYWdlV2lkdGg8L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBTUEk8L3NwYW4+IHVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgU1BJX0RNQVRyYW5zbWl0UmVjZWl2ZUNwbHQoKSBmdW5jdGlvbiB0byBwcm9wZXJseSBoYW5kbGUgdGhlIENSQyBhbmQgYXZvaWQgY29uZGl0aW9uYWwgc3RhdGVtZW50IGR1cGxpY2F0aW9uPGJyPjwvc3Bhbj48L2xpPjwvdWw+PC91bD48aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsgd2lkdGg6IDIwMHB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IEFyaWFsOyBjb2xvcjogd2hpdGU7Ij5WMS4xLjAgLyAyMi1BcHJpbC0yMDE2PC9zcGFuPjwvaDM+Cis8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwY20gNC41cHQgMThwdDsiPjxiIHN0eWxlPSIiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hOyBjb2xvcjogYmxhY2s7Ij5NYWluCitDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PC9wPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0ic3F1YXJlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5PZmZpY2lhbCByZWxlYXNlIHRvIGFkZCB0aGUgc3VwcG9ydCBvZiA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5TVE0zMkY3NjV4eCwgU1RNMzJGNzY3eHgsIFNUTTMyRjc2OHh4LCBTVE0zMkY3Njl4eCwgU1RNMzJGNzc3eHgsIFNUTTMyRjc3OHh4PC9zcGFuPiA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5hbmQgU1RNMzJGNzc5eHg8L3NwYW4+IGRldmljZXM8YnI+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5HZW5lcmFsIHVwZGF0ZXMgCit0byBmaXgga25vd24gZGVmZWN0cyBhbmQgZW5oYW5jZW1lbnRzIGltcGxlbWVudGF0aW9uPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7Ij5BZGQgbmV3IEhBTCBkcml2ZXJzIGZvcjxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+REZTRE0sIERTSTxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiwgSlBFRyA8L3NwYW4+PC9zcGFuPmFuZDxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+TURJT1M8c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4gPC9zcGFuPjwvc3Bhbj5wZXJpcGhlcmFsczwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPkVuaGFuY2UgSEFMIGRlbGF5IGFuZCB0aW1lYmFzZSBpbXBsZW1lbnRhdGlvbjwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgbmV3IAorZHJpdmVycyBzdG0zMmY3eHhfaGFsX3RpbWViYXNlX3RpbV90ZW1wbGF0ZS5jLCBzdG0zMmY3eHhfaGFsX3RpbWViYXNlX3J0Y19hbGFybV90ZW1wbGF0ZS5jIGFuZCAKK3N0bTMyZjd4eF9oYWxfdGltZWJhc2VfcnRjX3dha2V1cF90ZW1wbGF0ZS5jIHdoaWNoIG92ZXJyaWRlIHRoZSBuYXRpdmUgSEFMIHRpbWUgCitiYXNlIGZ1bmN0aW9ucyAoZGVmaW5lZCBhcyB3ZWFrKSB0byBlaXRoZXIgdXNlIHRoZSBUSU0gb3IgdGhlIFJUQyBhcyB0aW1lIGJhc2UgdGljayBzb3VyY2UuIEZvciAKK21vcmUgZGV0YWlscyBhYm91dCB0aGUgdXNhZ2Ugb2YgdGhlc2UgZHJpdmVycywgcGxlYXNlIHJlZmVyIHRvIEhBTFxIQUxfVGltZUJhc2UgCitleGFtcGxlcyZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMy4zMzMzcHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IHRleHQtYWxpZ246IGxlZnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3aWRvd3M6IDE7IHdvcmQtc3BhY2luZzogMHB4OyBkaXNwbGF5OiBpbmxpbmUgISBpbXBvcnRhbnQ7IGZsb2F0OiBub25lOyI+YW5kIEZyZWVSVE9TLWJhc2VkIGFwcGxpY2F0aW9uczwvc3Bhbj48L2xpPjwvdWw+PC91bD48dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsiIHR5cGU9InNxdWFyZSI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5UaGUgZm9sbG93aW5nIGNoYW5nZXMgZG9uZSBvbiB0aGUgSEFMIGRyaXZlcnMgcmVxdWlyZSBhbiB1cGRhdGUgb24gdGhlIAorYXBwbGljYXRpb24gY29kZSBiYXNlZCBvbiBIQUwgVjEuMC40PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij5IQUwgVUFSVCwgVVNBUlQsIElSREEsIFNNQVJUQ0FSRCwgU1BJLCBJMkMsJm5ic3A7UVNQSSA8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyI+PC9zcGFuPihyZWZlcmVuY2VkIGFzIDxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij5QUFA8L3NwYW4+IGhlcmUgYmVsb3cpPHNwYW4gc3R5bGU9ImZvbnQtc3R5bGU6IGl0YWxpYzsiPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij4gPC9zcGFuPmRyaXZlcnM8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+QWRkIFBQUCBlcnJvciBtYW5hZ2VtZW50IGR1cmluZyBETUEgcHJvY2Vzcy4gVGhpcyByZXF1aXJlcyB0aGUgZm9sbG93aW5nIHVwZGF0ZXMgb24mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPnVzZXIgYXBwbGljYXRpb246PC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+Q29uZmlndXJlIGFuZCBlbmFibGUgCit0aGUgUFBQIElSUSBpbiBIQUxfUFBQX01zcEluaXQoKSBmdW5jdGlvbjxicj48L3NwYW4+PC9saT48L3VsPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkluIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+c3RtMzJmN3h4X2l0LmMgZmlsZSwgCis8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPlBQUF9JUlFIYW5kbGVyKCkgCitmdW5jdGlvbjogPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5hZGQgYSBjYWxsIHRvIAorSEFMX1BQUF9JUlFIYW5kbGVyKCkgZnVuY3Rpb248L3NwYW4+Cis8L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+QWRkIGFuZCBjdXN0b21pemUgCit0aGUgRXJyb3IgQ2FsbGJhY2sgQVBJOiBIQUxfUFBQX0Vycm9yQ2FsbGJhY2soKTxicj48L3NwYW4+PC9saT48L3VsPjwvdWw+PC91bD48L3VsPgorPHVsPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij5IQUwgSTJDPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyI+PC9zcGFuPiAocmVmZXJlbmNlZCBhcyA8c3BhbiBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyI+UFBQPC9zcGFuPiBoZXJlIGJlbG93KTxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyI+IDwvc3Bhbj5kcml2ZXJzOjwvc3Bhbj4KKzx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSB0byBhdm9pZCB3YWl0aW5nIG9uIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+U1RPUEYvQlRGL0FGIGZsYWcgdW5kZXIgRE1BIElTUiBieSB1c2luZyB0aGUgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5QUFAgZW5kIG9mIHRyYW5zZmVyIGludGVycnVwdCBpbiB0aGUgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5ETUEgdHJhbnNmZXIgcHJvY2Vzcy48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij4gVGhpcyByZXF1aXJlcyB0aGUgZm9sbG93aW5nIHVwZGF0ZXMgb24mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPnVzZXIgYXBwbGljYXRpb248L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjo8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5Db25maWd1cmUgYW5kIGVuYWJsZSAKK3RoZSBQUFAgSVJRIGluIEhBTF9QUFBfTXNwSW5pdCgpIGZ1bmN0aW9uPGJyPjwvc3Bhbj48L2xpPjwvdWw+PC91bD4KKzx1bD48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5JbiA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPnN0bTMyZjd4eF9pdC5jIGZpbGUsIAorPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5QUFBfSVJRSGFuZGxlcigpIAorZnVuY3Rpb246IDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+YWRkIGEgY2FsbCB0byAKK0hBTF9QUFBfSVJRSGFuZGxlcigpIGZ1bmN0aW9uPC9zcGFuPjwvbGk+PC91bD48L3VsPjwvbGk+PC91bD48L3VsPgorPHVsPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij5IQUwgSVdERzwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij4gPC9zcGFuPmRyaXZlcjogcmV3b3JrIG92ZXJhbGwgZHJpdmVyIGZvciBiZXR0ZXIgaW1wbGVtZW50YXRpb248L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5SZW1vdmUmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkhBTF9JV0RHX1N0YXJ0KCksIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+SEFMX0lXREdfTXNwSW5pdCgpIGFuZCA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkhBTF9JV0RHX0dldFN0YXRlKCkmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkFQSXM8L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc3R5bGU6IGl0YWxpYzsiPkhBTCBXV0RHPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc3R5bGU6IGl0YWxpYzsiPiA8L3NwYW4+ZHJpdmVyOiByZXdvcmsgb3ZlcmFsbCBkcml2ZXIgZm9yIGJldHRlciBpbXBsZW1lbnRhdGlvbjwvc3Bhbj4KKzx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPlJlbW92ZSBIQUxfV1dER19TdGFydCgpLCA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkhBTF9XV0RHX1N0YXJ0X0lUKCksPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj4gCitIQUxfV1dER19Nc3BEZUluaXQoKSBhbmQgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5IQUxfV1dER19HZXRTdGF0ZSgpIEFQSXMmbmJzcDs8L3NwYW4+Cis8L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+VXBkYXRlIHRoZSZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdDYWxpYnJpJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDExcHQ7IiBsYW5nPSJFTi1VUyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ0NhbGlicmknLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTFwdDsiIGxhbmc9IkVOLVVTIj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnQ2FsaWJyaScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMXB0OyIgbGFuZz0iRU4tVVMiPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ0NhbGlicmknLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTFwdDsiIGxhbmc9IkVOLVVTIj5IQUxfV1dER19SZWZyZXNoPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ0NhbGlicmknLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTFwdDsiIGxhbmc9IkVOLVVTIj4oV1dER19IYW5kbGVUeXBlRGVmICpod3dkZywgdWludDMyX3QgY291bnRlcikgJm5ic3A7ZnVuY3Rpb24gYW5kIEFQSSAmbmJzcDtieSByZW1vdmluZyB0aGUgJm5ic3A7ImNvdW50ZXIiIHBhcmFtZXRlcjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdDYWxpYnJpJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDExcHQ7IiBsYW5nPSJFTi1VUyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyI+PC9zcGFuPjwvc3Bhbj48L2xpPjwvdWw+PC9saT48L3VsPjwvdWw+PHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IiB0eXBlPSJzcXVhcmUiPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij5IQUwgUVNQSSBkcml2ZXI6IDwvc3Bhbj4mbmJzcDtFbmhhbmNlIHRoZSBETUEgdHJhbnNtaXQgcHJvY2VzcyBieSZuYnNwO3VzaW5nJm5ic3A7UFBQIFRDIGludGVycnVwdCBpbnN0ZWFkIG9mIHdhaXRpbmcgb24gVEMgZmxhZyB1bmRlciBETUEgSVNSLiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlRoaXMgcmVxdWlyZXMgdGhlIGZvbGxvd2luZyB1cGRhdGVzIG9uJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij51c2VyIGFwcGxpY2F0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij46PC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+Q29uZmlndXJlIGFuZCBlbmFibGUgCit0aGUgUVNQSSZuYnNwO0lSUSBpbiBIQUxfUVNQSV9Nc3BJbml0KCkgZnVuY3Rpb248L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkluIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+c3RtMzJmN3h4X2l0LmMgZmlsZSwgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5RU1BJX0lSUUhhbmRsZXIoKSAKK2Z1bmN0aW9uOiA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPmFkZCBhIGNhbGwgdG8gCitIQUxfUVNQSV9JUlFIYW5kbGVyKCkgZnVuY3Rpb248L3NwYW4+PC9saT48L3VsPjwvdWw+PC91bD4KKzx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTsiPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyI+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc3R5bGU6IGl0YWxpYzsiPkhBTCBDRUMgZHJpdmVyOiA8L3NwYW4+Jm5ic3A7T3ZlcmFsbCBkcml2ZXIgcmV3b3JrIHdpdGggY29tcGF0aWJpbGl0eSBicmVhayB2ZXJzdXMgcHJldmlvdXMgSEFMIHZlcnNpb248L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5SZW1vdmUgSEFMIENFQyBwb2xsaW5nIFByb2Nlc3MgZnVuY3Rpb25zOiBIQUxfQ0VDX1RyYW5zbWl0KCkgYW5kIEhBTF9DRUNfUmVjZWl2ZSgpPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsiIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj4KKzwvbGk+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5SZW1vdmUKK0hBTCBDRUMgcmVjZWl2ZSBpbnRlcnJ1cHQgcHJvY2VzcyBmdW5jdGlvbiZuYnNwO0hBTF9DRUNfUmVjZWl2ZV9JVCgpCithbmQgZW5hYmxlIHRoZSAicmVjZWl2ZSIgJm5ic3A7bW9kZSBkdXJpbmcgdGhlIEluaXQgcGhhc2U8L3NwYW4+Cis8L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+UmVuYW1lJm5ic3A7SEFMX0NFQ19HZXRSZWNlaXZlZEZyYW1lU2l6ZSgpIGZ1bnRpb24gdG8mbmJzcDtIQUxfQ0VDX0dldExhc3RSZWNlaXZlZEZyYW1lU2l6ZSgpPGJyPjwvc3Bhbj4KKzwvbGk+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5BZGQgbmV3IEhBTCBBUElzOiBIQUxfQ0VDX1NldERldmljZUFkZHJlc3MoKSBhbmQgIAorSEFMX0NFQ19DaGFuZ2VSeEJ1ZmZlcigpPC9zcGFuPgorPC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPlJlbW92ZSB0aGUmbmJzcDs8c3Bhbj48L3NwYW4+J0luaXRpYXRvckFkZHJlc3MnIGZpZWxkIGZyb20gdGhlJm5ic3A7Q0VDX0luaXRUeXBlRGVmIAorc3RydWN0dXJlJm5ic3A7YW5kIG1hbmFnZSBpdCZuYnNwO2FzIGEgcGFyYW1ldGVyIGluIHRoZSBIQUxfQ0VDX1RyYW5zbWl0X0lUKCkgZnVuY3Rpb248L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgZm9udC1zaXplOiAxMnB0OyIgbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPgorPC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkFkZCBuZXcgcGFyYW1ldGVyICdSeEZyYW1lU2l6ZScgaW4gSEFMX0NFQ19SeENwbHRDYWxsYmFjaygpIGZ1bmN0aW9uPC9zcGFuPgorPC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPk1vdmUgQ0VDIFJ4IGJ1ZmZlciBwb2ludGVyJm5ic3A7ZnJvbSBDRUNfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdG8gCitDRUNfSW5pdFR5cGVEZWYgc3RydWN0dXJlPC9zcGFuPjwvbGk+PC91bD48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBDQU48L3NwYW4+IHVwZGF0ZSZuYnNwOzwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgdGhlIHN1cHBvcnQgb2YgQ0FOMzwvc3Bhbj48L2xpPjwvdWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIENFQzwvc3Bhbj4gdXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+T3ZlcmFsbCBkcml2ZXIgcmV3b3JrIHdpdGgmbmJzcDticmVhayBvZiBjb21wYXRpYmlsaXR5IHdpdGggSEFMIAorVjEuMC40PGJyPjwvc3Bhbj48L2xpPjwvdWw+PHVsPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPlJlbW92ZSB0aGUgSEFMIENFQyBwb2xsaW5nIFByb2Nlc3M6IEhBTF9DRUNfVHJhbnNtaXQoKSBhbmQgSEFMX0NFQ19SZWNlaXZlKCk8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgZm9udC1zaXplOiAxMnB0OyIgbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD48L3VsPjwvdWw+Cis8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsiIHR5cGU9ImRpc2MiPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0iY2lyY2xlIj48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5SZW1vdmUgdGhlIEhBTCBDRUMgcmVjZWl2ZSBpbnRlcnJ1cHQgcHJvY2VzcyAoSEFMX0NFQ19SZWNlaXZlX0lUKCkpIGFuZCBtYW5hZ2UgdGhlICJSZWNlaXZlIiBtb2RlIGVuYWJsZSB3aXRoaW4gdGhlIEluaXQgcGhhc2U8L3NwYW4+Cis8L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+UmVuYW1lIEhBTF9DRUNfR2V0UmVjZWl2ZWRGcmFtZVNpemUoKSBmdW5jdGlvbiB0byZuYnNwO0hBTF9DRUNfR2V0TGFzdFJlY2VpdmVkRnJhbWVTaXplKCkgZnVuY3Rpb248YnI+PC9zcGFuPjwvbGk+PC91bD48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5BZGQgbmV3IEhBTCBBUElzOiBIQUxfQ0VDX1NldERldmljZUFkZHJlc3MoKSBhbmQgIAorSEFMX0NFQ19DaGFuZ2VSeEJ1ZmZlcigpPC9zcGFuPjwvbGk+PC91bD48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5SZW1vdmUgdGhlJm5ic3A7PHNwYW4+PC9zcGFuPidJbml0aWF0b3JBZGRyZXNzJyBmaWVsZCBmcm9tIHRoZSZuYnNwO0NFQ19Jbml0VHlwZURlZiAKK3N0cnVjdHVyZSZuYnNwO2FuZCBtYW5hZ2UgaXQmbmJzcDthcyBhIHBhcmFtZXRlciBpbiB0aGUgSEFMX0NFQ19UcmFuc21pdF9JVCgpIGZ1bmN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj48L3NwYW4+PC9saT48L3VsPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkFkZCBuZXcgcGFyYW1ldGVyICdSeEZyYW1lU2l6ZScgaW4gSEFMX0NFQ19SeENwbHRDYWxsYmFjaygpIGZ1bmN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsiIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+TW92ZSBDRUMgUnggYnVmZmVyIHBvaW50ZXImbmJzcDtmcm9tIENFQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0byAKK0NFQ19Jbml0VHlwZURlZiBzdHJ1Y3R1cmU8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PC91bD48L3VsPgorPHVsIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogbm9uZTsgbWFyZ2luLXRvcDogMGNtOyB0ZXh0LWluZGVudDogMHB4OyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbic7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogbWVkaXVtOyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LXNpemUtYWRqdXN0OiBub25lOyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgbWFyZ2luLWJvdHRvbTogMGluOyBjb2xvcjogcmdiKDAsIDAsIDApOyB3b3JkLXNwYWNpbmc6IDBweDsiIHR5cGU9InNxdWFyZSI+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSBkcml2ZXIgdG8gaW1wbGVtZW50IHRoZSBuZXcgQ0VDIHN0YXRlIG1hY2hpbmU6IDwvc3Bhbj48L2xpPjwvdWw+PHVsPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgbmV3Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+InJ4U3RhdGUiPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+IGZpZWxkIGluIAorQ0VDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRvIHByb3ZpZGUgdGhlIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPkNFQyAKKzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPnN0YXRlIAoraW5mb3JtYXRpb24gcmVsYXRlZCB0byBSeCBPcGVyYXRpb25zPC9zcGFuPjwvbGk+PC91bD48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+UmVuYW1lICJzdGF0ZSIgCitmaWVsZCBpbiBDRUNfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdG8gImdzdGF0ZSI6IENFQyA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5zdGF0ZSBpbmZvcm1hdGlvbiAKK3JlbGF0ZWQgdG8gZ2xvYmFsIEhhbmRsZSBtYW5hZ2VtZW50IGFuZCBUeCBPcGVyYXRpb25zPC9zcGFuPgorPC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgQ0VDIHByb2Nlc3MgCit0byBtYW5hZ2UgdGhlIG5ldyBDRUMgc3RhdGVzLjwvc3Bhbj4KKzwvbGk+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPlVwZGF0ZSBfX0hBTF9DRUNfUkVTRVRfSEFORExFX1NUQVRFKCkgbWFjcm8gdG8gaGFuZGxlIHRoZSBuZXcgQ0VDIAorc3RhdGUgcGFyYW1ldGVycyAoZ1N0YXRlLCByeFN0YXRlKTwvc3Bhbj48YnI+PC9saT48L3VsPjwvdWw+PC91bD48dWwgc3R5bGU9Im1hcmdpbi1ib3R0b206IDBpbjsgbGlzdC1zdHlsZS10eXBlOiBzcXVhcmU7Ij48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgRE1BPC9zcGFuPiB1cGRhdGUmbmJzcDs8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQKK25ldyBBUElzIEhBTF9ETUFfUmVnaXN0ZXJDYWxsYmFjaygpIGFuZCBIQUxfRE1BX1VuUmVnaXN0ZXJDYWxsYmFjayB0bworcmVnaXN0ZXIvdW5yZWdpc3RlciB0aGUgZGlmZmVyZW50IGNhbGxiYWNrcyBpZGVudGlmaWVkIGJ5Cit0aGUgZW51bSB0eXBlZGVmIEhBTF9ETUFfQ2FsbGJhY2tJRFR5cGVEZWY8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCBuZXcgQVBJIEhBTF9ETUFfQWJvcnRfSVQoKSB0byBhYm9ydCBETUEgdHJhbnNmZXIgdW5kZXIgaW50ZXJydXB0IGNvbnRleHQ8YnI+PC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+VGhlIG5ldyByZWdpc3RlcmVkIEFib3J0IGNhbGxiYWNrIGlzIGNhbGxlZCB3aGVuIERNQSB0cmFuc2ZlciBhYm9ydGlvbiBpcyBjb21wbGV0ZWQ8L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+QWRkIHRoZSBjaGVjayBvZiAKK2NvbXBhdGliaWxpdHkgYmV0d2VlbiBGSUZPIHRocmVzaG9sZCBsZXZlbCBhbmQgc2l6ZSBvZiB0aGUgbWVtb3J5IGJ1cnN0IGluIHRoZSAKK0hBTF9ETUFfSW5pdCgpIEFQSTwvc3Bhbj4KKzwvbGk+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgbmV3IEVycm9yIENvZGVzOiAKK0hBTF9ETUFfRVJST1JfUEFSQU0sIEhBTF9ETUFfRVJST1JfTk9fWEZFUiBhbmQgCitIQUxfRE1BX0VSUk9SX05PVF9TVVBQT1JURUQ8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPlJlbW92ZSBhbGwgRE1BIHN0YXRlcyAKK3JlbGF0ZWQgdG8gTUVNMC9NRU0xIGluIEhBTF9ETUFfU3RhdGVUeXBlRGVmPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ0hlbHZldGljYScsc2Fucy1zZXJpZjsgY29sb3I6IHJnYig5OCwgOTgsIDk4KTsgZm9udC1zaXplOiA5LjVwdDsiIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPjwvdWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIERNQTJEPC9zcGFuPiB1cGRhdGUmbmJzcDs8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgdGhlIAorSEFMX0RNQTJEX0RlSW5pdCgpIGZ1bmN0aW9uIHRvOjwvc3Bhbj4KKzx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyI+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgbGlzdC1zdHlsZS10eXBlOiBzcXVhcmU7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+QWJvcnQgdHJhbnNmZXIgaW4gY2FzZSAKK29mIG9uZ29pbmcgRE1BMkQgdHJhbnNmZXI8L3NwYW4+PC9saT48L3VsPgorPHVsPjxsaT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+UmVzZXQgRE1BMkQgY29udHJvbCAKK3JlZ2lzdGVyczwvc3Bhbj48L2xpPjwvdWw+PC9saT48bGk+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSAKK0hBTF9ETUEyRF9BYm9ydCgpIHRvIGRpc2FibGUgRE1BMkQgaW50ZXJydXB0cyBhZnRlciBzdG9wcGluZyB0cmFuc2Zlcjwvc3Bhbj48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+T3B0aW1pemUgCitIQUxfRE1BMkRfSVJRSGFuZGxlcigpIGJ5IHJlYWRpbmcgc3RhdHVzIHJlZ2lzdGVycyBvbmx5IG9uY2U8L3NwYW4+Cis8L2xpPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIAorSEFMX0RNQTJEX1Byb2dyYW1MaW5lRXZlbnQoKSBmdW5jdGlvbiB0bzo8L3NwYW4+Cis8dWwgc3R5bGU9Im1hcmdpbi1ib3R0b206IDBpbjsiPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+UmV0dXJuIEhBTCBlcnJvciBzdGF0ZSAKK2luIGNhc2Ugb2Ygd3JvbmcgbGluZSB2YWx1ZTwvc3Bhbj48L2xpPjwvdWw+Cis8dWwgc3R5bGU9Im1hcmdpbi1ib3R0b206IDBpbjsiPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+RW5hYmxlIGxpbmUgaW50ZXJydXB0IAorYWZ0ZXIgc2V0dGluZyB0aGUgbGluZSB3YXRlcm1hcmsgY29uZmlndXJhdGlvbjwvc3Bhbj48L2xpPjwvdWw+PC9saT48bGkgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxMnB0OyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+QWRkIG5ldyBIQUxfRE1BMkRfQ0xVVExvYWQoKSBhbmQgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0RNQTJEX0NMVVRMb2FkX0lUKCk8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPiAKK2Z1bmN0aW9ucyB0byBzdGFydCBETUEyRCBDTFVUIGxvYWRpbmc8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9ETUEyRF9DTFVUTG9hZGluZ19BYm9ydCgpIAorZnVuY3Rpb24gdG8gYWJvcnQgdGhlIERNQTJEIENMVVQgbG9hZGluZzwvc3Bhbj48L2xpPjwvdWw+PHVsPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfRE1BMkRfQ0xVVExvYWRpbmdfU3VzcGVuZCgpIAorZnVuY3Rpb24gdG8gc3VzcGVuZCB0aGUgRE1BMkQgQ0xVVCBsb2FkaW5nPC9zcGFuPjwvbGk+PC91bD48dWw+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9ETUEyRF9DTFVUTG9hZGluZ19SZXN1bWUoKSAKK2Z1bmN0aW9uIHRvIHJlc3VtZSB0aGUgRE1BMkQgQ0xVVCBsb2FkaW5nPC9zcGFuPjwvbGk+PC91bD48bGkgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxMnB0OyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+QWRkIG5ldyBETUEyRCBkZWFkIHRpbWUgCittYW5hZ2VtZW50Ojwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxMnB0OyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0RNQTJEX0VuYWJsZURlYWRUaW1lKCkgCitmdW5jdGlvbiB0byBlbmFibGUgRE1BMkQgZGVhZCB0aW1lIGZlYXR1cmU8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxMnB0OyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0RNQTJEX0Rpc2FibGVEZWFkVGltZSgpIAorZnVuY3Rpb24gdG8gZGlzYWJsZSBETUEyRCBkZWFkIHRpbWUgZmVhdHVyZTwvc3Bhbj48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfRE1BMkRfQ29uZmlnRGVhZFRpbWUoKSAKK2Z1bmN0aW9uIHRvIGNvbmZpZ3VyZSBkZWFkIHRpbWU8L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgdGhlIG5hbWUgb2YgCitETUEyRCBJbnB1dC9PdXRwdXQgY29sb3IgbW9kZSBkZWZpbmVzIHRvIGJlIG1vcmUgY2xlYXIgZm9yIHVzZXIgKERNQTJEX0lOUFVUX1hYWCAKK2ZvciBpbnB1dCBsYXllcnMgQ29sb3JzLCBETUEyRF9PVVRQVVRfWFhYIGZvciBvdXRwdXQgZnJhbWVidWZmZXIgCitDb2xvcnMpPC9zcGFuPjwvbGk+PC91bD48L3VsPgogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OzsgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmc9IkVOLVVTIj5BZGQgY29uc3QgcXVhbGlmaWVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciByZWFkIG9ubHkgcG9pbnRlcnMuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IiB0eXBlPSJzcXVhcmUiPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBEQ01JPC9zcGFuPiB1cGRhdGUmbmJzcDs8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5SZW5hbWUgRENNSV9ETUFDb252Q3BsdCAKK3RvIERDTUlfRE1BWGZlckNwbHQ8L3NwYW4+Cis8L2xpPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0RDTUlfU3RhcnRfRE1BKCkgZnVuY3Rpb24gdG8mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkVuYWJsZSB0aGUgRENNSSBwZXJpcGhlcmFsPC9zcGFuPgorPC9saT48bGkgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxMnB0OyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCBuZXcgdGltZW91dCAKK2ltcGxlbWVudGF0aW9uIGJhc2VkIG9uIGNwdSBjeWNsZXMgZm9yIERDTUkgc3RvcDwvc3Bhbj4KKzwvbGk+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgSEFMX0RDTUlfU3VzcGVuZCgpIAorZnVuY3Rpb24gdG8gc3VzcGVuZCBEQ01JIGNhcHR1cmU8L3NwYW4+Cis8L2xpPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+QWRkIEhBTF9EQ01JX1Jlc3VtZSgpIAorZnVuY3Rpb24gdG8gcmVzdW1lIGNhcHR1cmUgYWZ0ZXIgRENNSSBzdXNwZW5kPC9zcGFuPgorPC9saT48bGkgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxMnB0OyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSBsb2NrIG1lY2hhbmlzbSAKK2ZvciBEQ01JIHByb2Nlc3M8L3NwYW4+Cis8L2xpPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIEhBTF9EQ01JX0lSUUhhbmRsZXIoKSBmdW5jdGlvbiB0bzo8L3NwYW4+Cis8dWwgc3R5bGU9Im1hcmdpbi1ib3R0b206IDBpbjsiPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+QWRkIGVycm9yIG1hbmFnZW1lbnQgaW4gCitjYXNlIERNQSBlcnJvcnMgdGhyb3VnaCBYZmVyQWJvcnRDYWxsYmFjaygpIGFuZCAKK0hBTF9ETUFfQWJvcnRfSVQoKTwvc3Bhbj48L2xpPjwvdWw+Cis8dWwgc3R5bGU9Im1hcmdpbi1ib3R0b206IDBpbjsiPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+T3B0aW1pemUgY29kZSBieSB1c2luZyAKK2RpcmVjdCByZWdpc3RlciByZWFkPC9zcGFuPjwvbGk+PC91bD48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+TW92ZQordGhlIGNvbnRlbnQgb2YgdGhlIHN0bTMyZjd4eF9oYWxfZGNtaV9leC5jLy5oIGZpbGVzIHRvIGNvbW1vbiBkcml2ZXIKK2ZpbGVzICh0aGUgZXh0ZW5zaW9uIGZpbGVzIGFyZSBrZXB0IGVtcHR5IGZvciBwcm9qZWN0cyBjb21wYXRpYmlsaXR5CityZWFzb24pPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBGTEFTSDwvc3Bhbj4gdXBkYXRlJm5ic3A7PC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCB0aGUgc3VwcG9ydCBvZiBEdWFsIEJBTksgZmVhdHVyZTwvc3Bhbj48L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCBfX0hBTF9GTEFTSF9DQUxDX0JPT1RfQkFTRV9BRFIoKSBtYWNybyB0byBjYWxjdWxhdGUgdGhlIEZMQVNIIEJvb3QgQmFzZSBBZHJlc3M8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5Nb3ZlIEZsYXNoIHRvdGFsIHNlY3RvciBkZWZpbmUgdG8gQ01TSVMgaGVhZGVyIGZpbGVzPC9zcGFuPjwvbGk+PC91bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgRk1DPC9zcGFuPiB1cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIEZNQ19OT1JTUkFNX0luaXQoKSB0byByZW1vdmUgdGhlIEJ1cnN0IGFjY2VzcyBtb2RlIGNvbmZpZ3VyYXRpb248L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgRk1DX1NEUkFNX1RpbWluZ19Jbml0KCkgdG8gZml4IGluaXRpYWxpemF0aW9uIGlzc3VlIHdoZW4gY29uZmlndXJpbmcgMiBTRFJBTSBiYW5rczxicj48L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBIQ0Q8L3NwYW4+IHVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgSENEX1BvcnRfSVJRSGFuZGxlcigpIHRvIGJlIGNvbXBsaWFudCB3aXRoIG5ldyBUaW1lIGJhc2UgaW1wbGVtZW50YXRpb248L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48Yj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+SEFMIAorSTJDPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc3R5bGU6IGl0YWxpYzsiPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij4gPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+dXBkYXRlPC9zcGFuPgorPHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCB0aGUgc3VwcG9ydCBvZiBJMkMgZmFzdCBtb2RlIHBsdXMgKEZNKyk8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPjwvc3Bhbj48L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlVwZGF0ZSA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiIGxhbmc9IkVOLVVTIj5Qb2xsaW5nIG1hbmFnZW1lbnQ6PC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyIgbGFuZz0iRU4tVVMiPlRoZSBUaW1lb3V0IHZhbHVlIG11c3QgYmUgZXN0aW1hdGVkIGZvciB0aGUgb3ZlcmFsbCBwcm9jZXNzIGR1cmF0aW9uOiB0aGUgVGltZW91dCBtZWFzdXJlbWVudCBpcyBjdW11bGF0aXZlPGJyPjwvc3Bhbj48L2xpPjwvdWw+PC91bD4KKzx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCB0aGUgbWFuYWdlbWVudCBvZiBBYm9ydCBzZXJ2aWNlOiZuYnNwO0Fib3J0IERNQSB0cmFuc2ZlciB0aHJvdWdoIGludGVycnVwdDwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkluIHRoZSBjYXNlIG9mIE1hc3RlciBBYm9ydCBJVCB0cmFuc2ZlciB1c2FnZTo8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQmbmJzcDtuZXcgdXNlciBIQUxfSTJDX0Fib3J0Q3BsdENhbGxiYWNrKCkgdG8gaW5mb3JtIHVzZXIgb2YgdGhlIGVuZCBvZiBhYm9ydCBwcm9jZXNzPC9zcGFuPjwvbGk+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5BIG5ldyBhYm9ydCBzdGF0ZSBpcyBkZWZpbmVkIGluIHRoZSA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9JMkNfU3RhdGVUeXBlRGVmIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+c3RydWN0dXJlPC9zcGFuPjwvbGk+PC91bD48L3VsPjwvdWw+Cis8dWw+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgdGhlIG1hbmFnZW1lbnQgb2YgSTJDIHBlcmlwaGVyYWwgZXJyb3JzLCBBQ0sKK2ZhaWx1cmUgYW5kIFNUT1AgY29uZGl0aW9uIGRldGVjdGlvbiBkdXJpbmcgRE1BIHByb2Nlc3MuIFRoaXMgcmVxdWlyZXMgdGhlIGZvbGxvd2luZyB1cGRhdGVzCitvbiB1c2VyIGFwcGxpY2F0aW9uOjwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxMnB0OyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkNvbmZpZ3VyZSBhbmQgZW5hYmxlIHRoZSBJMkMgSVJRIGluIEhBTF9JMkNfTXNwSW5pdCgpIGZ1bmN0aW9uPC9zcGFuPjwvbGk+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5JbiBzdG0zMmY3eHhfaXQuYyBmaWxlLCBJMkNfSVJRSGFuZGxlcigpIGZ1bmN0aW9uOiBhZGQgYSBjYWxsIHRvIEhBTF9JMkNfSVJRSGFuZGxlcigpIGZ1bmN0aW9uPC9zcGFuPjwvbGk+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgYW5kIGN1c3RvbWl6ZSB0aGUgRXJyb3IgQ2FsbGJhY2sgQVBJOiBIQUxfSTJDX0Vycm9yQ2FsbGJhY2soKTwvc3Bhbj48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+UmVmZXIgdG8gdGhlIEkyQ19FRVBST00gb3IgSTJDX1R3b0JvYXJkc19Db21ETUEgcHJvamVjdCBleGFtcGxlcyB1c2FnZSBvZiB0aGUgQVBJPGJyPjwvc3Bhbj48L2xpPjwvdWw+PC91bD48dWw+PGxpPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5BZGQgdGhlIHN1cHBvcnQgb2YmbmJzcDtJMkMgcmVwZWF0ZWQgc3RhcnQgZmVhdHVyZTo8L3NwYW4+Cis8dWw+PGxpPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5XaXRoIHRoZSBmb2xsb3dpbmcgbmV3IEFQSXM8YnI+PC9zcGFuPjwvbGk+PC91bD4KKzx1bD48dWw+PGxpPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5IQUxfSTJDX01hc3Rlcl9TZXF1ZW50aWFsX1RyYW5zbWl0X0lUKCk8L3NwYW4+Cis8L2xpPjxsaT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+SEFMXzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5JMkNfTWFzdGVyX1NlcXVlbnRpYWxfUmVjZWl2ZV9JVCgpPC9zcGFuPgorPC9saT48bGk+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+SEFMXzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5JMkNfTWFzdGVyX0Fib3J0X0lUKCk8L3NwYW4+Cis8L2xpPjxsaT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5IQUxfPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkkyQ19TbGF2ZV9TZXF1ZW50aWFsX1RyYW5zbWl0X0lUKCk8L3NwYW4+Cis8L2xpPjxsaT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5IQUxfPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkkyQ19TbGF2ZV9TZXF1ZW50aWFsX1JlY2VpdmVfSVQoKTwvc3Bhbj4KKzwvbGk+PGxpPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkhBTF88L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+STJDX0VuYWJsZUxpc3Rlbl9JVCgpPC9zcGFuPgorPC9saT48bGk+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+SEFMXzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5JMkNfRGlzYWJsZUxpc3Rlbl9JVCgpPC9zcGFuPjwvbGk+PC91bD48L3VsPgorPHVsPjxsaT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+QWRkIG5ldyB1c2VyIGNhbGxiYWNrczo8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPjxicj48L3NwYW4+PC9saT48L3VsPgorPHVsPjx1bD48bGk+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+SEFMXzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5JMkNfTGlzdGVuQ3BsdENhbGxiYWNrKCk8L3NwYW4+PC9saT48L3VsPjx1bD48bGk+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkhBTF88L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+STJDX0FkZHJDYWxsYmFjaygpPC9zcGFuPjwvbGk+PC91bD48L3VsPgorPC9saT48bGk+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5TZXZlcmFsIAordXBkYXRlcyBvbiBIQUwgSTJDIGRyaXZlciB0byBpbXBsZW1lbnQgdGhlIG5ldyBJMkMgc3RhdGUgbWFjaGluZTogPC9zcGFuPgorPHVsPjxsaT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+QWRkIG5ldyBBUEkgdG8gZ2V0IHRoZSZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5JMkMgbW9kZTogCitIQUxfPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkkyQ19HZXRNb2RlKCk8L3NwYW4+Cis8L2xpPjxsaT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+STJDIHByb2Nlc3MgdG8gCittYW5hZ2UgdGhlIG5ldyZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+STJDIHN0YXRlczwvc3Bhbj48L2xpPjwvdWw+PC9saT48L3VsPgorPC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgSVdERzwvc3Bhbj4gdXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+T3ZlcmFsbCByZXdvcmsgb2YgdGhlIGRyaXZlciBmb3IgYSBtb3JlIGVmZmljaWVudCZuYnNwO2ltcGxlbWVudGF0aW9uPC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+UmVtb3ZlIHRoZSBmb2xsb3dpbmcgQVBJczo8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5IQUxfSVdER19TdGFydCgpPC9zcGFuPjwvbGk+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5IQUxfSVdER19Nc3BJbml0KCk8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkhBTF9JV0RHX0dldFN0YXRlKCk8L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+VXBkYXRlIGltcGxlbWVudGF0aW9uOjwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkhBTF9JV0RHX0luaXQoKSA6IHRoaXMgZnVuY3Rpb24gaW5zdXJlcyB0aGUgY29uZmlndXJhdGlvbiBhbmQgdGhlIHN0YXJ0IG9mIHRoZSBJV0RHIGNvdW50ZXI8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkhBTF9JV0RHX1JlZnJlc2goKSA6IHRoaXMgZnVuY3Rpb24gaW5zdXJlcyB0aGUgcmVsb2FkIG9mIHRoZSBJV0RHIGNvdW50ZXI8L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+UmVmZXIgdG8gdGhlIGZvbGxvd2luZyBleGFtcGxlIHRvIGlkZW50aWZ5IHRoZSBjaGFuZ2VzOiBJV0RHX0V4YW1wbGU8YnI+PC9zcGFuPjwvbGk+PC91bD48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBMUFRJTSA8L3NwYW4+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+PC9zcGFuPjwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxMnB0OyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5VcGRhdGUgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+SEFMX0xQVElNX1RpbWVPdXRfU3RhcnRfSVQoKSBhbmQgSEFMX0xQVElNX0NvdW50ZXJfU3RhcnRfSVQoICkgQVBJcyAKK3RvIGNvbmZpZ3VyZSBXYWtlVXAgVGltZXIgRVhUSSBpbnRlcnJ1cHQgdG8gYmUgYWJsZSB0byB3YWtldXAgTUNVIGZyb20gbG93IHBvd2VyIAorbW9kZSBieSA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5wcmVzc2luZyB0aGUgRVhUSSBsaW5lIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPjwvc3Bhbj4KKzwvbGk+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+VXBkYXRlIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkhBTF9MUFRJTV9UaW1lT3V0X1N0b3BfSVQoKSBhbmQgSEFMX0xQVElNX0NvdW50ZXJfU3RvcF9JVCggKSBBUElzIHRvIAorZGlzYWJsZSBXYWtlVXAgVGltZXIgRVhUSSBpbnRlcnJ1cHQgPC9zcGFuPjwvbGk+PC91bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgTFREQyA8L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIAorSEFMX0xURENfSVJRSGFuZGxlcigpIHRvIG1hbmFnZSB0aGUgY2FzZSBvZiByZWxvYWQgaW50ZXJydXB0PC9zcGFuPjwvbGk+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+QWRkIExUREMgZXh0ZW5zaW9uIGRyaXZlciBuZWVkZWQgd2l0aCBEU0k8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxMnB0OyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgSEFMX0xURENfU2V0UGl0Y2goKSBmdW5jdGlvbiBmb3IgcGl0Y2ggcmVjb25maWd1cmF0aW9uPC9zcGFuPjwvbGk+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgbmV3IGNhbGxiYWNrIEFQSSAKK0hBTF9MVERDX1JlbG9hZEV2ZW50Q2FsbGJhY2soKTwvc3Bhbj4KKzwvbGk+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgSEFMX0xURENfUmVsb2FkKCkgCit0byBjb25maWd1cmUgTFREQyByZWxvYWQgZmVhdHVyZTwvc3Bhbj4KKzwvbGk+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgbmV3IE5vIFJlbG9hZCBMVERDIAordmFyaWFudCBBUElzPGJyPjwvc3Bhbj4KKzx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyI+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfTFREQ19Db25maWdMYXllcl9Ob1JlbG9hZCgpIAordG8gY29uZmlndXJlIHRoZSBMVERDIExheWVyIGFjY29yZGluZyB0byB0aGUgc3BlY2lmaWVkIHdpdGhvdXQgcmVsb2FkaW5nPC9zcGFuPgorPC9saT48bGkgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxMnB0OyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9MVERDX1NldFdpbmRvd1NpemVfTm9SZWxvYWQoKSAKK3RvIHNldCB0aGUgTFREQyB3aW5kb3cgc2l6ZSB3aXRob3V0IHJlbG9hZGluZzwvc3Bhbj4KKzwvbGk+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfTFREQ19TZXRXaW5kb3dQb3NpdGlvbl9Ob1JlbG9hZCgpIAordG8gc2V0IHRoZSBMVERDIHdpbmRvdyBwb3NpdGlvbiB3aXRob3V0IHJlbG9hZGluZzwvc3Bhbj4KKzwvbGk+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfTFREQ19TZXRQaXhlbEZvcm1hdF9Ob1JlbG9hZCgpIAordG8gcmVjb25maWd1cmUgdGhlIHBpeGVsIGZvcm1hdCB3aXRob3V0IHJlbG9hZGluZzwvc3Bhbj4KKzwvbGk+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfTFREQ19TZXRBbHBoYV9Ob1JlbG9hZCgpIAordG8gcmVjb25maWd1cmUgdGhlIGxheWVyIGFscGhhIHZhbHVlIHdpdGhvdXQgcmVsb2FkaW5nPC9zcGFuPgorPC9saT48bGkgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxMnB0OyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9MVERDX1NldEFkZHJlc3NfTm9SZWxvYWQoKSAKK3RvIHJlY29uZmlndXJlIHRoZSBmcmFtZSBidWZmZXIgQWRkcmVzcyB3aXRob3V0IHJlbG9hZGluZzwvc3Bhbj4KKzwvbGk+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfTFREQ19TZXRQaXRjaF9Ob1JlbG9hZCgpIAordG8gcmVjb25maWd1cmUgdGhlIHBpdGNoIGZvciBzcGVjaWZpYyBjYXNlczwvc3Bhbj4KKzwvbGk+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfTFREQ19Db25maWdDb2xvcktleWluZ19Ob1JlbG9hZCgpIAordG8gY29uZmlndXJlIHRoZSBjb2xvciBrZXlpbmcgd2l0aG91dCByZWxvYWRpbmc8L3NwYW4+Cis8L2xpPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+SEFMX0xURENfRW5hYmxlQ29sb3JLZXlpbmdfTm9SZWxvYWQoKSAKK3RvIGVuYWJsZSB0aGUgY29sb3Iga2V5aW5nIHdpdGhvdXQgcmVsb2FkaW5nPC9zcGFuPgorPC9saT48bGkgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxMnB0OyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9MVERDX0Rpc2FibGVDb2xvcktleWluZ19Ob1JlbG9hZCgpIAordG8gZGlzYWJsZSB0aGUgY29sb3Iga2V5aW5nIHdpdGhvdXQgcmVsb2FkaW5nPC9zcGFuPgorPC9saT48bGkgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxMnB0OyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9MVERDX0VuYWJsZUNMVVRfTm9SZWxvYWQoKSAKK3RvIGVuYWJsZSB0aGUgY29sb3IgbG9va3VwIHRhYmxlIHdpdGhvdXQgcmVsb2FkaW5nPC9zcGFuPgorPC9saT48bGkgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxMnB0OyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9MVERDX0Rpc2FibGVDTFVUX05vUmVsb2FkKCkgCit0byBkaXNhYmxlIHRoZSBjb2xvciBsb29rdXAgdGFibGUgd2l0aG91dCAKK3JlbG9hZGluZzwvc3Bhbj48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9InRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyBmb250LXN0eWxlOiBpdGFsaWM7Ij5Ob3RlOjwvc3Bhbj4KK1ZhcmlhbnQgZnVuY3Rpb25zIHdpdGggk19Ob1JlbG9hZJQgcG9zdCBmaXggYWxsb3dzIHRvIHNldCB0aGUgTFREQworY29uZmlndXJhdGlvbi9zZXR0aW5ncyB3aXRob3V0IGltbWVkaWF0ZSByZWxvYWQuIFRoaXMgaXMgdXNlZnVsIGluIGNhc2UKK3doZW4gdGhlIHByb2dyYW0gcmVxdWlyZXMgdG8gbW9kaWZ5IHNldmVyYWwgTFREQyBzZXR0aW5ncyAob24gb25lIG9yCitib3RoIGxheWVycykgdGhlbiBhcHBseWluZyAocmVsb2FkKSB0aGVzZSBzZXR0aW5ncyBpbiBvbmUgc2hvdCBieQorY2FsbGluZyB0aGUgZnVuY3Rpb24gk0hBTF9MVERDX1JlbG9hZJQ8YnI+PC9zcGFuPjwvbGk+PC91bD48L2xpPjwvdWw+PC91bD4KKzx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0ic3F1YXJlIj48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgTk9SPC9zcGFuPiB1cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5VcGRhdGUgTk9SX0FERFJfU0hJRlQgbWFjcm8gaW1wbGVtZW50YXRpb248L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBQQ0Q8L3NwYW4+IHVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgSEFMX1BDRF9JUlFIYW5kbGVyKCkgdG8gZ2V0IEhDTEsgZnJlcXVlbmN5IGJlZm9yZSBzZXR0aW5nIFRSRFQgdmFsdWU8L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBRU1BJIDwvc3Bhbj51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgdG8gbWFuYWdlIFFTUEkgZXJyb3IgbWFuYWdlbWVudCBkdXJpbmcgRE1BIHByb2Nlc3M8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkltcHJvdmUgdGhlIERNQSB0cmFuc21pdCBwcm9jZXNzIGJ5IHVzaW5nIFFTUEkgVEMgaW50ZXJydXB0IGluc3RlYWQgb2Ygd2FpdGluZyBsb29wIG9uIFRDIGZsYWcgdW5kZXIgRE1BIElTUjwvc3Bhbj48L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+VGhlc2UgdHdvIGltcHJvdmVtZW50cyByZXF1aXJlIHRoZSBmb2xsb3dpbmcgdXBkYXRlcyBvbiB1c2VyIGFwcGxpY2F0aW9uOjwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkNvbmZpZ3VyZSBhbmQgZW5hYmxlIHRoZSBRU1BJIElSUSBpbiBIQUxfUVNQSV9Nc3BJbml0KCkgZnVuY3Rpb248L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkluIHN0bTMyZjd4eF9pdC5jIGZpbGUsIFFTUElfSVJRSGFuZGxlcigpIGZ1bmN0aW9uOiBhZGQgYSBjYWxsIHRvIEhBTF9RU1BJX0lSUUhhbmRsZXIoKSBmdW5jdGlvbjwvc3Bhbj48L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+QWRkIGFuZCBjdXN0b21pemUgdGhlIEVycm9yIENhbGxiYWNrIEFQSTogSEFMX1FTUElfRXJyb3JDYWxsYmFjaygpPC9zcGFuPjwvbGk+PC91bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZAordGhlIG1hbmFnZW1lbnQgb2Ygbm9uLWJsb2NraW5nIHRyYW5zZmVyIGFib3J0IHNlcnZpY2U6Jm5ic3A7SEFMX1FTUElfQWJvcnRfSVQoKS4gSW4KK3RoaXMgY2FzZSB0aGUgdXNlciBtdXN0Ojwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCBuZXcgY2FsbGJhY2sgSEFMX1FTUElfQWJvcnRDcGx0Q2FsbGJhY2soKSB0byBpbmZvcm0gdXNlciBhdCB0aGUgZW5kIG9mIGFib3J0IHByb2Nlc3M8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkEgbmV3IHZhbHVlIG9mIFN0YXRlIGluIHRoZSBIQUxfUVNQSV9TdGF0ZVR5cGVEZWYgcHJvdmlkZXMgdGhlIGN1cnJlbnQgc3RhdGUgZHVyaW5nIHRoZSBhYm9ydCBwaGFzZTwvc3Bhbj48L2xpPjwvdWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5Qb2xsaW5nIG1hbmFnZW1lbnQgdXBkYXRlOjwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPlRoZSBUaW1lb3V0IHZhbHVlIHVzZXIgbXVzdCBiZSBlc3RpbWF0ZWQgZm9yIHRoZSBvdmVyYWxsIHByb2Nlc3MgZHVyYXRpb246IHRoZSBUaW1lb3V0IG1lYXN1cmVtZW50IGlzIGN1bXVsYXRpdmUuJm5ic3A7PC9zcGFuPjwvbGk+PC91bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPlJlZmVyIHRvIHRoZSBmb2xsb3dpbmcgZXhhbXBsZXMsIHdoaWNoIGRlc2NyaWJlIHRoZSBjaGFuZ2VzOjwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPlFTUElfUmVhZFdyaXRlX0RNQTwvc3Bhbj48L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+UVNQSV9NZW1vcnlNYXBwZWQ8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPlFTUElfRXhlY3V0ZUluUGxhY2U8YnI+PC9zcGFuPjwvbGk+PC91bD48L3VsPjwvdWw+PHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IiB0eXBlPSJzcXVhcmUiPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkFkZCB0d28gbmV3IEFQSXMgZm9yIHRoZSBRU1BJIGZpZm8gdGhyZXNob2xkOjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBmb250LXNpemU6IDEycHQ7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+Cis8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsiIHR5cGU9ImNpcmNsZSI+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5IQUxfUVNQSV9TZXRGaWZvVGhyZXNob2xkKCk6IGNvbmZpZ3VyZSB0aGUgRklGTyB0aHJlc2hvbGQgb2YgCit0aGUgUVNQSTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBmb250LXNpemU6IDEycHQ7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+Cis8L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+SEFMX1FTUElfR2V0Rmlmb1RocmVzaG9sZCgpOiBnaXZlIHRoZSBjdXJyZW50IEZJRk8gCit0aHJlc2hvbGQ8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgZm9udC1zaXplOiAxMnB0OyIgbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+PC91bD4KKzwvbGk+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5GaXggd3JvbmcgZGF0YSBzaXplIG1hbmFnZW1lbnQgaW4gSEFMX1FTUElfUmVjZWl2ZV9ETUEoKTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBmb250LXNpemU6IDEycHQ7IiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBSQ0MgPC9zcGFuPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgSEFMX1JDQ19QZXJpcGhDTEtDb25maWcoKSBmdW5jdGlvbiB0byBhZGp1c3QgdGhlIFN5c3RlbUNvcmVDbG9jazwvc3Bhbj48L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPk9wdGltaXplIEhBTF9SQ0NfQ2xvY2tDb25maWcoKSBmdW5jdGlvbiBjb2RlPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5PPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+cHRpbWl6ZSBpbnRlcm5hbCBvc2NpbGxhdG9ycyBhbmQgUExMIHN0YXJ0dXAgdGltZXM8L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBSVEMgPC9zcGFuPnVwZGF0ZSZuYnNwOzwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgSEFMX1JUQ19HZXRUaW1lKCkgd2l0aCBwcm9wZXIgJ1N1YlNlY29uZHMnIGFuZCAnU2Vjb25kRnJhY3Rpb24nIG1hbmFnZW1lbnQ8L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBTQUkgPC9zcGFuPnVwZGF0ZSZuYnNwOzwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxMnB0OyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSBTQUkgc3RhdGUgaW4gY2FzZSBvZiBUSU1FT1VUIGVycm9yIHdpdGhpbiB0aGUgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfU0FJX1RyYW5zbWl0KCkgLyBIQUxfU0FJX1JlY2VpdmUoKTwvc3Bhbj4KKzwvbGk+PC91bD48dWw+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgSEFMX1NBSV9JUlFIYW5kbGVyOjwvc3Bhbj4KKzx1bCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMGluOyI+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgZXJyb3IgbWFuYWdlbWVudCBpbiAKK2Nhc2UgRE1BIGVycm9ycyB0aHJvdWdoIFhmZXJBYm9ydENhbGxiYWNrKCkgYW5kIEhBTF9ETUFfQWJvcnRfSVQoKTwvc3Bhbj4KKzwvbGk+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgZXJyb3IgbWFuYWdlbWVudCBpbiAKK2Nhc2Ugb2YgSVQ8L3NwYW4+PC9saT48L3VsPjwvbGk+PC91bD48dWwgc3R5bGU9Im1hcmdpbi1ib3R0b206IDBpbjsiPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+TW92ZQorU0FJX0Jsb2NrU3luY2hyb0NvbmZpZygpIGFuZCBTQUlfR2V0SW5wdXRDbG9jaygpIGZ1bmN0aW9ucyB0bworc3RtMzJmN3h4X2hhbF9zYWkuYy8uaCBmaWxlcyAoZXh0ZW5zaW9uIGZpbGVzIGFyZSBrZXB0IGVtcHR5IGZvcgorcHJvamVjdHMgY29tcGF0aWJpbGl0eSByZWFzb24pPC9zcGFuPjwvbGk+PC91bD48L3VsPgorPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IiB0eXBlPSJzcXVhcmUiPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBTUERJRlJYIDwvc3Bhbj51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+T3ZlcmFsbCBkcml2ZXIgdXBkYXRlIGZvciB3YWl0IG9uIGZsYWcgbWFuYWdlbWVudCBvcHRpbWl6YXRpb24gPGJyPjwvc3Bhbj48L2xpPjwvdWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIFNQSSA8L3NwYW4+dXBkYXRlPC9zcGFuPjxiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj48L3NwYW4+PC9iPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+T3ZlcmFsbCBkcml2ZXIgb3B0aW1pemF0aW9uIHRvIGltcHJvdmUgcGVyZm9ybWFuY2UgaW4gcG9sbGluZy9pbnRlcnJ1cHQgbW9kZSB0byByZWFjaCBtYXhpbXVtIHBlcmlwaGVyYWwgZnJlcXVlbmN5PC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+UG9sbGluZyBtb2RlOjwvc3Bhbj4KKzwvbGk+PHVsPjxsaT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+UmVwbGFjZSB0aGUgdXNlIG9mIFNQSV9XYWl0T25GbGFnVW5pdFRpbWVvdXQoKSBmdW5jdGlvbiBieSAiaWYiIAorc3RhdGVtZW50IHRvIGNoZWNrIG9uIFJYTkUvVFhFIGZsYWdlIHdoaWxlIHRyYW5zZmVycmluZyAKK2RhdGE8L3NwYW4+PC9saT48L3VsPjwvdWw+PC91bD48L3VsPgorPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IiB0eXBlPSJzcXVhcmUiPjx1bD48dWw+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij4mbmJzcDtJbnRlcnJ1cHQgbW9kZTo8L3NwYW4+PC9saT48dWw+PGxpPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5NaW5pbWl6ZSBhY2Nlc3Mgb24gU1BJIHJlZ2lzdGVyczwvc3Bhbj4KKzwvbGk+PC91bD48L3VsPjx1bD48bGkgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxMnB0OyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPkFsbCBtb2Rlczo8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgdGhlIFVTRV9TUElfQ1JDIHN3aXRjaCB0byBtaW5pbWl6ZSB0aGUgbnVtYmVyIG9mIHN0YXRlbWVudHMgd2hlbiBDUkMgY2FsY3VsYXRpb24gaXMgZGlzYWJsZWQ8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxMnB0OyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSZuYnNwO3RpbWVvdXQgbWFuYWdlbWVudCB0byBjaGVjayBvbiBnbG9iYWwgcHJvY2Vzc2VzPC9zcGFuPjwvbGk+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgZXJyb3IgY29kZSBtYW5hZ2VtZW50IGluIGFsbCBwcm9jZXNzZXM8L3NwYW4+PC9saT48L3VsPjwvdWw+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgRE1BIHByb2Nlc3M6PG86cD48L286cD48L3NwYW4+Cis8dWwgc3R5bGU9Im1hcmdpbi1ib3R0b206IDBpbjsiPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+QWRkIHRoZSBtYW5hZ2VtZW50IG9mIFNQSSBwZXJpcGhlcmFsIGVycm9ycyBkdXJpbmcgRE1BIHByb2Nlc3MuIFRoaXMgcmVxdWlyZXMgdGhlIGZvbGxvd2luZyB1cGRhdGVzIGluCit0aGUgdXNlciBhcHBsaWNhdGlvbjo8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbjsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmOyBjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJwdDsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5Db25maWd1cmUgYW5kIGVuYWJsZSB0aGUgU1BJIElSUSBpbiBIQUxfU1BJX01zcEluaXQoKSBmdW5jdGlvbjwvc3Bhbj48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+SW4gc3RtMzJmN3h4X2l0LmMgZmlsZSwgU1BJX0lSUUhhbmRsZXIoKSBmdW5jdGlvbjogYWRkIGEgY2FsbCB0byBIQUxfU1BJX0lSUUhhbmRsZXIoKSBmdW5jdGlvbjwvc3Bhbj48L2xpPjxsaSBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW47IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsgY29sb3I6IGJsYWNrOyBmb250LXNpemU6IDEycHQ7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+QWRkIGFuZCBjdXN0b21pemUgdGhlIEVycm9yIENhbGxiYWNrIEFQSTogSEFMX1NQSV9FcnJvckNhbGxiYWNrKCk8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsc2VyaWY7IGNvbG9yOiBibGFjazsgZm9udC1zaXplOiAxMnB0OyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPlJlZmVyIHRvIHRoZSBmb2xsb3dpbmcgZXhhbXBsZSB3aGljaCBkZXNjcmliZSB0aGUgY2hhbmdlczogU1BJX0Z1bGxEdXBsZXhfQ29tRE1BPGJyPjwvc3Bhbj48L2xpPjwvdWw+PC91bD4KKzwvbGk+PC91bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgVElNIDwvc3Bhbj51cGRhdGUmbmJzcDs8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIEhBTF9USU1fQ29uZmlnT0NyZWZDbGVhcigpIGZ1bmN0aW9uIGZvciBwcm9wZXIgY29uZmlndXJhdGlvbiBvZiB0aGUgU01DUiByZWdpc3Rlcjwvc3Bhbj48L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPkFkZCBuZXcgZnVuY3Rpb24gSEFMX1RJTUV4X0NvbmZpZ0JyZWFrSW5wdXQoKSB0byBjb25maWd1cmUgdGhlIGJyZWFrIGlucHV0IHNvdXJjZTwvc3Bhbj48L2xpPjwvdWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5IQUwgVUFSVCwgVVNBUlQsIFNNQVJUQ0FSRCBhbmQgSVJEQSA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyI+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc3R5bGU6IGl0YWxpYzsiPjwvc3Bhbj4ocmVmZXJlbmNlZCBhcyA8c3BhbiBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyI+UFBQPC9zcGFuPiBoZXJlIGJlbG93KTxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyI+IDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPnVwZGF0ZTxiPjxvOnA+PC9vOnA+PC9iPjwvc3Bhbj4gCis8L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPlVwZGF0ZSBQb2xsaW5nIG1hbmFnZW1lbnQ6PC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+VGhlIHVzZXIgVGltZW91dCB2YWx1ZSZuYnNwO211c3QgYmUgZXN0aW1hdGVkIGZvciB0aGUgb3ZlcmFsbCBwcm9jZXNzIGR1cmF0aW9uOiB0aGUgVGltZW91dCBtZWFzdXJlbWVudCBpcyBjdW11bGF0aXZlPC9zcGFuPjwvbGk+PC91bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSBETUEgcHJvY2Vzczo8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSB0aGUgbTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+YW5hZ2VtZW50IG9mIFBQUCBwZXJpcGhlcmFsIGVycm9ycyBkdXJpbmcgRE1BIHByb2Nlc3MuIFRoaXMgcmVxdWlyZXMgdGhlIGZvbGxvd2luZyB1cGRhdGVzIGluIHVzZXIgYXBwbGljYXRpb246PC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJyxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+Q29uZmlndXJlIGFuZCBlbmFibGUgdGhlIFBQUCBJUlEgaW4gSEFMX1BQUF9Nc3BJbml0KCkgZnVuY3Rpb248L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkluIHN0bTMyZjd4eF9pdC5jIGZpbGUsIFBQUF9JUlFIYW5kbGVyKCkgZnVuY3Rpb246IGFkZCBhIGNhbGwgdG8gSEFMX1BQUF9JUlFIYW5kbGVyKCkgZnVuY3Rpb248L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyIgbGFuZz0iRU4tVVMiPkFkZCBhbmQgY3VzdG9taXplIHRoZSBFcnJvciBDYWxsYmFjayBBUEk6IEhBTF9QUFBfRXJyb3JDYWxsYmFjaygpPGJyPjwvc3Bhbj48L2xpPjwvdWw+PC91bD48L3VsPjwvdWw+PHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IiB0eXBlPSJzcXVhcmUiPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBXV0RHIDwvc3Bhbj51cGRhdGUmbmJzcDs8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+T3ZlcmFsbCByZXdvcmsgb2YgdGhlIGRyaXZlciBmb3IgbW9yZSBlZmZpY2llbnQgaW1wbGVtZW50YXRpb248L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+UmVtb3ZlIHRoZSBmb2xsb3dpbmcgQVBJczo8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+SEFMX1dXREdfU3RhcnQoKTwvc3Bhbj48L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9XV0RHX1N0YXJ0X0lUKCk8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfV1dER19Nc3BEZUluaXQoKTwvc3Bhbj48L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPkhBTF9XV0RHX0dldFN0YXRlKCk8L3NwYW4+PC9saT48L3VsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSBpbXBsZW1lbnRhdGlvbjo8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+SEFMX1dXREdfSW5pdCgpPC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPkEmbmJzcDtuZXcgcGFyYW1ldGVyIGluIHRoZSBJbml0IFN0cnVjdHVyZTombmJzcDtFV0lNb2RlPC9zcGFuPjwvbGk+PC91bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfV1dER19Nc3BJbml0KCk8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfV1dER19SZWZyZXNoKCkmbmJzcDs8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+VGhpcyBmdW5jdGlvbiBpbnN1cmVzIHRoZSByZWxvYWQgb2YgdGhlIGNvdW50ZXI8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5UaGUgImNvdW50ZXIiIHBhcmFtZXRlciBoYXMgYmVlbiByZW1vdmVkPC9zcGFuPjwvbGk+PC91bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfV1dER19JUlFIYW5kbGVyKCk8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfV1dER19FYXJseVdha2V1cENhbGxiYWNrKCkgaXMgdGhlIG5ldyBwcm90b3R5cGUgb2YgSEFMX1dXREdfV2FrZXVwQ2FsbGJhY2soKTxicj48L3NwYW4+PC9saT48L3VsPjwvdWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+UmVmZXIgdG8gdGhlIGZvbGxvd2luZyBleGFtcGxlIHRvIGlkZW50aWZ5IHRoZSBjaGFuZ2VzOiBXV0RHX0V4YW1wbGU8L3NwYW4+PC9saT48L3VsPjwvdWw+PGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7IHdpZHRoOiAxODBweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbDsgY29sb3I6IHdoaXRlOyI+VjEuMC40IC8gMDktRGVjZW1iZXItMjAxNTwvc3Bhbj48L2gzPgorPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGNtIDQuNXB0IDE4cHQ7Ij48YiBzdHlsZT0iIj48dT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYTsgY29sb3I6IGJsYWNrOyI+TWFpbgorQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjwvcD48dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsiIHR5cGU9InNxdWFyZSI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIEdlbmVyaWMgPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgSEFMIAord2VhayBlbXB0eSBjYWxsYmFja3MgdG8gcHJldmVudCB1bnVzZWQgYXJndW1lbnQgY29tcGlsYXRpb24gd2FybmluZ3Mgd2l0aCBzb21lIAorY29tcGlsZXJzIGJ5IGNhbGxpbmcgdGhlIGZvbGxvd2luZyBsaW5lOjwvc3Bhbj4KKzwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlVOVVNFRChocHBwKTs8L3NwYW4+PC9saT48L3VsPjwvdWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIEVUSDwvc3Bhbj4gdXBkYXRlJm5ic3A7PC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSBIQUxfRVRIX0luaXQoKSBmdW5jdGlvbiB0byBhZGQgdGltZW91dCBvbiB0aGUgU29mdHdhcmUgcmVzZXQgbWFuYWdlbWVudDxicj48L3NwYW4+PC9saT48L3VsPjwvdWw+PGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7IHdpZHRoOiAxODBweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbDsgY29sb3I6IHdoaXRlOyI+VjEuMC4zIC8gMTMtTm92ZW1iZXItMjAxNTwvc3Bhbj48L2gzPgorPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGNtIDQuNXB0IDE4cHQ7Ij48YiBzdHlsZT0iIj48dT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYTsgY29sb3I6IGJsYWNrOyI+TWFpbgorQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjwvcD48dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsiIHR5cGU9InNxdWFyZSI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5HZW5lcmFsIHVwZGF0ZXMgCit0byBmaXgga25vd24gZGVmZWN0cyBhbmQgZW5oYW5jZW1lbnRzIGltcGxlbWVudGF0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+PC9zcGFuPjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmEsc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+T25lIGNoYW5nZSBkb25lIG9uIHRoZSBIQUwgQ1JZUCByZXF1aXJlcyBhbiB1cGRhdGUgb24gCit0aGUgYXBwbGljYXRpb24gY29kZSBiYXNlZCBvbiBIQUwgVjEuMC4yPC9zcGFuPjwvc3Bhbj4KKzwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSAKK0hBTF9DUllQX0RFU0VDQl9EZWNyeXB0KCkgQVBJIHRvIGludmVydCBwUGxhaW5EYXRhIGFuZCBwQ3lwaGVyRGF0YSAKK3BhcmFtZXRlcnM8L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBHZW5lcmljIDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7IGZvbnQtd2VpZ2h0OiBub3JtYWw7Ij51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIEhBTCAKK3dlYWsgZW1wdHkgY2FsbGJhY2tzIHRvIHByZXZlbnQgdW51c2VkIGFyZ3VtZW50IGNvbXBpbGF0aW9uIHdhcm5pbmdzIHdpdGggc29tZSAKK2NvbXBpbGVycyBieSBjYWxsaW5nIHRoZSBmb2xsb3dpbmcgbGluZTo8L3NwYW4+Cis8L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5VTlVTRUQoaHBwcCk7PC9zcGFuPjwvbGk+PC91bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5SZW1vdmUgcmVmZXJlbmNlcyB0byBTVE0zMkN1YmVNWCBhbmQgTWljcm9YcGxvcmVyIGZyb20gc3RtMzJmN3h4X2hhbF9tc3BfdGVtcGxhdGUuYyBmaWxlPGJyPjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIEFEQzwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7IGZvbnQtd2VpZ2h0OiBub3JtYWw7Ij4gdXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsiPlJlcGxhY2UgQURDX0NIQU5ORUxfVEVNUFNFTlNPUiBkZWZpbml0aW9uIGZyb20gQURDX0NIQU5ORUxfMTYgdG8gQURDX0NIQU5ORUxfMTggPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyBmb250LXdlaWdodDogbm9ybWFsOyI+Jm5ic3A7PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyBmb250LXdlaWdodDogbm9ybWFsOyI+VXBkYXRlIEhBTCBBREMgZHJpdmVyIHN0YXRlIG1hY2hpbmUgZm9yIGNvZGUgZWZmaWNpZW5jeTwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiIGxhbmc9IkVOLVVTIj5BZGQgbmV3IGxpdGVyYWw6IEFEQ19JTkpFQ1RFRF9TT0ZUV0FSRV9TVEFSVCB0byBiZSB1c2VkIGFzIHBvc3NpYmxlIAordmFsdWUgZm9yIHRoZSBFeHRlcm5hbFRyaWdJbmplY0NvbnZFZGdlIHBhcmFtZXRlciBpbiB0aGUgQURDX0luaXRUeXBlRGVmIAorc3RydWN0dXJlIHRvIHNlbGVjdCB0aGUgQURDIHNvZnR3YXJlIHRyaWdnZXIgbW9kZS48L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBDT1JURVggPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZTwvc3Bhbj4KKzwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlJlbW92ZSBkdXBsaWNhdGlvbiAKK2ZvciBfX0hBTF9DT1JURVhfU1lTVElDS0NMS19DT05GSUcoKSBtYWNybzwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIENSWVAgPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgSEFMX0NSWVBfREVTRUNCX0RlY3J5cHQoKSBBUEkgdG8gZml4IHRoZSBpbnZlcnRlZCBwUGxhaW5EYXRhIGFuZCBwQ3lwaGVyRGF0YSBwYXJhbWV0ZXJzIGlzc3VlIDwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIEZMQVNIIDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIE9CX0lXREdfU1RPUF9BQ1RJVkUgZGVmaW5pdGlvbjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSBPQl9SRFBfTEVWRUxfeCBkZWZpbml0aW9uIGJ5IHByb3BlciB2YWx1ZXM8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgRkxBU0hfTWFzc0VyYXNlKCkgZnVuY3Rpb24gdG8gY29uc2lkZXIgdGhlIHZvbHRhZ2UgcmFuZ2UgcGFyYW1ldGVyIGluIHRoZSBtYXNzIGVyYXNlIGNvbmZpZ3VyYXRpb24gPGJyPjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIFJDQzwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7IGZvbnQtd2VpZ2h0OiBub3JtYWw7Ij4gdXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZSB2YWx1ZXMgZm9yIExTRSBEcml2ZSBjYXBhYmlsaXR5IGRlZmluZXM8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij51cGRhdGUgUExMTiBtaW4gdmFsdWUgNTAgaW5zdGVhZCBvZiAxMDA8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5hZGQgUkNDX1BMTEkyU1BfRElWeCBkZWZpbmVzIGZvciBQTExJMlNQIGNsb2NrIGRpdmlkZXI8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7IiBsYW5nPSJFTi1VUyI+VXBkYXRlIF9fSEFMX1JDQ19VU0JfT1RHX0ZTX0NMS19ESVNBQkxFKCkgbWFjcm8gdG8gcmVtb3ZlIHRoZSBkaXNhYmxlIG9mIHRoZSBTWVNDRkc8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij4mbmJzcDs8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij5VcGRhdGUgSEFMX1JDQ0V4X0dldFBlcmlwaENMS0ZyZXEoKSBmdW5jdGlvbiBmb3IgcHJvcGVyIFNBSSBjbG9jayBjb25maWd1cmF0aW9uPGJyPjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIFNBSSA8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij51cGRhdGUgZm9yIHByb3BlciBtYW5hZ2VtZW50IG9mIHRoZSBleHRlcm5hbCBzeW5jaHJvbml6YXRpb24gaW5wdXQgc2VsZWN0aW9uPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZSBvZiZuYnNwO0hBTF9TQUlfSW5pdCAoKSBmdW5jaXRvbjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZSBkZWZpbml0aW9uIG9mIFNBSV9CbG9ja19TeW5jRXh0IGFuZCBTQUlfQmxvY2tfU3luY2hyb25pemF0aW9uIGdyb3Vwczwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+dXBkYXRlIFNBSV9TTE9UQUNUSVZFX1ggJm5ic3A7ZGVmaW5lcyB2YWx1ZXM8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij51cGRhdGUmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5IQUxfU0FJX0luaXQoKSBmdW5jdGlvbiBmb3IgcHJvcGVyIGNvbXBhbmRpbmcgbW9kZSBtYW5hZ2VtZW50PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+dXBkYXRlIFNBSV9UcmFuc21pdF9JVHh4Qml0KCkgZnVuY3Rpb25zIHRvIGFkZCB0aGUgY2hlY2sgb24gdHJhbnNmZXIgY291bnRlciBiZWZvcmUgd3JpdGluZyBuZXcgZGF0YSB0byBTQUl4X0RSIHJlZ2lzdGVyczwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZSBTQUlfRmlsbEZpZm8oKSBmdW5jdGlvbiB0byBhdm9pZCBpc3N1ZSB3aGVuIHRoZSBudW1iZXIgb2YgZGF0YSB0byB0cmFuc21pdCBpcyBzbWFsbGVyIHRoYW4gdGhlIEZJRk8gc2l6ZTwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZSBIQUxfU0FJX0VuYWJsZVJ4TXV0ZU1vZGUoKSBmdW5jdGlvbiBmb3IgcHJvcGVyIG11dGUgbWFuYWdlbWVudDwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZSBTQUlfSW5pdFBDTSgpIGZ1bmN0aW9uIHRvIHN1cHBvcnQgMjRiaXRzIGNvbmZpZ3VyYXRpb248L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBTRCA8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7IGZvbnQtd2VpZ2h0OiBub3JtYWw7Ij51cGRhdGUgSEFMX1NEX0dldF9DYXJkSW5mbygpIHRvIHByb3Blcmx5IHN1cHBvcnQgaGlnaCBjYXBhY2l0eSBjYXJkczwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxicj48L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBTUERJRlJYIDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyBmb250LXdlaWdodDogbm9ybWFsOyI+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZSBTUERJRlJYX0RNQVJ4Q3BsdCgpIGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uIHRvJm5ic3A7Y2hlY2sgb24gY2lyY3VsYXIgbW9kZSBiZWZvcmUgZGlzYWJsaW5nIHRoZSBETUE8L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBUSU0gPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7IGZvbnQtd2VpZ2h0OiBub3JtYWw7Ij51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIEhBTF9USU1fQ29uZmlnQ2xvY2tTb3VyY2UoKSBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbiBmb3IgcHJvcGVyIHBhcmFtZXRlcnMgY2hlY2s8L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBVQVJUPC9zcGFuPiB1cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIF9fSEFMX1VBUlRfQ0xFQVJfSVQgbWFjcm8gZm9yIHByb3BlciBmdW5jdGlvbm5pbmcmbmJzcDs8L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPmxsIEZNQzwvc3Bhbj4gdXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPmFkZCBGTUNfUEFHRV9TSVpFXzUxMiBkZWZpbmU8L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPmxsIFNETU1DPC9zcGFuPiB1cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+dXBkYXRlIFNETU1DX1NldFNETU1DUmVhZFdhaXRNb2RlKCkgZnVuY3Rpb24gZm9yIHByb3BlciBmdW5jdGlvbm5pbmc8L3NwYW4+PC9saT48L3VsPjwvdWw+PGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IGluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7IHdpZHRoOiAxODBweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbDsgY29sb3I6IHdoaXRlOyI+VjEuMC4yIC8gMjEtU2VwdGVtYmVyLTIwMTU8L3NwYW4+PC9oMz4KKzxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBjbSA0LjVwdCAxOHB0OyI+PGIgc3R5bGU9IiI+PHU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFZlcmRhbmE7IGNvbG9yOiBibGFjazsiPk1haW4KK0NoYW5nZXM8L3NwYW4+PC91PjwvYj48L3A+PHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IiB0eXBlPSJzcXVhcmUiPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBHZW5lcmljIDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7IGZvbnQtd2VpZ2h0OiBub3JtYWw7Ij51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+c3RtMzJmN3h4X2hhbC5jb25mX3RlbXBsYXRlLmg6IHVwZGF0ZSZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPkhTRV9TVEFSVFVQX1RJTUVPVVQ8L3NwYW4+PC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5zdG0zMmY3eHhfaGFsX2RlZi5oOiB1cGRhdGUgdGhlPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+IHF1b3RhdGlvbiBtYXJrcyB1c2VkIGluICNlcnJvciJVU0VfUlRPUyBzaG91bGQgYmUgMCBpbiB0aGUgY3VycmVudCBIQUwgcmVsZWFzZSI8L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBETUE8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyBmb250LXdlaWdodDogbm9ybWFsOyI+IHVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5PdmVyYWxsIAorZHJpdmVyIHVwZGF0ZSBmb3IgY29kZSBvcHRpbWl6YXRpb248L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+YWRkIAorU3RyZWFtQmFzZUFkZHJlc3MgYW5kIFN0cmVhbUluZGV4IG5ldyBmaWVsZHMgaW4gdGhlIERNQV9IYW5kbGVUeXBlRGVmIAorc3RydWN0dXJlPC9zcGFuPgorPC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5hZGQgCitETUFfQmFzZV9SZWdpc3RlcnMgcHJpdmF0ZSBzdHJ1Y3R1cmU8L3NwYW4+Cis8L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPmFkZCBzdGF0aWMgZnVuY3Rpb24gCitETUFfQ2FsY0Jhc2VBbmRCaXRzaGlmdCgpPC9zcGFuPgorPC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij51cGRhdGUgCitIQUxfRE1BX0luaXQoKSBmdW5jdGlvbiB0byB1c2UgdGhlIG5ldyBhZGRlZCBzdGF0aWMgZnVuY3Rpb248L3NwYW4+Cis8L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZSAKK0hBTF9ETUFfRGVJbml0KCkgZnVuY3Rpb24gdG8gb3B0aW1pemUgY2xlYXIgZmxhZyBvcGVyYXRpb25zPC9zcGFuPgorPC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij51cGRhdGUgCitIQUxfRE1BX1N0YXJ0X0lUKCkgZnVuY3Rpb24gdG8gb3B0aW1pemUgaW50ZXJydXB0cyBlbmFibGU8L3NwYW4+Cis8L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZSAKK0hBTF9ETUFfUG9sbEZvclRyYW5zZmVyKCkgZnVuY3Rpb24gdG8gb3B0aW1pemUgY2hlY2sgb24gZmxhZ3M8L3NwYW4+Cis8L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZSAKK0hBTF9ETUFfSVJRSGFuZGxlcigpIGZ1bmN0aW9uIHRvIG9wdGltaXplIGludGVycnVwdCBmbGFnIG1hbmFnZW1lbnQ8L3NwYW4+PC9saT48L3VsPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIEVUSCZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyBmb250LXdlaWdodDogbm9ybWFsOyI+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPnJlbW92ZSBkdXBsaWNhdGVkIG1hY3JvIElTX0VUSF9SWF9NT0RFKCk8L3NwYW4+PHNtYWxsPjxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij48L3NwYW4+PC9zbWFsbD48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIEdQSU8gPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7IGZvbnQtd2VpZ2h0OiBub3JtYWw7Ij51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+UmVuYW1lIAorR1BJT19TUEVFRF9MT1cgZGVmaW5lIHRvIEdQSU9fU1BFRURfRlJFUV9MT1c8L3NwYW4+Cis8L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlJlbmFtZSAKK0dQSU9fU1BFRURfTUVESVVNIGRlZmluZSB0byBHUElPX1NQRUVEX0ZSRVFfTUVESVVNPC9zcGFuPgorPC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5SZW5hbWUgCitHUElPX1NQRUVEX0ZBU1QgZGVmaW5lIHRvIEdQSU9fU1BFRURfRlJFUV9ISUdIPC9zcGFuPgorPC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5SZW5hbWUgCitHUElPX1NQRUVEX0hJR0ggZGVmaW5lIHRvIEdQSU9fU1BFRURfRlJFUV9WRVJZX0hJR0g8L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBIQVNIIDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyBmb250LXdlaWdodDogbm9ybWFsOyI+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlJlbmFtZSAKK0hBTF9IQVNIX1NUQVRFVHlwZURlZiB0byBIQUxfSEFTSF9TdGF0ZVR5cGVEZWY8L3NwYW4+Cis8L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlJlbmFtZSAKK0hBTF9IQVNIX1BoYXNlVHlwZURlZiB0byBIQUxfSEFTSFBoYXNlVHlwZURlZjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIFJDQyA8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij48L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+dXBkYXRlIHZhbHVlcyBmb3IgTFNFIERyaXZlIGNhcGFiaWxpdHkgZGVmaW5lczwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZSBQTExOL1BMTEkyU04vUExMU0FJIFZDTyBtaW4gdmFsdWUgMTAwTUh6IGluc3RlYWQgb2YgMTkyTUh6PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+YWRkIF9fSEFMX1JDQ19NQ08xX0NPTkZJRygpIGFuZCA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij5fX0hBTF9SQ0NfTUNPMl9DT05GSUcoKSBtYWNyb3M8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PC9saT48L3VsPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij51cGRhdGUgSEFMX1JDQ0V4X1BlcmlwaENMS0NvbmZpZygpIGZ1bmN0aW9uIHRvIHJlc2V0IHRoZSBCYWNrdXAgZG9tYWluIG9ubHkgaWYgdGhlIFJUQyBDbG9jayBzb3VyY2Ugc2VsZWN0aW9uIGlzIG1vZGlmaWVkJm5ic3A7PC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgVElNPC9zcGFuPiB1cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+dXBkYXRlIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBfX0hBTF9USU1fU0VUX0NPTVBBUkUoKSBtYWNybzwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPnJlbW92ZSB1c2VsZXNzIGFzc2VydCgpIGluJm5ic3A7SEFMX1RJTV9QV01fQ29uZmlnQ2hhbm5lbCgpLCBUSU1fT0MyX1NldENvbmZpZygpIGFuZCBIQUxfVElNX1BXTV9Db25maWdDaGFubmVsKCkgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+ZnVuY3Rpb25zPC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgQ0FOPC9zcGFuPiB1cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+YWRkIHRoZSBjbGVhciBmbGFnIEVSUkkgYml0IGluIEhBTF9DQU5fSVJRSGFuZGxlcigpPC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgSTJTPC9zcGFuPiB1cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+dXBkYXRlIEkyUyBIQUxfSTJTX1RyYW5zbWl0KCkgQVBJJm5ic3A7dG8ga2VlcCB0aGUgY2hlY2sgb24gYnVzeSBmbGFnIG9ubHkgZm9yIHRoZSBzbGF2ZTwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIFFTUEk8L3NwYW4+IHVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij5BZGQgX19IQUxfUVNQSV9DTEVBUl9GTEFHKCkgYmVmb3JlIFFTUElfQ29uZmlnKCk8L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBVQVJUPC9zcGFuPiB1cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+UmVtb3ZlCitlbmFibGluZyBvZiBFUlIgSVQgc291cmNlIGFuZCBQRSBzb3VyY2UgZnJvbSBIQUxfVUFSVF9UcmFuc21pdF9JVCgpIGFuZAorcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIGRpc2FibGluZyBFUlIvUEUgSVQgZnJvbSBVQVJUX0VuZFRyYW5zbWl0X0lUKCk8L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBQQ0Q8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+IHVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij4mbmJzcDs8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+Q2xlYW4gc3RhdHVzIHBoYXNlIHJlY2VpdmVkIGludGVycnVwdCB3aGVuIERNQSBtb2RlIGVuYWJsZWQmbmJzcDs8L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBIQ0QgPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+PC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSB0byB1c2UgbG9jYWwgCit2YXJpYWJsZSBpbiBVU0IgSG9zdCBjaGFubmVsIHJlLWFjdGl2YXRpb248L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPmxsIEZNQzwvc3Bhbj4gdXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZSB0aGUgZGVmaW5lIEZNQyBXcml0ZSBGSUZPIERpc2FibGUvRW5hYmxlOiBGTUNfV1JJVEVfRklGT19ESVNBQkxFIGFuZCBGTUNfV1JJVEVfRklGT19FTkFCTEU8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij5yZW1vdmUgcmV0dXJuIEhBTF9FUlJPUiBmcm9tIEZNQ19TRFJBTV9TZW5kQ29tbWFuZCgpIGZ1bmN0aW9uPC9zcGFuPjwvbGk+PC91bD48L3VsPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+PC9zcGFuPjxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiBpbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyB3aWR0aDogMTgwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogQXJpYWw7IGNvbG9yOiB3aGl0ZTsiPlYxLjAuMSAvIDI1LUp1bmUtMjAxNTwvc3Bhbj48L2gzPgorPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGNtIDQuNXB0IDE4cHQ7Ij48YiBzdHlsZT0iIj48dT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogVmVyZGFuYTsgY29sb3I6IGJsYWNrOyI+TWFpbgorQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjwvcD48dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsiIHR5cGU9InNxdWFyZSI+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYSxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEwcHQ7Ij5HZW5lcmFsIHVwZGF0ZXMgCit0byBmaXgga25vd24gZGVmZWN0cyBhbmQgZW5oYW5jZW1lbnRzIGltcGxlbWVudGF0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIENSQyZuYnNwOzwvc3Bhbj51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+dXBkYXRlIF9fSEFMX0NSQ19TRVRfSURSKCkgbWFjcm8gaW1wbGVtZW50YXRpb24gdG8gdXNlIFdSSVRFX1JFRygpIGluc3RlYWQgb2YgTU9ESUZZX1JFRygpPGJyPjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIENFQyZuYnNwOzwvc3Bhbj51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+dXBkYXRlIHRpbWVvdXQgbWFuYWdlbWVudCBpbiBIQUxfQ0VDX1RyYW5zbWl0KCkgYW5kIEhBTF9DRUNfUmVjZWl2ZSgpIGZ1bmN0aW9uczwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIENvcnRleCA8L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZSBIQUxfTVBVX0NvbmZpZ1JlZ2lvbigpIGZ1bmN0aW9uIHRvIGJlIG1pc3JhIGNvbXBsaWFudDwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIEVUSCA8L3NwYW4+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlJlbW92ZSAKK2R1cGxpY2F0ZWQgSVNfRVRIX0RVUExFWF9NT0RFKCkgYW5kIElTX0VUSF9SWF9NT0RFKCkgbWFjcm9zPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+PC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+UmVtb3ZlIAoraWxsZWdhbCBzcGFjZSBFVEhfTUFDX1JFQURDT05UUk9MTEVSX0ZMVVNISU5HIG1hY3JvPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+VXBkYXRlIAorRVRIX01BQ19SRUFEQ09OVFJPTExFUl9YWFggZGVmaW5lZCB2YWx1ZXMgKFhYWCBjYW4gYmUgSURMRSwgUkVBRElOR19EQVRBIGFuZCAKK1JFQURJTkdfU1RBVFVTKTwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIEZMQVNIIDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+dXBkYXRlIEZMQVNIX09CX0dldFJEUCgpIGZ1bmN0aW9uIHRvIHJldHVybiB1aW50OF90ICZuYnNwO2luc3RlYWQgb2YgRmxhZ1N0YXR1czwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZSBPQl9SRFBfTEVWRUx4IGRlZmluaXRpb248L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij5hZGQgX19IQUxfRkxBU0hfR0VUX0xBVEVOQ1koKSBtYWNybzwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIEhBU0ggPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPjwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij51cGRhdGUKK0hBU0hfRE1BWGZlckNwbHQoKSBhbmQgSEFTSEV4X0RNQVhmZXJDcGx0KCkgZnVuY3Rpb25zIHRvIHByb3Blcmx5Citjb25maWd1cmUgdGhlIG51bWJlciBvZiB2YWxpZCBiaXRzIGluIGxhc3Qgd29yZCBvZiB0aGUgbWVzc2FnZTwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZSBIQUxfSEFTSF9TSEExX0FjY3VtdWxhdGUoKSBmdW5jdGlvbiB0byBjaGVjayBvbiB0aGUgbGVuZ3RoIG9mIHRoZSBpbnB1dCBidWZmZXI8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij51cGRhdGUKK0hBTF9IQVNIXzxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsgZm9udC1zdHlsZTogaXRhbGljOyI+TU9ERTwvc3Bhbj5fU3RhcnRfSVQoKSBmdW5jdGlvbnMgKDxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5Nb2RlIDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+PC9zcGFuPnN0YW5kcyBmb3IgTUQ1LCBTSEExLCBTSEEyMjQgYW5kIFNIQTI1NjxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij4gPC9zcGFuPjwvc3Bhbj4pIHRvIDo8L3NwYW4+PC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+Rml4IHByb2Nlc3NpbmcgCitmYWlsIGZvciBzbWFsbCBpbnB1dCBidWZmZXJzPC9zcGFuPgorPC9saT48bGkgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsgY29sb3I6IGJsYWNrOyIgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij50byB1bmxvY2sgCit0aGUgcHJvY2VzcyBhbmQgY2FsbCByZXR1cm4gSEFMX09LIGF0IHRoZSBlbmQgb2YgSEFTSCBwcm9jZXNzaW5nIHRvIGF2b2lkIAoraW5jb3JyZWN0IHJlcGVhdGluZyBzb2Z0d2FyZTwvc3Bhbj4KKzwvbGk+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+cHJvcGVybHkgdG8gbWFuYWdlIAordGhlIEhhc2hJVENvdW50ZXIgZWZmaWNpZW5jeSA8L3NwYW4+Cis8L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSB0byBjYWxsIHRoZSAKK0hBTF9IQVNIX0luQ3BsdENhbGxiYWNrKCkgYXQgdGhlIGVuZCBvZiB0aGUgY29tcGxldGUgYnVmZmVyIGluc3RlYWQgCitvZjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPiAKK2V2ZXJ5IGVhY2ggNTEyIGJpdHMgPC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij51cGRhdGUgSEFTSF9JVF9ESU5JIGFuZCBIQVNIX0lUX0RDSSBkZWZpbml0aW9uPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+dXBkYXRlIF9fSEFMX0hBU0hfR0VUX0ZMQUcoKSBtYWNybyBkZWZpbml0aW9uPGJyPjwvc3Bhbj48L2xpPjwvdWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIEkyUyA8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+dXBkYXRlPC9zcGFuPjwvbGk+PHVsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZSBIQUxfSTJTX1RyYW5zbWl0KCkgZnVuY3Rpb24gdG8gZW5zdXJlIHRoZSB3YWl0aW5nIG9uIEJ1c3kgZmxhZyBpbiBjYXNlIG9mIHNsYXZlIG1vZGUgc2VsZWN0aW9uPC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgUlRDIDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+dXBkYXRlIEhBTF9SVENFeF9TZXRXYWtlVXBUaW1lcigpIGFuZCBIQUxfUlRDRXhfU2V0V2FrZVVwVGltZXJfSVQoKSBmdW5jdGlvbnMgdG8gcHJvcGVybHkgY2hlY2sgb24gV1VUV0YgZmxhZzwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPnJlbmFtZSBSVENfVElNRVNUQU1QUElOX1BJOCBkZWZpbmUgdG8gUlRDX1RJTUVTVEFNUFBJTl9QT1MxPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+cmVuYW1lIFJUQ19USU1FU1RBTVBQSU5fUEMxIGRlZmluZSB0byBSVENfVElNRVNUQU1QUElOX1BPUzI8L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij51cGRhdGUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0NMRUFSX0ZMQUcoKSBtYWNybyBkZWZpbml0aW9uPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+dXBkYXRlIF9fSEFMX1JUQ19UQU1QRVJfR0VUX0lUKCkgbWFjcm8gZGVmaW5pdGlvbjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZSBfX0hBTF9SVENfVEFNUEVSX0NMRUFSX0ZMQUcoKSBtYWNybyBkZWZpbml0aW9uPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+dXBkYXRlIF9fSEFMX1JUQ19USU1FU1RBTVBfQ0xFQVJfRkxBRygpIG1hY3JvIGRlZmluaXRpb248L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij51cGRhdGUgX19IQUxfUlRDX1RBTVBFUl9USU1FU1RBTVBfRVhUSV9HRVRfRkxBRygpIG1hY3JvIGRlZmluaXRpb248L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij5hZGQgUlRDX1RBTVBDUl9UQU1QWEUgYW5kIFJUQ19UQU1QQ1JfVEFNUFhJRSBkZWZpbmVzPC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgU01BUlRDQVJEIDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+YWRkIFNNQVJUQ0FSRF9GTEFHX0lETEUsIFNNQVJUQ0FSRF9JVF9JRExFIGFuZCZuYnNwOyBTTUFSVENBUkRfQ0xFQVJfSURMRUYgZGVmaW5lczxicj48L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBVQVJUIDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij51cGRhdGU8L3NwYW4+PC9saT48dWw+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+dXBkYXRlIEhBTF9VQVJUX0RNQVJlc3VtZSgpIGZ1bmN0aW9uIHRvIGNsZWFyIG92ZXJydW4gZmxhZyBiZWZvcmUgcmVzdW1pbmcgdGhlIFJ4IHRyYW5zZmVyPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+dXBkYXRlIFVBUlRfRkxBR19TQktGIGRlZmluaXRpb248YnI+PC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgVVNBUlQgPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij51cGRhdGUgSEFMX1VTQVJUX0RNQVJlc3VtZSgpIGZ1bmN0aW9uIHRvIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPmNsZWFyIG92ZXJydW4gZmxhZyBiZWZvcmUgcmVzdW1pbmcgdGhlIFJ4IHRyYW5zZmVyPC9zcGFuPjwvbGk+PC91bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnVmVyZGFuYScsJ3NhbnMtc2VyaWYnOyBmb250LXNpemU6IDEwcHQ7Ij48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5MTCBGTUMgPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPnVwZGF0ZTwvc3Bhbj48L2xpPjx1bD48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij51cGRhdGUgTkFORCB0aW1pbmcgbWF4aW11bSB2YWx1ZXM8L3NwYW4+PC9saT48L3VsPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkxMIFVTQiA8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+dXBkYXRlPC9zcGFuPgorPC9saT48dWw+PGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7IGNvbG9yOiBibGFjazsiIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1ZlcmRhbmEnLCdzYW5zLXNlcmlmJzsgZm9udC1zaXplOiAxMHB0OyI+VVNCX0ZsdXNoVHhGaWZvIEFQSTogCit1cGRhdGUgdG8gZmx1c2ggYWxsIFR4IEZJRk88L3NwYW4+Cis8L2xpPjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyBjb2xvcjogYmxhY2s7IiBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdWZXJkYW5hJywnc2Fucy1zZXJpZic7IGZvbnQtc2l6ZTogMTBwdDsiPlVwZGF0ZSB0byB1c2UgbG9jYWwgCit2YXJpYWJsZSBpbiBVU0IgSG9zdCBjaGFubmVsIHJlLWFjdGl2YXRpb248L3NwYW4+PC9saT48L3VsPjwvdWw+Cis8Yj48dT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBjb2xvcjogYmxhY2s7Ij48L3NwYW4+PC91PjwvYj4KKzxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiBpbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyB3aWR0aDogMTgwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogQXJpYWw7IGNvbG9yOiB3aGl0ZTsiPlYxLjAuMCAvIDEyLU1heS0yMDE1PC9zcGFuPjwvaDM+Cis8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwY20gNC41cHQgMThwdDsiPjxiIHN0eWxlPSIiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBWZXJkYW5hOyBjb2xvcjogYmxhY2s7Ij5NYWluCitDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PC9wPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+PC9zcGFuPjx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyIgdHlwZT0ic3F1YXJlIj48bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBWZXJkYW5hOyBmb250LXNpemU6IDEwcHQ7Ij48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsiPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdDsiPkZpcnN0IG9mZmljaWFsIHJlbGVhc2UgZm9yPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC1zaXplOiAxMHB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc3R5bGU6IGl0YWxpYzsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4gU1RNMzJGNzU2eHgvNzQ2eHgvNzQ1eHg8L3NwYW4+IAorZGV2aWNlczwvc3Bhbj48L2xpPjwvdWw+Cis8Yj48dT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBjb2xvcjogYmxhY2s7Ij48L3NwYW4+PC91PjwvYj4KIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+Rml4IHdyb25nIGNhc3Qgd2hlbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wdXRpbmcgdGhlIFVTQVJURElWIHZhbHVlIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNQVJUQ0FSRF9TZXRDb25maWcoKS48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDEgbGZvMTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7O21zby1hbnNpLWxhbmd1YWdlOkZSOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiI+SEFML0xMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSTwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDs7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RlI7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGUiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+VXBkYXRlZCB0byBpbXBsZW1lbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXJyYXRhc2hlZXQ6IEJTWSBiaXQgbWF5IHN0YXkgaGlnaAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdCB0aGUgZW5kIG9mIGEgZGF0YSB0cmFuc2ZlciBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbGF2ZSBtb2RlLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+VXBkYXRlZCB0byBmaXgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUlTUkEtQyAyMDEyIFJ1bGUtMTMuMi48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMTF9TUElfVHJhbnNtaXREYXRhOCgpIEFQSSB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdm9pZCBjYXN0aW5nIHRoZSByZXN1bHQgdG8gOAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaXRzLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMSBsZm8xO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RlI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIj5IQUwgU01CVVM8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7O21zby1hbnNpLWxhbmd1YWdlOkZSO21zby1mYXJlYXN0LWxhbmd1YWdlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPlVwZGF0ZSB0byBmaXggaXNzdWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgbWlzbWF0Y2hlZCBkYXRhIHJlY2VpdmVkIGJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc3RlciBpbiBjYXNlIG9mIGRhdGEgc2l6ZSB0byBiZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc21pdHRlZCBieSB0aGUgc2xhdmUgaXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlYXRlciB0aGFuIHRoZSBkYXRhIHNpemUgdG8gYmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZWQgYnkgdGhlIG1hc3Rlci48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmc9IkVOLVVTIj5BZGQgZmx1c2ggb24gVFgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlci48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMSBsZm8xO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RlI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIj5IQUwgSTJDPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90Ozttc28tYW5zaS1sYW5ndWFnZTpGUjttc28tZmFyZWFzdC1sYW5ndWFnZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZSIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OzsgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmc9IkVOLVVTIj5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0lzQWNrbm93bGVkZ2VGYWlsZWQoKSBBUEkgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZvaWQgSTJDIGluIGJ1c3kgc3RhdGUgaWYgTkFDSwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNlaXZlZCBhZnRlciB0cmFuc21pdHRpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXIgYWRkcmVzcy48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPlVwZGF0ZSB0byBoYW5kbGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzIGluIHBvbGxpbmcgbW9kZS48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmc9IkVOLVVTIj5SZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfSXNBY2tub3dsZWRnZUZhaWxlZCgpIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0lzRXJyb3JPY2N1cnJlZCgpIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcnJlY3RseSBtYW5hZ2Ugd2hlbiBlcnJvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9jY3Vycy48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+RGVjbGFyZSBhbiBpbnRlcm5hbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyBsaW5rIHRvIERNQSBtYWNybyB0byBjaGVjawotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW1haW5pbmcgZGF0YToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0dFVF9ETUFfUkVNQUlOX0RBVEE8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPkZpeCB3cml0dGVuIHJlc2VydmVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpdCAyOCBpbiBJMkNfQ1IyIHJlZ2lzdGVyLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+VXBkYXRlIHRvIGZpeCBpc3N1ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRlY3RlZCBkdWUgdG8gbG93IHN5c3RlbQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmVxdWVuY3kgZXhlY3V0aW9uIChIU0kpLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMSBsZm8xO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RlI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIj5IQUwgQ0FOPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90Ozttc28tYW5zaS1sYW5ndWFnZTpGUjttc28tZmFyZWFzdC1sYW5ndWFnZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZSIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OzsgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmc9IkVOLVVTIj5VcGRhdGUgSEFMX0NBTl9Jbml0KCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGJlIGFsaWduZWQgd2l0aCByZWZlcmVuY2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFudWFsIGFuZCB0byBhdm9pZCB0aW1lb3V0IGVycm9yOjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPlVwZGF0ZSBDQU4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbml0aWFsaXphdGlvbiBzZXF1ZW5jZSB0byBzZXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVxdWVzdCBpbml0aWFsaXphdGlvbiIgYml0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlIGV4aXQgZnJvbSBzbGVlcCBtb2RlLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwxIGxmbzE7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90Ozttc28tYW5zaS1sYW5ndWFnZTpGUjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiPkhBTCBEU0k8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7O21zby1hbnNpLWxhbmd1YWdlOkZSO21zby1mYXJlYXN0LWxhbmd1YWdlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPlVwZGF0ZSBIQUxfRFNJX1JlYWQoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBhdm9pZCBIQUxfVElNRU9VVCB3aGVuIGEgRFNJCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWQgY29tbWFuZCBpcyBpc3N1ZWQgdG8gdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhbmVsIGFuZCB0aGUgcmVhZCBkYXRhIGlzIG5vdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXB0dXJlZCBieSB0aGUgRFNJIEhvc3Qgd2hpY2gKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJucyBQYWNrZXQgU2l6ZSBFcnJvci48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDEgbGZvMTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7O21zby1hbnNpLWxhbmd1YWdlOkZSOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiI+SEFMIFFTUEk8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7O21zby1hbnNpLWxhbmd1YWdlOkZSO21zby1mYXJlYXN0LWxhbmd1YWdlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPkZpeCBjb21waWxhdGlvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nIHdpdGggR0NDIFY5LjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFTUElfV2FpdEZsYWdTdGF0ZVVudGlsVGltZW91dF9DUFVDeWNsZSgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIG1hbmFnZSB0aW1lb3V0IHVzaW5nIENQVSBjeWNsZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMSBsZm8xO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RlI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIj5MTCBGTUM8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7O21zby1hbnNpLWxhbmd1YWdlOkZSO21zby1mYXJlYXN0LWxhbmd1YWdlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPkdlbmVyYWwgcmVmYWN0b3JpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGNsZWFuLXVwLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+VXBkYXRlIHRvIGF2b2lkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIJN1bnVzZWQgdmFyaWFibGWUIHdhcm5pbmdzLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMSBsZm8xO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RlI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIj5IQUwgU1JBTTwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDs7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RlI7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGUiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+R2VuZXJhbCByZWZhY3RvcmluZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgY2xlYW4tdXAuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OzsgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmc9IkVOLVVTIj5IQUxfU1JBTV9Qcm9jZXNzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVcGRhdGUgdG8gY2hlY2sgb24gdGhlIFNSQU0gc3RhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlIHBlcmZvcm1pbmcgb3BlcmF0aW9uLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMSBsZm8xO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RlI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIj5IQUwgTkFORDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDs7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RlI7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGUiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+R2VuZXJhbCByZWZhY3RvcmluZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgY2xlYW4tdXAuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwxIGxmbzE7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90Ozttc28tYW5zaS1sYW5ndWFnZTpGUjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiPkhBTCBOT1I8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7O21zby1hbnNpLWxhbmd1YWdlOkZSO21zby1mYXJlYXN0LWxhbmd1YWdlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPkdlbmVyYWwgcmVmYWN0b3JpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGNsZWFuLXVwLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+VXBkYXRlIGFkZHJlc3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsY3VsYXRpb24gaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX05PUl9Qcm9ncmFtQnVmZmVyKCkgQVBJPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OzsgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmc9IkVOLVVTIj5BcHBseSBhZGVxdWF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kcyBhY2NvcmRpbmcgdG8gdGhlIGNvbW1hbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0IGZpZWxkIHZhbHVlPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8xO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+Y29tbWFuZCBzZXQgMSBmb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaWNyb24gSlMyOEY1MTJQMzMuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8xO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+Y29tbWFuZCBzZXQgMiBmb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaWNyb24gTTI5VzEyOEcgYW5kIEN5cHJlc3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTMjlHTDEyOFAuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPlVwZGF0ZSBzb21lIEFQSXMgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXIgdG8gYmUgY29tcGxpYW50IGZvciBtZW1vcmllcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIGRpZmZlcmVudCBjb21tYW5kIHNldCwgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWQgQVBJcyBhcmU6PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8xO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlI7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiPkhBTF9OT1JfSW5pdCgpPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8xO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlI7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiPkhBTF9OT1JfUmVhZF9JRCgpPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8xO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlI7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiPkhBTF9OT1JfUmV0dXJuVG9SZWFkTW9kZSgpPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8xO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlI7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiPkhBTF9OT1JfUmVhZCgpPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8xO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlI7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiPkhBTF9OT1JfUHJvZ3JhbSgpPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8xO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlI7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiPkhBTF9OT1JfUmVhZEJ1ZmZlcigpPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8xO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlI7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiPkhBTF9OT1JfUHJvZ3JhbUJ1ZmZlcigpPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8xO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlI7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiPkhBTF9OT1JfRXJhc2VfQmxvY2soKTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7O21zby1hbnNpLWxhbmd1YWdlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZSO21zby1mYXJlYXN0LWxhbmd1YWdlOkZSIj5IQUxfTk9SX0VyYXNlX0NoaXAoKTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7O21zby1hbnNpLWxhbmd1YWdlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZSO21zby1mYXJlYXN0LWxhbmd1YWdlOkZSIj5IQUxfTk9SX0dldFN0YXR1cygpPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPkFsaWduIEhBTF9OT1JfSW5pdCgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB3aXRoIGNvcmUgb2YgdGhlIGZ1bmN0aW9uIHdoZW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGUgb3BlcmF0aW9uIGlzIGRpc2FibGVkIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF2b2lkIEhhcmRGYXVsdC48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDEgbGZvMTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7O21zby1hbnNpLWxhbmd1YWdlOkZSOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiI+SEFML0xMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNETU1DPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90Ozttc28tYW5zaS1sYW5ndWFnZTpGUjttc28tZmFyZWFzdC1sYW5ndWFnZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZSIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OzsgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmc9IkVOLVVTIj5UYWtlIGluIGFjY291bnQgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvbHRhZ2UgcmFuZ2UgaW4gdGhlIENNRDEgY29tbWFuZC48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPkFkZCBuZXcgTEwgZnVuY3Rpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gaGF2ZSBjb3JyZWN0IHJlc3BvbnNlIGZvciBNTUMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJpdmVyLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+VXBkYXRlIHRoZSBkcml2ZXIgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGF2ZSBhbGwgZmllbGRzIGNvcnJlY3RseQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsaXplZC48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPkFkZCBhIGludGVybmFsIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZSB0aGUgcG93ZXIgY2xhc3MgYW5kIGNhbGwgaXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlIHRvIHVwZGF0ZSBzcGVlZCBvZiBidXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGguPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OzsgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmc9IkVOLVVTIj5BZGQgbmV3IEFQSQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfTU1DX0dldENhcmRFeHRDU0R0byBnZXQgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIG9mIHRoZSBFeHRlbmRlZCBDU0QgcmVnaXN0ZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHBvcHVsYXRlIHRoZSBFeHRDU0QgZmllbGQgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIE1NQyBoYW5kbGUuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwxIGxmbzE7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90Ozttc28tYW5zaS1sYW5ndWFnZTpGUjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiPkhBTCBTRDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDs7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RlI7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGUiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9TRF9Jbml0Q2FyZCgpIEFQSSB0byBhZGQgcG93ZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXAgd2FpdGluZyB0aW1lICgybXMpIGJlZm9yZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydGluZyB0aGUgU0QgaW5pdGlhbGl6YXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VxdWVuY2UuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwxIGxmbzE7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90Ozttc28tYW5zaS1sYW5ndWFnZTpGUjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiPkhBTC9MTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0I8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7O21zby1hbnNpLWxhbmd1YWdlOkZSO21zby1mYXJlYXN0LWxhbmd1YWdlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlIiPiZuYnNwO3VwZGF0ZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPlVwZGF0ZSBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfU2V0Q3VycmVudE1vZGUoKSBBUEkgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1wcm92ZSByZXF1aXJlZCB3YWl0IHRpbWluZyB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2UgY29yZSBtb2RlLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+UmVtb3ZlIG5vbiByZXF1aXJlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDBtcyBkZWxheSBkdXJpbmcgaG9zdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsaXphdGlvbi48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRmx1c2hSeEZpZm8oKSBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0ZsdXNoVHhGaWZvKCkgQVBJcyBieSBhZGRpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2sgb24gQUhCIG1hc3RlciBJRExFIHN0YXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZSBmbHVzaGluZyB0aGUgVVNCIEZJRk8uPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bGluZS1oZWlnaHQ6bm9ybWFsO21zby1saXN0OmwwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OzsgbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RlIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmc9IkVOLVVTIj5VcGRhdGUgdG8gYXZvaWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXR0aW5nIGhvc3QgY2hhbm5lbCBkaXJlY3Rpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyaW5nIGNoYW5uZWwgaGFsdC48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPlVwZGF0ZSB0byBhdm9pZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21waWxlciBvcHRtaXphdGlvbiBvbiBjb3VudAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSB1c2VkIGZvciBVU0IgSEFMIHRpbWVvdXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9vcCBjaGVjay48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPkFkZCBtaXNzaW5nIHJlZ2lzdGVycwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFja3MgY2hlY2sgZm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9IQ0RfSENfTm90aWZ5VVJCQ2hhbmdlX0NhbGxiYWNrKCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+QWRkIG5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfUENEX1NldFRlc3RNb2RlKCkgQVBJIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZSBVU0IgZGV2aWNlIGhpZ2ggc3BlZWQgVGVzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2Rlcy48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bztsaW5lLWhlaWdodDpub3JtYWw7bXNvLWxpc3Q6bDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7OyBtc28tZmFyZWFzdC1sYW5ndWFnZTpGUiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZz0iRU4tVVMiPlVwZGF0ZSB0byBzZXQgU05BSwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgRVBzIG5vdCByZXF1aXJlZCBkdXJpbmcgZGV2aWNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0LjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMSBsZm8xO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RlI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIj5IQUwgSVdERzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDs7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tYmlkaS1mb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7bXNvLWFuc2ktbGFuZ3VhZ2U6RlI7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGUiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO2xpbmUtaGVpZ2h0Om5vcm1hbDttc28tbGlzdDpsMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDs7IG1zby1mYXJlYXN0LWxhbmd1YWdlOkZSIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nPSJFTi1VUyI+QWRkIExTSSBzdGFydHVwIHRpbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZGVmYXVsdCBJV0RHIHRpbWVvdXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsY3VsYXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEhBTF9JV0RHX0RFRkFVTFRfVElNRU9VVCkuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj48dT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7Ij48L3NwYW4+PC91PjwvYj48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDBpbiA0LjVwdCAwLjI1aW47IHdpZHRoOiAxNDE2cHg7Ij48Yj48dT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7Ij48L3NwYW4+PC91PjwvYj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudD0idGV4dC9odG1sOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyc2V0PXdpbmRvd3MtMTI1MiI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwaW4gNC41cHQgMC4yNWluOyB3aWR0aDogMTQxNnB4OyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ9InRleHQvaHRtbDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhcnNldD13aW5kb3dzLTEyNTIiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMGluIDQuNXB0IDAuMjVpbjsgd2lkdGg6IDE0MTZweDsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0iUHJvZ0lkIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50PSJXb3JkLkRvY3VtZW50Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29udGVudD0iTWljcm9zb2Z0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdvcmQgMTUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0iT3JpZ2luYXRvciIgY29udGVudD0iTWljcm9zb2Z0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdvcmQgMTUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLVtpZiBndGUgbXNvIDldPjx4bWw+Ci0gPHc6V29yZERvY3VtZW50PgotICA8dzpWaWV3Pk5vcm1hbDwvdzpWaWV3PgotICA8dzpab29tPjA8L3c6Wm9vbT4KLSAgPHc6VHJhY2tNb3Zlcy8+Ci0gIDx3OlRyYWNrRm9ybWF0dGluZy8+Ci0gIDx3Okh5cGhlbmF0aW9uWm9uZT4yMTwvdzpIeXBoZW5hdGlvblpvbmU+Ci0gIDx3OlB1bmN0dWF0aW9uS2VybmluZy8+Ci0gIDx3OlZhbGlkYXRlQWdhaW5zdFNjaGVtYXMvPgotICA8dzpTYXZlSWZYTUxJbnZhbGlkPmZhbHNlPC93OlNhdmVJZlhNTEludmFsaWQ+Ci0gIDx3Oklnbm9yZU1peGVkQ29udGVudD5mYWxzZTwvdzpJZ25vcmVNaXhlZENvbnRlbnQ+Ci0gIDx3OkFsd2F5c1Nob3dQbGFjZWhvbGRlclRleHQ+ZmFsc2U8L3c6QWx3YXlzU2hvd1BsYWNlaG9sZGVyVGV4dD4KLSAgPHc6RG9Ob3RQcm9tb3RlUUYvPgotICA8dzpMaWRUaGVtZU90aGVyPkVOLVVTPC93OkxpZFRoZW1lT3RoZXI+Ci0gIDx3OkxpZFRoZW1lQXNpYW4+WC1OT05FPC93OkxpZFRoZW1lQXNpYW4+Ci0gIDx3OkxpZFRoZW1lQ29tcGxleFNjcmlwdD5YLU5PTkU8L3c6TGlkVGhlbWVDb21wbGV4U2NyaXB0PgotICA8dzpDb21wYXRpYmlsaXR5PgotICAgPHc6QnJlYWtXcmFwcGVkVGFibGVzLz4KLSAgIDx3OlNuYXBUb0dyaWRJbkNlbGwvPgotICAgPHc6V3JhcFRleHRXaXRoUHVuY3QvPgotICAgPHc6VXNlQXNpYW5CcmVha1J1bGVzLz4KLSAgIDx3OkRvbnRHcm93QXV0b2ZpdC8+Ci0gICA8dzpTcGxpdFBnQnJlYWtBbmRQYXJhTWFyay8+Ci0gICA8dzpFbmFibGVPcGVuVHlwZUtlcm5pbmcvPgotICAgPHc6RG9udEZsaXBNaXJyb3JJbmRlbnRzLz4KLSAgIDx3Ok92ZXJyaWRlVGFibGVTdHlsZUhwcy8+Ci0gIDwvdzpDb21wYXRpYmlsaXR5PgotICA8bTptYXRoUHI+Ci0gICA8bTptYXRoRm9udCBtOnZhbD0iQ2FtYnJpYSBNYXRoIi8+Ci0gICA8bTpicmtCaW4gbTp2YWw9ImJlZm9yZSIvPgotICAgPG06YnJrQmluU3ViIG06dmFsPSImIzQ1Oy0iLz4KLSAgIDxtOnNtYWxsRnJhYyBtOnZhbD0ib2ZmIi8+Ci0gICA8bTpkaXNwRGVmLz4KLSAgIDxtOmxNYXJnaW4gbTp2YWw9IjAiLz4KLSAgIDxtOnJNYXJnaW4gbTp2YWw9IjAiLz4KLSAgIDxtOmRlZkpjIG06dmFsPSJjZW50ZXJHcm91cCIvPgotICAgPG06d3JhcEluZGVudCBtOnZhbD0iMTQ0MCIvPgotICAgPG06aW50TGltIG06dmFsPSJzdWJTdXAiLz4KLSAgIDxtOm5hcnlMaW0gbTp2YWw9InVuZE92ciIvPgotICA8L206bWF0aFByPjwvdzpXb3JkRG9jdW1lbnQ+Ci08L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4KLSA8dzpMYXRlbnRTdHlsZXMgRGVmTG9ja2VkU3RhdGU9ImZhbHNlIiBEZWZVbmhpZGVXaGVuVXNlZD0iZmFsc2UiCi0gIERlZlNlbWlIaWRkZW49ImZhbHNlIiBEZWZRRm9ybWF0PSJmYWxzZSIgRGVmUHJpb3JpdHk9Ijk5IgotICBMYXRlbnRTdHlsZUNvdW50PSIzNzYiPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjAiIFFGb3JtYXQ9InRydWUiIE5hbWU9Ik5vcm1hbCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImhlYWRpbmcgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImhlYWRpbmcgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImhlYWRpbmcgNyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyA4Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDkiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iaW5kZXggMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJpbmRleCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImluZGV4IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iaW5kZXggNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJpbmRleCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImluZGV4IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iaW5kZXggNyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJpbmRleCA4Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImluZGV4IDkiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJ0b2MgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRvYyAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0idG9jIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJ0b2MgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRvYyA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0idG9jIDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJ0b2MgNyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRvYyA4Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0idG9jIDkiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTm9ybWFsIEluZGVudCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJmb290bm90ZSB0ZXh0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImFubm90YXRpb24gdGV4dCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJoZWFkZXIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iZm9vdGVyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImluZGV4IGhlYWRpbmciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzNSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJjYXB0aW9uIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9InRhYmxlIG9mIGZpZ3VyZXMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iZW52ZWxvcGUgYWRkcmVzcyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJlbnZlbG9wZSByZXR1cm4iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iZm9vdG5vdGUgcmVmZXJlbmNlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImFubm90YXRpb24gcmVmZXJlbmNlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImxpbmUgbnVtYmVyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9InBhZ2UgbnVtYmVyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImVuZG5vdGUgcmVmZXJlbmNlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImVuZG5vdGUgdGV4dCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJ0YWJsZSBvZiBhdXRob3JpdGllcyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJtYWNybyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJ0b2EgaGVhZGluZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgQnVsbGV0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgTnVtYmVyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IEJ1bGxldCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgQnVsbGV0IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBCdWxsZXQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IEJ1bGxldCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgTnVtYmVyIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBOdW1iZXIgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IE51bWJlciA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgTnVtYmVyIDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIxMCIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iVGl0bGUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iQ2xvc2luZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJTaWduYXR1cmUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIxIiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IkRlZmF1bHQgUGFyYWdyYXBoIEZvbnQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iQm9keSBUZXh0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkJvZHkgVGV4dCBJbmRlbnQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBDb250aW51ZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IENvbnRpbnVlIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBDb250aW51ZSAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgQ29udGludWUgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IENvbnRpbnVlIDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTWVzc2FnZSBIZWFkZXIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIxMSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iU3VidGl0bGUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iU2FsdXRhdGlvbiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJEYXRlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkJvZHkgVGV4dCBGaXJzdCBJbmRlbnQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iQm9keSBUZXh0IEZpcnN0IEluZGVudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ik5vdGUgSGVhZGluZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJCb2R5IFRleHQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJCb2R5IFRleHQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJCb2R5IFRleHQgSW5kZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iQm9keSBUZXh0IEluZGVudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkJsb2NrIFRleHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSHlwZXJsaW5rIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkZvbGxvd2VkSHlwZXJsaW5rIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMjIiIFFGb3JtYXQ9InRydWUiIE5hbWU9IlN0cm9uZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjIwIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJFbXBoYXNpcyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJEb2N1bWVudCBNYXAiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iUGxhaW4gVGV4dCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJFLW1haWwgU2lnbmF0dXJlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgVG9wIG9mIEZvcm0iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSFRNTCBCb3R0b20gb2YgRm9ybSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJOb3JtYWwgKFdlYikiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSFRNTCBBY3JvbnltIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgQWRkcmVzcyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIENpdGUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSFRNTCBDb2RlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgRGVmaW5pdGlvbiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIEtleWJvYXJkIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgUHJlZm9ybWF0dGVkIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgU2FtcGxlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgVHlwZXdyaXRlciIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIFZhcmlhYmxlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ik5vcm1hbCBUYWJsZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJhbm5vdGF0aW9uIHN1YmplY3QiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTm8gTGlzdCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJPdXRsaW5lIExpc3QgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJPdXRsaW5lIExpc3QgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJPdXRsaW5lIExpc3QgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBTaW1wbGUgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBTaW1wbGUgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBTaW1wbGUgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDbGFzc2ljIDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ2xhc3NpYyAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENsYXNzaWMgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDbGFzc2ljIDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ29sb3JmdWwgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDb2xvcmZ1bCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENvbG9yZnVsIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ29sdW1ucyAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENvbHVtbnMgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDb2x1bW5zIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ29sdW1ucyA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENvbHVtbnMgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBHcmlkIDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgR3JpZCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIEdyaWQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBHcmlkIDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgR3JpZCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIEdyaWQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBHcmlkIDciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgR3JpZCA4Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIExpc3QgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBMaXN0IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgTGlzdCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIExpc3QgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBMaXN0IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgTGlzdCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIExpc3QgNyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBMaXN0IDgiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgM0QgZWZmZWN0cyAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIDNEIGVmZmVjdHMgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSAzRCBlZmZlY3RzIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ29udGVtcG9yYXJ5Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIEVsZWdhbnQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgUHJvZmVzc2lvbmFsIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIFN1YnRsZSAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIFN1YnRsZSAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIFdlYiAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIFdlYiAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIFdlYiAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkJhbGxvb24gVGV4dCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBOYW1lPSJUYWJsZSBHcmlkIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIFRoZW1lIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBOYW1lPSJQbGFjZWhvbGRlciBUZXh0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iTm8gU3BhY2luZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgTmFtZT0iUmV2aXNpb24iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzNCIgUUZvcm1hdD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgUGFyYWdyYXBoIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMjkiIFFGb3JtYXQ9InRydWUiIE5hbWU9IlF1b3RlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzAiIFFGb3JtYXQ9InRydWUiCi0gICBOYW1lPSJJbnRlbnNlIFF1b3RlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRpdW0gR3JpZCAyIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBHcmlkIDMgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0IEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjAiIE5hbWU9IkxpZ2h0IFNoYWRpbmcgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgTmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBOYW1lPSJMaWdodCBHcmlkIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY1IiBOYW1lPSJNZWRpdW0gTGlzdCAxIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRpdW0gR3JpZCAyIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBHcmlkIDMgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0IEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjAiIE5hbWU9IkxpZ2h0IFNoYWRpbmcgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgTmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBOYW1lPSJMaWdodCBHcmlkIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY1IiBOYW1lPSJNZWRpdW0gTGlzdCAxIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRpdW0gR3JpZCAyIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBHcmlkIDMgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0IEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjAiIE5hbWU9IkxpZ2h0IFNoYWRpbmcgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgTmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBOYW1lPSJMaWdodCBHcmlkIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY1IiBOYW1lPSJNZWRpdW0gTGlzdCAxIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRpdW0gR3JpZCAyIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBHcmlkIDMgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0IEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjAiIE5hbWU9IkxpZ2h0IFNoYWRpbmcgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgTmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBOYW1lPSJMaWdodCBHcmlkIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY1IiBOYW1lPSJNZWRpdW0gTGlzdCAxIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRpdW0gR3JpZCAyIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBHcmlkIDMgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0IEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjAiIE5hbWU9IkxpZ2h0IFNoYWRpbmcgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgTmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBOYW1lPSJMaWdodCBHcmlkIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY1IiBOYW1lPSJNZWRpdW0gTGlzdCAxIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRpdW0gR3JpZCAyIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBHcmlkIDMgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0IEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMTkiIFFGb3JtYXQ9InRydWUiCi0gICBOYW1lPSJTdWJ0bGUgRW1waGFzaXMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIyMSIgUUZvcm1hdD0idHJ1ZSIKLSAgIE5hbWU9IkludGVuc2UgRW1waGFzaXMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzMSIgUUZvcm1hdD0idHJ1ZSIKLSAgIE5hbWU9IlN1YnRsZSBSZWZlcmVuY2UiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzMiIgUUZvcm1hdD0idHJ1ZSIKLSAgIE5hbWU9IkludGVuc2UgUmVmZXJlbmNlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzMiIFFGb3JtYXQ9InRydWUiIE5hbWU9IkJvb2sgVGl0bGUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzNyIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJCaWJsaW9ncmFwaHkiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJUT0MgSGVhZGluZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQxIiBOYW1lPSJQbGFpbiBUYWJsZSAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDIiIE5hbWU9IlBsYWluIFRhYmxlIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0MyIgTmFtZT0iUGxhaW4gVGFibGUgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ0IiBOYW1lPSJQbGFpbiBUYWJsZSA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDUiIE5hbWU9IlBsYWluIFRhYmxlIDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0MCIgTmFtZT0iR3JpZCBUYWJsZSBMaWdodCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IiBOYW1lPSJHcmlkIFRhYmxlIDEgTGlnaHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NyIgTmFtZT0iR3JpZCBUYWJsZSAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDgiIE5hbWU9IkdyaWQgVGFibGUgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ5IiBOYW1lPSJHcmlkIFRhYmxlIDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MCIgTmFtZT0iR3JpZCBUYWJsZSA1IERhcmsiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MSIgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0IEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0IEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0IEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0IEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0IEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0IEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0IEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0IEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0IEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0IEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0IEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0IEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IiBOYW1lPSJMaXN0IFRhYmxlIDEgTGlnaHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NyIgTmFtZT0iTGlzdCBUYWJsZSAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDgiIE5hbWU9Ikxpc3QgVGFibGUgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ5IiBOYW1lPSJMaXN0IFRhYmxlIDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MCIgTmFtZT0iTGlzdCBUYWJsZSA1IERhcmsiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MSIgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0IEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBUYWJsZSA0IEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0IEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBUYWJsZSA0IEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0IEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBUYWJsZSA0IEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0IEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBUYWJsZSA0IEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0IEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBUYWJsZSA0IEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0IEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBUYWJsZSA0IEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJNZW50aW9uIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlNtYXJ0IEh5cGVybGluayIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIYXNodGFnIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlVucmVzb2x2ZWQgTWVudGlvbiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJTbWFydCBMaW5rIi8+Ci0gPC93OkxhdGVudFN0eWxlcz4KLTwveG1sPjwhW2VuZGlmXS0tPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0eWxlPgotPCEtLQotIC8qIEZvbnQgRGVmaW5pdGlvbnMgKi8KLSBAZm9udC1mYWNlCi0Je2ZvbnQtZmFtaWx5OldpbmdkaW5nczsKLQlwYW5vc2UtMTo1IDAgMCAwIDAgMCAwIDAgMCAwOwotCW1zby1mb250LWNoYXJzZXQ6MjsKLQltc28tZ2VuZXJpYy1mb250LWZhbWlseTphdXRvOwotCW1zby1mb250LXBpdGNoOnZhcmlhYmxlOwotCW1zby1mb250LXNpZ25hdHVyZTowIDI2ODQzNTQ1NiAwIDAgLTIxNDc0ODM2NDggMDt9Ci1AZm9udC1mYWNlCi0Je2ZvbnQtZmFtaWx5OiJDYW1icmlhIE1hdGgiOwotCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7Ci0JbXNvLWZvbnQtY2hhcnNldDowOwotCW1zby1nZW5lcmljLWZvbnQtZmFtaWx5OnJvbWFuOwotCW1zby1mb250LXBpdGNoOnZhcmlhYmxlOwotCW1zby1mb250LXNpZ25hdHVyZTotNTM2ODY5MTIxIDExMDczMDU3MjcgMzM1NTQ0MzIgMCA0MTUgMDt9Ci1AZm9udC1mYWNlCi0Je2ZvbnQtZmFtaWx5OlZlcmRhbmE7Ci0JcGFub3NlLTE6MiAxMSA2IDQgMyA1IDQgNCAyIDQ7Ci0JbXNvLWZvbnQtY2hhcnNldDowOwotCW1zby1nZW5lcmljLWZvbnQtZmFtaWx5OnN3aXNzOwotCW1zby1mb250LXBpdGNoOnZhcmlhYmxlOwotCW1zby1mb250LXNpZ25hdHVyZTotMTYxMDYxMDk0NSAxMDczNzUwMTA3IDE2IDAgNDE1IDA7fQotQGZvbnQtZmFjZQotCXtmb250LWZhbWlseToiU2Vnb2UgVUkiOwotCXBhbm9zZS0xOjIgMTEgNSAyIDQgMiA0IDIgMiAzOwotCW1zby1mb250LWNoYXJzZXQ6MDsKLQltc28tZ2VuZXJpYy1mb250LWZhbWlseTpzd2lzczsKLQltc28tZm9udC1waXRjaDp2YXJpYWJsZTsKLQltc28tZm9udC1zaWduYXR1cmU6LTQ2OTc1MDAxNyAtMTA3MzY4MzMyOSA5IDAgNTExIDA7fQotIC8qIFN0eWxlIERlZmluaXRpb25zICovCi0gcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbAotCXttc28tc3R5bGUtdW5oaWRlOm5vOwotCW1zby1zdHlsZS1wYXJlbnQ6IiI7Ci0JbWFyZ2luOjBpbjsKLQlsaW5lLWhlaWdodDoxMTUlOwotCW1zby1wYWdpbmF0aW9uOndpZG93LW9ycGhhbjsKLQlmb250LXNpemU6MTEuMHB0OwotCWZvbnQtZmFtaWx5OiJBcmlhbCIsc2Fucy1zZXJpZjsKLQltc28tZmFyZWFzdC1mb250LWZhbWlseTpBcmlhbDsKLQltc28tZmFyZWFzdC10aGVtZS1mb250Om1pbm9yLWxhdGluOwotCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwotCW1zby1iaWRpLXRoZW1lLWZvbnQ6bWlub3ItYmlkaTsKLQljb2xvcjojMDAyMDUyOwotCW1zby1hbnNpLWxhbmd1YWdlOkVOLVVTOwotCW1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTO30KLS5Nc29DaHBEZWZhdWx0Ci0Je21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5OwotCW1zby1kZWZhdWx0LXByb3BzOnllczsKLQlmb250LWZhbWlseToiQXJpYWwiLHNhbnMtc2VyaWY7Ci0JbXNvLWFzY2lpLWZvbnQtZmFtaWx5OkFyaWFsOwotCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OkFyaWFsOwotCW1zby1mYXJlYXN0LXRoZW1lLWZvbnQ6bWlub3ItbGF0aW47Ci0JbXNvLWhhbnNpLWZvbnQtZmFtaWx5OkFyaWFsOwotCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwotCW1zby1iaWRpLXRoZW1lLWZvbnQ6bWlub3ItYmlkaTsKLQljb2xvcjojMDAyMDUyOwotCW1zby1hbnNpLWxhbmd1YWdlOkVOLVVTOwotCW1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTO30KLS5Nc29QYXBEZWZhdWx0Ci0Je21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5OwotCWxpbmUtaGVpZ2h0OjExNSU7fQotQHBhZ2UgV29yZFNlY3Rpb24xCi0Je3NpemU6NTk1LjNwdCA4NDEuOXB0OwotCW1hcmdpbjoxLjBpbiAxLjBpbiAxLjBpbiAxLjBpbjsKLQltc28taGVhZGVyLW1hcmdpbjouNWluOwotCW1zby1mb290ZXItbWFyZ2luOi41aW47Ci0JbXNvLXBhcGVyLXNvdXJjZTowO30KLWRpdi5Xb3JkU2VjdGlvbjEKLQl7cGFnZTpXb3JkU2VjdGlvbjE7fQotIC8qIExpc3QgRGVmaW5pdGlvbnMgKi8KLSBAbGlzdCBsMAotCXttc28tbGlzdC1pZDoxMzQwNzM3Nzg2OwotCW1zby1saXN0LXRlbXBsYXRlLWlkczo4NTkyMzY5MDA7fQotQGxpc3QgbDA6bGV2ZWwxCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDomIzYxNjIzOzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6LjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6U3ltYm9sO30KLUBsaXN0IGwwOmxldmVsMgotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6bzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6MS4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7Ci0JbXNvLWJpZGktZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQotQGxpc3QgbDA6bGV2ZWwzCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDomIzYxNjA3OzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6MS41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMDpsZXZlbDQKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OiYjNjE2MDc7OwotCW1zby1sZXZlbC10YWItc3RvcDoyLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwwOmxldmVsNQotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6JiM2MTYwNzs7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjIuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDA6bGV2ZWw2Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDomIzYxNjA3OzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6My4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMDpsZXZlbDcKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OiYjNjE2MDc7OwotCW1zby1sZXZlbC10YWItc3RvcDozLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwwOmxldmVsOAotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6JiM2MTYwNzs7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjQuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDA6bGV2ZWw5Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDomIzYxNjA3OzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6NC41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1vbAotCXttYXJnaW4tYm90dG9tOjBpbjt9Ci11bAotCXttYXJnaW4tYm90dG9tOjBpbjt9Ci0tLT4KLTwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDEwXT4KLTxzdHlsZT4KLSAvKiBTdHlsZSBEZWZpbml0aW9ucyAqLwotIHRhYmxlLk1zb05vcm1hbFRhYmxlCi0Je21zby1zdHlsZS1uYW1lOiJUYWJsZSBOb3JtYWwiOwotCW1zby10c3R5bGUtcm93YmFuZC1zaXplOjA7Ci0JbXNvLXRzdHlsZS1jb2xiYW5kLXNpemU6MDsKLQltc28tc3R5bGUtbm9zaG93OnllczsKLQltc28tc3R5bGUtcHJpb3JpdHk6OTk7Ci0JbXNvLXN0eWxlLXBhcmVudDoiIjsKLQltc28tcGFkZGluZy1hbHQ6MGluIDUuNHB0IDBpbiA1LjRwdDsKLQltc28tcGFyYS1tYXJnaW46MGluOwotCWxpbmUtaGVpZ2h0OjExNSU7Ci0JbXNvLXBhZ2luYXRpb246d2lkb3ctb3JwaGFuOwotCWZvbnQtc2l6ZToxMS4wcHQ7Ci0JZm9udC1mYW1pbHk6IkFyaWFsIixzYW5zLXNlcmlmOwotCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwotCW1zby1iaWRpLXRoZW1lLWZvbnQ6bWlub3ItYmlkaTsKLQljb2xvcjojMDAyMDUyOwotCW1zby1hbnNpLWxhbmd1YWdlOkVOLVVTOwotCW1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTO30KLTwvc3R5bGU+Ci08IVtlbmRpZl0tLT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudD0idGV4dC9odG1sOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyc2V0PXdpbmRvd3MtMTI1MiI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwaW4gNC41cHQgMC4yNWluOyB3aWR0aDogMTQxNnB4OyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwaW4gNC41cHQgMC4yNWluOyB3aWR0aDogMTQxNnB4OyI+PGI+PHU+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrOyI+PC9zcGFuPjwvdT48L2I+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTIiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTIiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9IlByb2dJZCIgY29udGVudD0iV29yZC5Eb2N1bWVudCI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgbmFtZT0iR2VuZXJhdG9yIiBjb250ZW50PSJNaWNyb3NvZnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdvcmQgMTUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9Ik9yaWdpbmF0b3IiIGNvbnRlbnQ9Ik1pY3Jvc29mdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV29yZCAxNSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLVtpZiBndGUgbXNvIDldPjx4bWw+Ci0gPHc6V29yZERvY3VtZW50PgotICA8dzpWaWV3Pk5vcm1hbDwvdzpWaWV3PgotICA8dzpab29tPjA8L3c6Wm9vbT4KLSAgPHc6VHJhY2tNb3Zlcy8+Ci0gIDx3OlRyYWNrRm9ybWF0dGluZy8+Ci0gIDx3Okh5cGhlbmF0aW9uWm9uZT4yMTwvdzpIeXBoZW5hdGlvblpvbmU+Ci0gIDx3OlB1bmN0dWF0aW9uS2VybmluZy8+Ci0gIDx3OlZhbGlkYXRlQWdhaW5zdFNjaGVtYXMvPgotICA8dzpTYXZlSWZYTUxJbnZhbGlkPmZhbHNlPC93OlNhdmVJZlhNTEludmFsaWQ+Ci0gIDx3Oklnbm9yZU1peGVkQ29udGVudD5mYWxzZTwvdzpJZ25vcmVNaXhlZENvbnRlbnQ+Ci0gIDx3OkFsd2F5c1Nob3dQbGFjZWhvbGRlclRleHQ+ZmFsc2U8L3c6QWx3YXlzU2hvd1BsYWNlaG9sZGVyVGV4dD4KLSAgPHc6RG9Ob3RQcm9tb3RlUUYvPgotICA8dzpMaWRUaGVtZU90aGVyPkVOLVVTPC93OkxpZFRoZW1lT3RoZXI+Ci0gIDx3OkxpZFRoZW1lQXNpYW4+WC1OT05FPC93OkxpZFRoZW1lQXNpYW4+Ci0gIDx3OkxpZFRoZW1lQ29tcGxleFNjcmlwdD5YLU5PTkU8L3c6TGlkVGhlbWVDb21wbGV4U2NyaXB0PgotICA8dzpDb21wYXRpYmlsaXR5PgotICAgPHc6QnJlYWtXcmFwcGVkVGFibGVzLz4KLSAgIDx3OlNuYXBUb0dyaWRJbkNlbGwvPgotICAgPHc6V3JhcFRleHRXaXRoUHVuY3QvPgotICAgPHc6VXNlQXNpYW5CcmVha1J1bGVzLz4KLSAgIDx3OkRvbnRHcm93QXV0b2ZpdC8+Ci0gICA8dzpTcGxpdFBnQnJlYWtBbmRQYXJhTWFyay8+Ci0gICA8dzpFbmFibGVPcGVuVHlwZUtlcm5pbmcvPgotICAgPHc6RG9udEZsaXBNaXJyb3JJbmRlbnRzLz4KLSAgIDx3Ok92ZXJyaWRlVGFibGVTdHlsZUhwcy8+Ci0gIDwvdzpDb21wYXRpYmlsaXR5PgotICA8bTptYXRoUHI+Ci0gICA8bTptYXRoRm9udCBtOnZhbD0iQ2FtYnJpYSBNYXRoIi8+Ci0gICA8bTpicmtCaW4gbTp2YWw9ImJlZm9yZSIvPgotICAgPG06YnJrQmluU3ViIG06dmFsPSImIzQ1Oy0iLz4KLSAgIDxtOnNtYWxsRnJhYyBtOnZhbD0ib2ZmIi8+Ci0gICA8bTpkaXNwRGVmLz4KLSAgIDxtOmxNYXJnaW4gbTp2YWw9IjAiLz4KLSAgIDxtOnJNYXJnaW4gbTp2YWw9IjAiLz4KLSAgIDxtOmRlZkpjIG06dmFsPSJjZW50ZXJHcm91cCIvPgotICAgPG06d3JhcEluZGVudCBtOnZhbD0iMTQ0MCIvPgotICAgPG06aW50TGltIG06dmFsPSJzdWJTdXAiLz4KLSAgIDxtOm5hcnlMaW0gbTp2YWw9InVuZE92ciIvPgotICA8L206bWF0aFByPjwvdzpXb3JkRG9jdW1lbnQ+Ci08L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4KLSA8dzpMYXRlbnRTdHlsZXMgRGVmTG9ja2VkU3RhdGU9ImZhbHNlIiBEZWZVbmhpZGVXaGVuVXNlZD0iZmFsc2UiCi0gIERlZlNlbWlIaWRkZW49ImZhbHNlIiBEZWZRRm9ybWF0PSJmYWxzZSIgRGVmUHJpb3JpdHk9Ijk5IgotICBMYXRlbnRTdHlsZUNvdW50PSIzNzYiPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjAiIFFGb3JtYXQ9InRydWUiIE5hbWU9Ik5vcm1hbCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImhlYWRpbmcgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImhlYWRpbmcgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImhlYWRpbmcgNyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyA4Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDkiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iaW5kZXggMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJpbmRleCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImluZGV4IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iaW5kZXggNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJpbmRleCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImluZGV4IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iaW5kZXggNyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJpbmRleCA4Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImluZGV4IDkiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJ0b2MgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRvYyAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0idG9jIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJ0b2MgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRvYyA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0idG9jIDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJ0b2MgNyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRvYyA4Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0idG9jIDkiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTm9ybWFsIEluZGVudCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJmb290bm90ZSB0ZXh0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImFubm90YXRpb24gdGV4dCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJoZWFkZXIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iZm9vdGVyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImluZGV4IGhlYWRpbmciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzNSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJjYXB0aW9uIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9InRhYmxlIG9mIGZpZ3VyZXMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iZW52ZWxvcGUgYWRkcmVzcyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJlbnZlbG9wZSByZXR1cm4iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iZm9vdG5vdGUgcmVmZXJlbmNlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImFubm90YXRpb24gcmVmZXJlbmNlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImxpbmUgbnVtYmVyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9InBhZ2UgbnVtYmVyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImVuZG5vdGUgcmVmZXJlbmNlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImVuZG5vdGUgdGV4dCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJ0YWJsZSBvZiBhdXRob3JpdGllcyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJtYWNybyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJ0b2EgaGVhZGluZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgQnVsbGV0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgTnVtYmVyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IEJ1bGxldCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgQnVsbGV0IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBCdWxsZXQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IEJ1bGxldCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgTnVtYmVyIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBOdW1iZXIgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IE51bWJlciA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgTnVtYmVyIDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIxMCIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iVGl0bGUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iQ2xvc2luZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJTaWduYXR1cmUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIxIiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9IkRlZmF1bHQgUGFyYWdyYXBoIEZvbnQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iQm9keSBUZXh0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkJvZHkgVGV4dCBJbmRlbnQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBDb250aW51ZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IENvbnRpbnVlIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBDb250aW51ZSAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgQ29udGludWUgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IENvbnRpbnVlIDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTWVzc2FnZSBIZWFkZXIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIxMSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iU3VidGl0bGUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iU2FsdXRhdGlvbiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJEYXRlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkJvZHkgVGV4dCBGaXJzdCBJbmRlbnQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iQm9keSBUZXh0IEZpcnN0IEluZGVudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ik5vdGUgSGVhZGluZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJCb2R5IFRleHQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJCb2R5IFRleHQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJCb2R5IFRleHQgSW5kZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iQm9keSBUZXh0IEluZGVudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkJsb2NrIFRleHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSHlwZXJsaW5rIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkZvbGxvd2VkSHlwZXJsaW5rIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMjIiIFFGb3JtYXQ9InRydWUiIE5hbWU9IlN0cm9uZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjIwIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJFbXBoYXNpcyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJEb2N1bWVudCBNYXAiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iUGxhaW4gVGV4dCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJFLW1haWwgU2lnbmF0dXJlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgVG9wIG9mIEZvcm0iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSFRNTCBCb3R0b20gb2YgRm9ybSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJOb3JtYWwgKFdlYikiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSFRNTCBBY3JvbnltIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgQWRkcmVzcyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIENpdGUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSFRNTCBDb2RlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgRGVmaW5pdGlvbiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIEtleWJvYXJkIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgUHJlZm9ybWF0dGVkIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgU2FtcGxlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgVHlwZXdyaXRlciIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIFZhcmlhYmxlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ik5vcm1hbCBUYWJsZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJhbm5vdGF0aW9uIHN1YmplY3QiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTm8gTGlzdCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJPdXRsaW5lIExpc3QgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJPdXRsaW5lIExpc3QgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJPdXRsaW5lIExpc3QgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBTaW1wbGUgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBTaW1wbGUgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBTaW1wbGUgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDbGFzc2ljIDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ2xhc3NpYyAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENsYXNzaWMgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDbGFzc2ljIDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ29sb3JmdWwgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDb2xvcmZ1bCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENvbG9yZnVsIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ29sdW1ucyAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENvbHVtbnMgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDb2x1bW5zIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ29sdW1ucyA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENvbHVtbnMgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBHcmlkIDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgR3JpZCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIEdyaWQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBHcmlkIDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgR3JpZCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIEdyaWQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBHcmlkIDciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgR3JpZCA4Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIExpc3QgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBMaXN0IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgTGlzdCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIExpc3QgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBMaXN0IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgTGlzdCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIExpc3QgNyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBMaXN0IDgiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgM0QgZWZmZWN0cyAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIDNEIGVmZmVjdHMgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSAzRCBlZmZlY3RzIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ29udGVtcG9yYXJ5Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIEVsZWdhbnQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgUHJvZmVzc2lvbmFsIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIFN1YnRsZSAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIFN1YnRsZSAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIFdlYiAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIFdlYiAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIFdlYiAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkJhbGxvb24gVGV4dCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBOYW1lPSJUYWJsZSBHcmlkIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIFRoZW1lIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBOYW1lPSJQbGFjZWhvbGRlciBUZXh0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iTm8gU3BhY2luZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgTmFtZT0iUmV2aXNpb24iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzNCIgUUZvcm1hdD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgUGFyYWdyYXBoIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMjkiIFFGb3JtYXQ9InRydWUiIE5hbWU9IlF1b3RlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzAiIFFGb3JtYXQ9InRydWUiCi0gICBOYW1lPSJJbnRlbnNlIFF1b3RlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRpdW0gR3JpZCAyIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBHcmlkIDMgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0IEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjAiIE5hbWU9IkxpZ2h0IFNoYWRpbmcgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgTmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBOYW1lPSJMaWdodCBHcmlkIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY1IiBOYW1lPSJNZWRpdW0gTGlzdCAxIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRpdW0gR3JpZCAyIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBHcmlkIDMgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0IEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjAiIE5hbWU9IkxpZ2h0IFNoYWRpbmcgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgTmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBOYW1lPSJMaWdodCBHcmlkIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY1IiBOYW1lPSJNZWRpdW0gTGlzdCAxIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRpdW0gR3JpZCAyIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBHcmlkIDMgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0IEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjAiIE5hbWU9IkxpZ2h0IFNoYWRpbmcgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgTmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBOYW1lPSJMaWdodCBHcmlkIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY1IiBOYW1lPSJNZWRpdW0gTGlzdCAxIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRpdW0gR3JpZCAyIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBHcmlkIDMgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0IEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjAiIE5hbWU9IkxpZ2h0IFNoYWRpbmcgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgTmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBOYW1lPSJMaWdodCBHcmlkIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY1IiBOYW1lPSJNZWRpdW0gTGlzdCAxIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRpdW0gR3JpZCAyIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBHcmlkIDMgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0IEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjAiIE5hbWU9IkxpZ2h0IFNoYWRpbmcgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MSIgTmFtZT0iTGlnaHQgTGlzdCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYyIiBOYW1lPSJMaWdodCBHcmlkIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjMiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDEgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NCIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMiBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY1IiBOYW1lPSJNZWRpdW0gTGlzdCAxIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjYiIE5hbWU9Ik1lZGl1bSBMaXN0IDIgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NyIgTmFtZT0iTWVkaXVtIEdyaWQgMSBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY4IiBOYW1lPSJNZWRpdW0gR3JpZCAyIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjkiIE5hbWU9Ik1lZGl1bSBHcmlkIDMgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MCIgTmFtZT0iRGFyayBMaXN0IEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzEiIE5hbWU9IkNvbG9yZnVsIFNoYWRpbmcgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MiIgTmFtZT0iQ29sb3JmdWwgTGlzdCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjczIiBOYW1lPSJDb2xvcmZ1bCBHcmlkIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMTkiIFFGb3JtYXQ9InRydWUiCi0gICBOYW1lPSJTdWJ0bGUgRW1waGFzaXMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIyMSIgUUZvcm1hdD0idHJ1ZSIKLSAgIE5hbWU9IkludGVuc2UgRW1waGFzaXMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzMSIgUUZvcm1hdD0idHJ1ZSIKLSAgIE5hbWU9IlN1YnRsZSBSZWZlcmVuY2UiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzMiIgUUZvcm1hdD0idHJ1ZSIKLSAgIE5hbWU9IkludGVuc2UgUmVmZXJlbmNlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzMiIFFGb3JtYXQ9InRydWUiIE5hbWU9IkJvb2sgVGl0bGUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzNyIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJCaWJsaW9ncmFwaHkiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJUT0MgSGVhZGluZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQxIiBOYW1lPSJQbGFpbiBUYWJsZSAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDIiIE5hbWU9IlBsYWluIFRhYmxlIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0MyIgTmFtZT0iUGxhaW4gVGFibGUgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ0IiBOYW1lPSJQbGFpbiBUYWJsZSA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDUiIE5hbWU9IlBsYWluIFRhYmxlIDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0MCIgTmFtZT0iR3JpZCBUYWJsZSBMaWdodCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IiBOYW1lPSJHcmlkIFRhYmxlIDEgTGlnaHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NyIgTmFtZT0iR3JpZCBUYWJsZSAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDgiIE5hbWU9IkdyaWQgVGFibGUgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ5IiBOYW1lPSJHcmlkIFRhYmxlIDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MCIgTmFtZT0iR3JpZCBUYWJsZSA1IERhcmsiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MSIgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0IEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0IEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0IEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0IEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0IEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0IEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0IEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0IEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0IEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0IEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0IEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0IEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IiBOYW1lPSJMaXN0IFRhYmxlIDEgTGlnaHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NyIgTmFtZT0iTGlzdCBUYWJsZSAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDgiIE5hbWU9Ikxpc3QgVGFibGUgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ5IiBOYW1lPSJMaXN0IFRhYmxlIDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MCIgTmFtZT0iTGlzdCBUYWJsZSA1IERhcmsiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MSIgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0IEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBUYWJsZSA0IEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0IEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBUYWJsZSA0IEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0IEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBUYWJsZSA0IEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0IEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBUYWJsZSA0IEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0IEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBUYWJsZSA0IEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ2IgotICAgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0IEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBUYWJsZSA0IEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDYgQ29sb3JmdWwgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI1MiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgNyBDb2xvcmZ1bCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJNZW50aW9uIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlNtYXJ0IEh5cGVybGluayIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIYXNodGFnIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlVucmVzb2x2ZWQgTWVudGlvbiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJTbWFydCBMaW5rIi8+Ci0gPC93OkxhdGVudFN0eWxlcz4KLTwveG1sPjwhW2VuZGlmXS0tPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHlsZT4KLTwhLS0KLSAvKiBGb250IERlZmluaXRpb25zICovCi0gQGZvbnQtZmFjZQotCXtmb250LWZhbWlseTpXaW5nZGluZ3M7Ci0JcGFub3NlLTE6NSAwIDAgMCAwIDAgMCAwIDAgMDsKLQltc28tZm9udC1jaGFyc2V0OjI7Ci0JbXNvLWdlbmVyaWMtZm9udC1mYW1pbHk6YXV0bzsKLQltc28tZm9udC1waXRjaDp2YXJpYWJsZTsKLQltc28tZm9udC1zaWduYXR1cmU6MCAyNjg0MzU0NTYgMCAwIC0yMTQ3NDgzNjQ4IDA7fQotQGZvbnQtZmFjZQotCXtmb250LWZhbWlseToiQ2FtYnJpYSBNYXRoIjsKLQlwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMgMiA0OwotCW1zby1mb250LWNoYXJzZXQ6MDsKLQltc28tZ2VuZXJpYy1mb250LWZhbWlseTpyb21hbjsKLQltc28tZm9udC1waXRjaDp2YXJpYWJsZTsKLQltc28tZm9udC1zaWduYXR1cmU6LTUzNjg2OTEyMSAxMTA3MzA1NzI3IDMzNTU0NDMyIDAgNDE1IDA7fQotQGZvbnQtZmFjZQotCXtmb250LWZhbWlseTpWZXJkYW5hOwotCXBhbm9zZS0xOjIgMTEgNiA0IDMgNSA0IDQgMiA0OwotCW1zby1mb250LWNoYXJzZXQ6MDsKLQltc28tZ2VuZXJpYy1mb250LWZhbWlseTpzd2lzczsKLQltc28tZm9udC1waXRjaDp2YXJpYWJsZTsKLQltc28tZm9udC1zaWduYXR1cmU6LTE2MTA2MTA5NDUgMTA3Mzc1MDEwNyAxNiAwIDQxNSAwO30KLUBmb250LWZhY2UKLQl7Zm9udC1mYW1pbHk6IlNlZ29lIFVJIjsKLQlwYW5vc2UtMToyIDExIDUgMiA0IDIgNCAyIDIgMzsKLQltc28tZm9udC1jaGFyc2V0OjA7Ci0JbXNvLWdlbmVyaWMtZm9udC1mYW1pbHk6c3dpc3M7Ci0JbXNvLWZvbnQtcGl0Y2g6dmFyaWFibGU7Ci0JbXNvLWZvbnQtc2lnbmF0dXJlOi00Njk3NTAwMTcgLTEwNzM2ODMzMjkgOSAwIDUxMSAwO30KLSAvKiBTdHlsZSBEZWZpbml0aW9ucyAqLwotIHAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwKLQl7bXNvLXN0eWxlLXVuaGlkZTpubzsKLQltc28tc3R5bGUtcGFyZW50OiIiOwotCW1hcmdpbjowaW47Ci0JbGluZS1oZWlnaHQ6MTE1JTsKLQltc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47Ci0JZm9udC1zaXplOjExLjBwdDsKLQlmb250LWZhbWlseToiQXJpYWwiLHNhbnMtc2VyaWY7Ci0JbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6QXJpYWw7Ci0JbXNvLWZhcmVhc3QtdGhlbWUtZm9udDptaW5vci1sYXRpbjsKLQltc28tYmlkaS1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKLQltc28tYmlkaS10aGVtZS1mb250Om1pbm9yLWJpZGk7Ci0JY29sb3I6IzAwMjA1MjsKLQltc28tYW5zaS1sYW5ndWFnZTpFTi1VUzsKLQltc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUzt9Ci0uTXNvQ2hwRGVmYXVsdAotCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsKLQltc28tZGVmYXVsdC1wcm9wczp5ZXM7Ci0JZm9udC1mYW1pbHk6IkFyaWFsIixzYW5zLXNlcmlmOwotCW1zby1hc2NpaS1mb250LWZhbWlseTpBcmlhbDsKLQltc28tZmFyZWFzdC1mb250LWZhbWlseTpBcmlhbDsKLQltc28tZmFyZWFzdC10aGVtZS1mb250Om1pbm9yLWxhdGluOwotCW1zby1oYW5zaS1mb250LWZhbWlseTpBcmlhbDsKLQltc28tYmlkaS1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKLQltc28tYmlkaS10aGVtZS1mb250Om1pbm9yLWJpZGk7Ci0JY29sb3I6IzAwMjA1MjsKLQltc28tYW5zaS1sYW5ndWFnZTpFTi1VUzsKLQltc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUzt9Ci0uTXNvUGFwRGVmYXVsdAotCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsKLQlsaW5lLWhlaWdodDoxMTUlO30KLUBwYWdlIFdvcmRTZWN0aW9uMQotCXtzaXplOjguNWluIDExLjBpbjsKLQltYXJnaW46NzAuODVwdCA3MC44NXB0IDcwLjg1cHQgNzAuODVwdDsKLQltc28taGVhZGVyLW1hcmdpbjouNWluOwotCW1zby1mb290ZXItbWFyZ2luOi41aW47Ci0JbXNvLXBhcGVyLXNvdXJjZTowO30KLWRpdi5Xb3JkU2VjdGlvbjEKLQl7cGFnZTpXb3JkU2VjdGlvbjE7fQotIC8qIExpc3QgRGVmaW5pdGlvbnMgKi8KLSBAbGlzdCBsMAotCXttc28tbGlzdC1pZDoxMzQwNzM3Nzg2OwotCW1zby1saXN0LXRlbXBsYXRlLWlkczo4NTkyMzY5MDA7fQotQGxpc3QgbDA6bGV2ZWwxCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDomIzYxNjIzOzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6LjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6U3ltYm9sO30KLUBsaXN0IGwwOmxldmVsMgotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6bzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6MS4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7Ci0JbXNvLWJpZGktZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7fQotQGxpc3QgbDA6bGV2ZWwzCi0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDomIzYxNjA3OzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6MS41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMDpsZXZlbDQKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OiYjNjE2MDc7OwotCW1zby1sZXZlbC10YWItc3RvcDoyLjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwwOmxldmVsNQotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6JiM2MTYwNzs7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjIuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDA6bGV2ZWw2Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDomIzYxNjA3OzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6My4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMDpsZXZlbDcKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OiYjNjE2MDc7OwotCW1zby1sZXZlbC10YWItc3RvcDozLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwwOmxldmVsOAotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6JiM2MTYwNzs7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjQuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDA6bGV2ZWw5Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDomIzYxNjA3OzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6NC41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1vbAotCXttYXJnaW4tYm90dG9tOjBpbjt9Ci11bAotCXttYXJnaW4tYm90dG9tOjBpbjt9Ci0tLT4KLTwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDEwXT4KLTxzdHlsZT4KLSAvKiBTdHlsZSBEZWZpbml0aW9ucyAqLwotIHRhYmxlLk1zb05vcm1hbFRhYmxlCi0Je21zby1zdHlsZS1uYW1lOiJUYWJsZSBOb3JtYWwiOwotCW1zby10c3R5bGUtcm93YmFuZC1zaXplOjA7Ci0JbXNvLXRzdHlsZS1jb2xiYW5kLXNpemU6MDsKLQltc28tc3R5bGUtbm9zaG93OnllczsKLQltc28tc3R5bGUtcHJpb3JpdHk6OTk7Ci0JbXNvLXN0eWxlLXBhcmVudDoiIjsKLQltc28tcGFkZGluZy1hbHQ6MGluIDUuNHB0IDBpbiA1LjRwdDsKLQltc28tcGFyYS1tYXJnaW46MGluOwotCWxpbmUtaGVpZ2h0OjExNSU7Ci0JbXNvLXBhZ2luYXRpb246d2lkb3ctb3JwaGFuOwotCWZvbnQtc2l6ZToxMS4wcHQ7Ci0JZm9udC1mYW1pbHk6IkFyaWFsIixzYW5zLXNlcmlmOwotCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iOwotCW1zby1iaWRpLXRoZW1lLWZvbnQ6bWlub3ItYmlkaTsKLQljb2xvcjojMDAyMDUyOwotCW1zby1hbnNpLWxhbmd1YWdlOkVOLVVTOwotCW1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTO30KLTwvc3R5bGU+Ci08IVtlbmRpZl0tLT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJQcm9nSWQiIGNvbnRlbnQ9IldvcmQuRG9jdW1lbnQiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29udGVudD0iTWljcm9zb2Z0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXb3JkIDE1Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWV0YSBuYW1lPSJPcmlnaW5hdG9yIiBjb250ZW50PSJNaWNyb3NvZnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdvcmQgMTUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPgotIDx3OldvcmREb2N1bWVudD4KLSAgPHc6Vmlldz5Ob3JtYWw8L3c6Vmlldz4KLSAgPHc6Wm9vbT4wPC93Olpvb20+Ci0gIDx3OlRyYWNrTW92ZXMvPgotICA8dzpUcmFja0Zvcm1hdHRpbmcvPgotICA8dzpIeXBoZW5hdGlvblpvbmU+MjE8L3c6SHlwaGVuYXRpb25ab25lPgotICA8dzpQdW5jdHVhdGlvbktlcm5pbmcvPgotICA8dzpWYWxpZGF0ZUFnYWluc3RTY2hlbWFzLz4KLSAgPHc6U2F2ZUlmWE1MSW52YWxpZD5mYWxzZTwvdzpTYXZlSWZYTUxJbnZhbGlkPgotICA8dzpJZ25vcmVNaXhlZENvbnRlbnQ+ZmFsc2U8L3c6SWdub3JlTWl4ZWRDb250ZW50PgotICA8dzpBbHdheXNTaG93UGxhY2Vob2xkZXJUZXh0PmZhbHNlPC93OkFsd2F5c1Nob3dQbGFjZWhvbGRlclRleHQ+Ci0gIDx3OkRvTm90UHJvbW90ZVFGLz4KLSAgPHc6TGlkVGhlbWVPdGhlcj5FTi1VUzwvdzpMaWRUaGVtZU90aGVyPgotICA8dzpMaWRUaGVtZUFzaWFuPlgtTk9ORTwvdzpMaWRUaGVtZUFzaWFuPgotICA8dzpMaWRUaGVtZUNvbXBsZXhTY3JpcHQ+WC1OT05FPC93OkxpZFRoZW1lQ29tcGxleFNjcmlwdD4KLSAgPHc6Q29tcGF0aWJpbGl0eT4KLSAgIDx3OkJyZWFrV3JhcHBlZFRhYmxlcy8+Ci0gICA8dzpTbmFwVG9HcmlkSW5DZWxsLz4KLSAgIDx3OldyYXBUZXh0V2l0aFB1bmN0Lz4KLSAgIDx3OlVzZUFzaWFuQnJlYWtSdWxlcy8+Ci0gICA8dzpEb250R3Jvd0F1dG9maXQvPgotICAgPHc6U3BsaXRQZ0JyZWFrQW5kUGFyYU1hcmsvPgotICAgPHc6RW5hYmxlT3BlblR5cGVLZXJuaW5nLz4KLSAgIDx3OkRvbnRGbGlwTWlycm9ySW5kZW50cy8+Ci0gICA8dzpPdmVycmlkZVRhYmxlU3R5bGVIcHMvPgotICA8L3c6Q29tcGF0aWJpbGl0eT4KLSAgPG06bWF0aFByPgotICAgPG06bWF0aEZvbnQgbTp2YWw9IkNhbWJyaWEgTWF0aCIvPgotICAgPG06YnJrQmluIG06dmFsPSJiZWZvcmUiLz4KLSAgIDxtOmJya0JpblN1YiBtOnZhbD0iJiM0NTstIi8+Ci0gICA8bTpzbWFsbEZyYWMgbTp2YWw9Im9mZiIvPgotICAgPG06ZGlzcERlZi8+Ci0gICA8bTpsTWFyZ2luIG06dmFsPSIwIi8+Ci0gICA8bTpyTWFyZ2luIG06dmFsPSIwIi8+Ci0gICA8bTpkZWZKYyBtOnZhbD0iY2VudGVyR3JvdXAiLz4KLSAgIDxtOndyYXBJbmRlbnQgbTp2YWw9IjE0NDAiLz4KLSAgIDxtOmludExpbSBtOnZhbD0ic3ViU3VwIi8+Ci0gICA8bTpuYXJ5TGltIG06dmFsPSJ1bmRPdnIiLz4KLSAgPC9tOm1hdGhQcj48L3c6V29yZERvY3VtZW50PgotPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+Ci0gPHc6TGF0ZW50U3R5bGVzIERlZkxvY2tlZFN0YXRlPSJmYWxzZSIgRGVmVW5oaWRlV2hlblVzZWQ9ImZhbHNlIgotICBEZWZTZW1pSGlkZGVuPSJmYWxzZSIgRGVmUUZvcm1hdD0iZmFsc2UiIERlZlByaW9yaXR5PSI5OSIKLSAgTGF0ZW50U3R5bGVDb3VudD0iMzc2Ij4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIwIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJOb3JtYWwiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImhlYWRpbmcgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImhlYWRpbmcgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJoZWFkaW5nIDciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIFFGb3JtYXQ9InRydWUiIE5hbWU9ImhlYWRpbmcgOCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iaGVhZGluZyA5Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImluZGV4IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iaW5kZXggMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJpbmRleCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImluZGV4IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iaW5kZXggNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJpbmRleCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImluZGV4IDciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iaW5kZXggOCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJpbmRleCA5Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0idG9jIDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJ0b2MgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRvYyAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0idG9jIDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJ0b2MgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRvYyA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0idG9jIDciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJ0b2MgOCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjM5IiBTZW1pSGlkZGVuPSJ0cnVlIgotICAgVW5oaWRlV2hlblVzZWQ9InRydWUiIE5hbWU9InRvYyA5Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ik5vcm1hbCBJbmRlbnQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iZm9vdG5vdGUgdGV4dCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJhbm5vdGF0aW9uIHRleHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iaGVhZGVyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImZvb3RlciIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJpbmRleCBoZWFkaW5nIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzUiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iY2FwdGlvbiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJ0YWJsZSBvZiBmaWd1cmVzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImVudmVsb3BlIGFkZHJlc3MiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iZW52ZWxvcGUgcmV0dXJuIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9ImZvb3Rub3RlIHJlZmVyZW5jZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJhbm5vdGF0aW9uIHJlZmVyZW5jZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJsaW5lIG51bWJlciIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJwYWdlIG51bWJlciIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJlbmRub3RlIHJlZmVyZW5jZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJlbmRub3RlIHRleHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0idGFibGUgb2YgYXV0aG9yaXRpZXMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0ibWFjcm8iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0idG9hIGhlYWRpbmciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IEJ1bGxldCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IE51bWJlciIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBCdWxsZXQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IEJ1bGxldCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgQnVsbGV0IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBCdWxsZXQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IE51bWJlciAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgTnVtYmVyIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBOdW1iZXIgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IE51bWJlciA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMTAiIFFGb3JtYXQ9InRydWUiIE5hbWU9IlRpdGxlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkNsb3NpbmciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iU2lnbmF0dXJlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMSIgU2VtaUhpZGRlbj0idHJ1ZSIKLSAgIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIiBOYW1lPSJEZWZhdWx0IFBhcmFncmFwaCBGb250Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkJvZHkgVGV4dCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJCb2R5IFRleHQgSW5kZW50Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgQ29udGludWUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBDb250aW51ZSAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikxpc3QgQ29udGludWUgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJMaXN0IENvbnRpbnVlIDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTGlzdCBDb250aW51ZSA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ik1lc3NhZ2UgSGVhZGVyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMTEiIFFGb3JtYXQ9InRydWUiIE5hbWU9IlN1YnRpdGxlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlNhbHV0YXRpb24iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iRGF0ZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJCb2R5IFRleHQgRmlyc3QgSW5kZW50Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkJvZHkgVGV4dCBGaXJzdCBJbmRlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJOb3RlIEhlYWRpbmciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iQm9keSBUZXh0IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iQm9keSBUZXh0IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iQm9keSBUZXh0IEluZGVudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkJvZHkgVGV4dCBJbmRlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJCbG9jayBUZXh0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ikh5cGVybGluayIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJGb2xsb3dlZEh5cGVybGluayIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjIyIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJTdHJvbmciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIyMCIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iRW1waGFzaXMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iRG9jdW1lbnQgTWFwIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlBsYWluIFRleHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iRS1tYWlsIFNpZ25hdHVyZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIFRvcCBvZiBGb3JtIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgQm90dG9tIG9mIEZvcm0iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTm9ybWFsIChXZWIpIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgQWNyb255bSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIEFkZHJlc3MiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSFRNTCBDaXRlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IkhUTUwgQ29kZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIERlZmluaXRpb24iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSFRNTCBLZXlib2FyZCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIFByZWZvcm1hdHRlZCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIFNhbXBsZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJIVE1MIFR5cGV3cml0ZXIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSFRNTCBWYXJpYWJsZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJOb3JtYWwgVGFibGUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iYW5ub3RhdGlvbiBzdWJqZWN0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9Ik5vIExpc3QiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iT3V0bGluZSBMaXN0IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iT3V0bGluZSBMaXN0IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iT3V0bGluZSBMaXN0IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgU2ltcGxlIDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgU2ltcGxlIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgU2ltcGxlIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ2xhc3NpYyAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENsYXNzaWMgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDbGFzc2ljIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ2xhc3NpYyA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENvbG9yZnVsIDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ29sb3JmdWwgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDb2xvcmZ1bCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENvbHVtbnMgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDb2x1bW5zIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgQ29sdW1ucyAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENvbHVtbnMgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBDb2x1bW5zIDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgR3JpZCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIEdyaWQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBHcmlkIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgR3JpZCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIEdyaWQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBHcmlkIDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgR3JpZCA3Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIEdyaWQgOCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBMaXN0IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgTGlzdCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIExpc3QgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBMaXN0IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgTGlzdCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIExpc3QgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBMaXN0IDciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgTGlzdCA4Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIDNEIGVmZmVjdHMgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSAzRCBlZmZlY3RzIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iVGFibGUgM0QgZWZmZWN0cyAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIENvbnRlbXBvcmFyeSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBFbGVnYW50Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBTZW1pSGlkZGVuPSJ0cnVlIiBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIKLSAgIE5hbWU9IlRhYmxlIFByb2Zlc3Npb25hbCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBTdWJ0bGUgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBTdWJ0bGUgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBXZWIgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBXZWIgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBXZWIgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJCYWxsb29uIFRleHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSIzOSIgTmFtZT0iVGFibGUgR3JpZCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJUYWJsZSBUaGVtZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgTmFtZT0iUGxhY2Vob2xkZXIgVGV4dCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjEiIFFGb3JtYXQ9InRydWUiIE5hbWU9Ik5vIFNwYWNpbmciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MCIgTmFtZT0iTGlnaHQgU2hhZGluZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYxIiBOYW1lPSJMaWdodCBMaXN0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjIiIE5hbWU9IkxpZ2h0IEdyaWQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MyIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY0IiBOYW1lPSJNZWRpdW0gU2hhZGluZyAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjUiIE5hbWU9Ik1lZGl1bSBMaXN0IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NiIgTmFtZT0iTWVkaXVtIExpc3QgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY3IiBOYW1lPSJNZWRpdW0gR3JpZCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjgiIE5hbWU9Ik1lZGl1bSBHcmlkIDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OSIgTmFtZT0iTWVkaXVtIEdyaWQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcwIiBOYW1lPSJEYXJrIExpc3QiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MSIgTmFtZT0iQ29sb3JmdWwgU2hhZGluZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcyIiBOYW1lPSJDb2xvcmZ1bCBMaXN0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzMiIE5hbWU9IkNvbG9yZnVsIEdyaWQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MCIgTmFtZT0iTGlnaHQgU2hhZGluZyBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYxIiBOYW1lPSJMaWdodCBMaXN0IEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjIiIE5hbWU9IkxpZ2h0IEdyaWQgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MyIgTmFtZT0iTWVkaXVtIFNoYWRpbmcgMSBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY0IiBOYW1lPSJNZWRpdW0gU2hhZGluZyAyIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjUiIE5hbWU9Ik1lZGl1bSBMaXN0IDEgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIE5hbWU9IlJldmlzaW9uIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzQiIFFGb3JtYXQ9InRydWUiCi0gICBOYW1lPSJMaXN0IFBhcmFncmFwaCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjI5IiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJRdW90ZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjMwIiBRRm9ybWF0PSJ0cnVlIgotICAgTmFtZT0iSW50ZW5zZSBRdW90ZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYwIiBOYW1lPSJMaWdodCBTaGFkaW5nIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjEiIE5hbWU9IkxpZ2h0IExpc3QgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2MiIgTmFtZT0iTGlnaHQgR3JpZCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjYzIiBOYW1lPSJNZWRpdW0gU2hhZGluZyAxIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjQiIE5hbWU9Ik1lZGl1bSBTaGFkaW5nIDIgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2NSIgTmFtZT0iTWVkaXVtIExpc3QgMSBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY2IiBOYW1lPSJNZWRpdW0gTGlzdCAyIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNjciIE5hbWU9Ik1lZGl1bSBHcmlkIDEgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI2OCIgTmFtZT0iTWVkaXVtIEdyaWQgMiBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjY5IiBOYW1lPSJNZWRpdW0gR3JpZCAzIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzAiIE5hbWU9IkRhcmsgTGlzdCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjcxIiBOYW1lPSJDb2xvcmZ1bCBTaGFkaW5nIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNzIiIE5hbWU9IkNvbG9yZnVsIExpc3QgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI3MyIgTmFtZT0iQ29sb3JmdWwgR3JpZCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjE5IiBRRm9ybWF0PSJ0cnVlIgotICAgTmFtZT0iU3VidGxlIEVtcGhhc2lzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMjEiIFFGb3JtYXQ9InRydWUiCi0gICBOYW1lPSJJbnRlbnNlIEVtcGhhc2lzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzEiIFFGb3JtYXQ9InRydWUiCi0gICBOYW1lPSJTdWJ0bGUgUmVmZXJlbmNlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzIiIFFGb3JtYXQ9InRydWUiCi0gICBOYW1lPSJJbnRlbnNlIFJlZmVyZW5jZSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjMzIiBRRm9ybWF0PSJ0cnVlIiBOYW1lPSJCb29rIFRpdGxlIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzciIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgTmFtZT0iQmlibGlvZ3JhcGh5Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iMzkiIFNlbWlIaWRkZW49InRydWUiCi0gICBVbmhpZGVXaGVuVXNlZD0idHJ1ZSIgUUZvcm1hdD0idHJ1ZSIgTmFtZT0iVE9DIEhlYWRpbmciLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0MSIgTmFtZT0iUGxhaW4gVGFibGUgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQyIiBOYW1lPSJQbGFpbiBUYWJsZSAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDMiIE5hbWU9IlBsYWluIFRhYmxlIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NCIgTmFtZT0iUGxhaW4gVGFibGUgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ1IiBOYW1lPSJQbGFpbiBUYWJsZSA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDAiIE5hbWU9IkdyaWQgVGFibGUgTGlnaHQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIgTmFtZT0iR3JpZCBUYWJsZSAxIExpZ2h0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9IkdyaWQgVGFibGUgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJHcmlkIFRhYmxlIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iR3JpZCBUYWJsZSA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9IkdyaWQgVGFibGUgNSBEYXJrIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiIE5hbWU9IkdyaWQgVGFibGUgNiBDb2xvcmZ1bCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUyIiBOYW1lPSJHcmlkIFRhYmxlIDcgQ29sb3JmdWwiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgMSBMaWdodCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJHcmlkIFRhYmxlIDIgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iR3JpZCBUYWJsZSAzIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9IkdyaWQgVGFibGUgNCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJHcmlkIFRhYmxlIDUgRGFyayBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgMSBMaWdodCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJHcmlkIFRhYmxlIDIgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iR3JpZCBUYWJsZSAzIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9IkdyaWQgVGFibGUgNCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJHcmlkIFRhYmxlIDUgRGFyayBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgMSBMaWdodCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJHcmlkIFRhYmxlIDIgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iR3JpZCBUYWJsZSAzIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9IkdyaWQgVGFibGUgNCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJHcmlkIFRhYmxlIDUgRGFyayBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgMSBMaWdodCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJHcmlkIFRhYmxlIDIgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iR3JpZCBUYWJsZSAzIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9IkdyaWQgVGFibGUgNCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJHcmlkIFRhYmxlIDUgRGFyayBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgMSBMaWdodCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJHcmlkIFRhYmxlIDIgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iR3JpZCBUYWJsZSAzIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9IkdyaWQgVGFibGUgNCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJHcmlkIFRhYmxlIDUgRGFyayBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9IkdyaWQgVGFibGUgMSBMaWdodCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJHcmlkIFRhYmxlIDIgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iR3JpZCBUYWJsZSAzIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9IkdyaWQgVGFibGUgNCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJHcmlkIFRhYmxlIDUgRGFyayBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iR3JpZCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJHcmlkIFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIgTmFtZT0iTGlzdCBUYWJsZSAxIExpZ2h0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDciIE5hbWU9Ikxpc3QgVGFibGUgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ4IiBOYW1lPSJMaXN0IFRhYmxlIDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OSIgTmFtZT0iTGlzdCBUYWJsZSA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTAiIE5hbWU9Ikxpc3QgVGFibGUgNSBEYXJrIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTEiIE5hbWU9Ikxpc3QgVGFibGUgNiBDb2xvcmZ1bCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUyIiBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgMSBMaWdodCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iTGlzdCBUYWJsZSAzIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9Ikxpc3QgVGFibGUgNCBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJMaXN0IFRhYmxlIDUgRGFyayBBY2NlbnQgMSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCAxIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDEiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgMSBMaWdodCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iTGlzdCBUYWJsZSAzIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9Ikxpc3QgVGFibGUgNCBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJMaXN0IFRhYmxlIDUgRGFyayBBY2NlbnQgMiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCAyIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDIiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgMSBMaWdodCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iTGlzdCBUYWJsZSAzIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9Ikxpc3QgVGFibGUgNCBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJMaXN0IFRhYmxlIDUgRGFyayBBY2NlbnQgMyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCAzIi8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDMiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgMSBMaWdodCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iTGlzdCBUYWJsZSAzIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9Ikxpc3QgVGFibGUgNCBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJMaXN0IFRhYmxlIDUgRGFyayBBY2NlbnQgNCIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCA0Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDQiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgMSBMaWdodCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iTGlzdCBUYWJsZSAzIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9Ikxpc3QgVGFibGUgNCBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJMaXN0IFRhYmxlIDUgRGFyayBBY2NlbnQgNSIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCA1Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDUiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0NiIKLSAgIE5hbWU9Ikxpc3QgVGFibGUgMSBMaWdodCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjQ3IiBOYW1lPSJMaXN0IFRhYmxlIDIgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFByaW9yaXR5PSI0OCIgTmFtZT0iTGlzdCBUYWJsZSAzIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNDkiIE5hbWU9Ikxpc3QgVGFibGUgNCBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUwIiBOYW1lPSJMaXN0IFRhYmxlIDUgRGFyayBBY2NlbnQgNiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgUHJpb3JpdHk9IjUxIgotICAgTmFtZT0iTGlzdCBUYWJsZSA2IENvbG9yZnVsIEFjY2VudCA2Ii8+Ci0gIDx3OkxzZEV4Y2VwdGlvbiBMb2NrZWQ9ImZhbHNlIiBQcmlvcml0eT0iNTIiCi0gICBOYW1lPSJMaXN0IFRhYmxlIDcgQ29sb3JmdWwgQWNjZW50IDYiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iTWVudGlvbiIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJTbWFydCBIeXBlcmxpbmsiLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iSGFzaHRhZyIvPgotICA8dzpMc2RFeGNlcHRpb24gTG9ja2VkPSJmYWxzZSIgU2VtaUhpZGRlbj0idHJ1ZSIgVW5oaWRlV2hlblVzZWQ9InRydWUiCi0gICBOYW1lPSJVbnJlc29sdmVkIE1lbnRpb24iLz4KLSAgPHc6THNkRXhjZXB0aW9uIExvY2tlZD0iZmFsc2UiIFNlbWlIaWRkZW49InRydWUiIFVuaGlkZVdoZW5Vc2VkPSJ0cnVlIgotICAgTmFtZT0iU21hcnQgTGluayIvPgotIDwvdzpMYXRlbnRTdHlsZXM+Ci08L3htbD48IVtlbmRpZl0tLT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3R5bGU+Ci08IS0tCi0gLyogRm9udCBEZWZpbml0aW9ucyAqLwotIEBmb250LWZhY2UKLQl7Zm9udC1mYW1pbHk6V2luZ2RpbmdzOwotCXBhbm9zZS0xOjUgMCAwIDAgMCAwIDAgMCAwIDA7Ci0JbXNvLWZvbnQtY2hhcnNldDoyOwotCW1zby1nZW5lcmljLWZvbnQtZmFtaWx5OmF1dG87Ci0JbXNvLWZvbnQtcGl0Y2g6dmFyaWFibGU7Ci0JbXNvLWZvbnQtc2lnbmF0dXJlOjAgMjY4NDM1NDU2IDAgMCAtMjE0NzQ4MzY0OCAwO30KLUBmb250LWZhY2UKLQl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0aCI7Ci0JcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDsKLQltc28tZm9udC1jaGFyc2V0OjA7Ci0JbXNvLWdlbmVyaWMtZm9udC1mYW1pbHk6cm9tYW47Ci0JbXNvLWZvbnQtcGl0Y2g6dmFyaWFibGU7Ci0JbXNvLWZvbnQtc2lnbmF0dXJlOi01MzY4NjkxMjEgMTEwNzMwNTcyNyAzMzU1NDQzMiAwIDQxNSAwO30KLUBmb250LWZhY2UKLQl7Zm9udC1mYW1pbHk6VmVyZGFuYTsKLQlwYW5vc2UtMToyIDExIDYgNCAzIDUgNCA0IDIgNDsKLQltc28tZm9udC1jaGFyc2V0OjA7Ci0JbXNvLWdlbmVyaWMtZm9udC1mYW1pbHk6c3dpc3M7Ci0JbXNvLWZvbnQtcGl0Y2g6dmFyaWFibGU7Ci0JbXNvLWZvbnQtc2lnbmF0dXJlOi0xNjEwNjEwOTQ1IDEwNzM3NTAxMDcgMTYgMCA0MTUgMDt9Ci1AZm9udC1mYWNlCi0Je2ZvbnQtZmFtaWx5OiJTZWdvZSBVSSI7Ci0JcGFub3NlLTE6MiAxMSA1IDIgNCAyIDQgMiAyIDM7Ci0JbXNvLWZvbnQtY2hhcnNldDowOwotCW1zby1nZW5lcmljLWZvbnQtZmFtaWx5OnN3aXNzOwotCW1zby1mb250LXBpdGNoOnZhcmlhYmxlOwotCW1zby1mb250LXNpZ25hdHVyZTotNDY5NzUwMDE3IC0xMDczNjgzMzI5IDkgMCA1MTEgMDt9Ci0gLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8KLSBwLk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsCi0Je21zby1zdHlsZS11bmhpZGU6bm87Ci0JbXNvLXN0eWxlLXBhcmVudDoiIjsKLQltYXJnaW46MGluOwotCWxpbmUtaGVpZ2h0OjExNSU7Ci0JbXNvLXBhZ2luYXRpb246d2lkb3ctb3JwaGFuOwotCWZvbnQtc2l6ZToxMS4wcHQ7Ci0JZm9udC1mYW1pbHk6IkFyaWFsIixzYW5zLXNlcmlmOwotCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OkFyaWFsOwotCW1zby1mYXJlYXN0LXRoZW1lLWZvbnQ6bWlub3ItbGF0aW47Ci0JbXNvLWJpZGktZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Ci0JbXNvLWJpZGktdGhlbWUtZm9udDptaW5vci1iaWRpOwotCWNvbG9yOiMwMDIwNTI7Ci0JbXNvLWFuc2ktbGFuZ3VhZ2U6RU4tVVM7Ci0JbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVM7fQotLk1zb0NocERlZmF1bHQKLQl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7Ci0JbXNvLWRlZmF1bHQtcHJvcHM6eWVzOwotCWZvbnQtZmFtaWx5OiJBcmlhbCIsc2Fucy1zZXJpZjsKLQltc28tYXNjaWktZm9udC1mYW1pbHk6QXJpYWw7Ci0JbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6QXJpYWw7Ci0JbXNvLWZhcmVhc3QtdGhlbWUtZm9udDptaW5vci1sYXRpbjsKLQltc28taGFuc2ktZm9udC1mYW1pbHk6QXJpYWw7Ci0JbXNvLWJpZGktZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiI7Ci0JbXNvLWJpZGktdGhlbWUtZm9udDptaW5vci1iaWRpOwotCWNvbG9yOiMwMDIwNTI7Ci0JbXNvLWFuc2ktbGFuZ3VhZ2U6RU4tVVM7Ci0JbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVM7fQotLk1zb1BhcERlZmF1bHQKLQl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7Ci0JbGluZS1oZWlnaHQ6MTE1JTt9Ci1AcGFnZSBXb3JkU2VjdGlvbjEKLQl7c2l6ZTo4LjVpbiAxMS4waW47Ci0JbWFyZ2luOjcwLjg1cHQgNzAuODVwdCA3MC44NXB0IDcwLjg1cHQ7Ci0JbXNvLWhlYWRlci1tYXJnaW46LjVpbjsKLQltc28tZm9vdGVyLW1hcmdpbjouNWluOwotCW1zby1wYXBlci1zb3VyY2U6MDt9Ci1kaXYuV29yZFNlY3Rpb24xCi0Je3BhZ2U6V29yZFNlY3Rpb24xO30KLSAvKiBMaXN0IERlZmluaXRpb25zICovCi0gQGxpc3QgbDAKLQl7bXNvLWxpc3QtaWQ6MTM0MDczNzc4NjsKLQltc28tbGlzdC10ZW1wbGF0ZS1pZHM6ODU5MjM2OTAwO30KLUBsaXN0IGwwOmxldmVsMQotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6JiM2MTYyMzs7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOi41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OlN5bWJvbDt9Ci1AbGlzdCBsMDpsZXZlbDIKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0Om87Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjEuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseToiQ291cmllciBOZXciOwotCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30KLUBsaXN0IGwwOmxldmVsMwotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6JiM2MTYwNzs7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjEuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDA6bGV2ZWw0Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDomIzYxNjA3OzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6Mi4waW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMDpsZXZlbDUKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OiYjNjE2MDc7OwotCW1zby1sZXZlbC10YWItc3RvcDoyLjVpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwwOmxldmVsNgotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6JiM2MTYwNzs7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjMuMGluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotQGxpc3QgbDA6bGV2ZWw3Ci0Je21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsKLQltc28tbGV2ZWwtdGV4dDomIzYxNjA3OzsKLQltc28tbGV2ZWwtdGFiLXN0b3A6My41aW47Ci0JbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0OwotCXRleHQtaW5kZW50Oi0uMjVpbjsKLQltc28tYW5zaS1mb250LXNpemU6MTAuMHB0OwotCWZvbnQtZmFtaWx5OldpbmdkaW5nczt9Ci1AbGlzdCBsMDpsZXZlbDgKLQl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0OwotCW1zby1sZXZlbC10ZXh0OiYjNjE2MDc7OwotCW1zby1sZXZlbC10YWItc3RvcDo0LjBpbjsKLQltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7Ci0JdGV4dC1pbmRlbnQ6LS4yNWluOwotCW1zby1hbnNpLWZvbnQtc2l6ZToxMC4wcHQ7Ci0JZm9udC1mYW1pbHk6V2luZ2RpbmdzO30KLUBsaXN0IGwwOmxldmVsOQotCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7Ci0JbXNvLWxldmVsLXRleHQ6JiM2MTYwNzs7Ci0JbXNvLWxldmVsLXRhYi1zdG9wOjQuNWluOwotCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsKLQl0ZXh0LWluZGVudDotLjI1aW47Ci0JbXNvLWFuc2ktZm9udC1zaXplOjEwLjBwdDsKLQlmb250LWZhbWlseTpXaW5nZGluZ3M7fQotb2wKLQl7bWFyZ2luLWJvdHRvbTowaW47fQotdWwKLQl7bWFyZ2luLWJvdHRvbTowaW47fQotLS0+Ci08L3N0eWxlPjwhLS1baWYgZ3RlIG1zbyAxMF0+Ci08c3R5bGU+Ci0gLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8KLSB0YWJsZS5Nc29Ob3JtYWxUYWJsZQotCXttc28tc3R5bGUtbmFtZToiVGFibGUgTm9ybWFsIjsKLQltc28tdHN0eWxlLXJvd2JhbmQtc2l6ZTowOwotCW1zby10c3R5bGUtY29sYmFuZC1zaXplOjA7Ci0JbXNvLXN0eWxlLW5vc2hvdzp5ZXM7Ci0JbXNvLXN0eWxlLXByaW9yaXR5Ojk5OwotCW1zby1zdHlsZS1wYXJlbnQ6IiI7Ci0JbXNvLXBhZGRpbmctYWx0OjBpbiA1LjRwdCAwaW4gNS40cHQ7Ci0JbXNvLXBhcmEtbWFyZ2luOjBpbjsKLQlsaW5lLWhlaWdodDoxMTUlOwotCW1zby1wYWdpbmF0aW9uOndpZG93LW9ycGhhbjsKLQlmb250LXNpemU6MTEuMHB0OwotCWZvbnQtZmFtaWx5OiJBcmlhbCIsc2Fucy1zZXJpZjsKLQltc28tYmlkaS1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjsKLQltc28tYmlkaS10aGVtZS1mb250Om1pbm9yLWJpZGk7Ci0JY29sb3I6IzAwMjA1MjsKLQltc28tYW5zaS1sYW5ndWFnZTpFTi1VUzsKLQltc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUzt9Ci08L3N0eWxlPgotPCFbZW5kaWZdLS0+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAtbW96LWluaXRpYWw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGU7Ij52MS4yLjkvIDEyLUZlYnJ1YXJ5LTIwMjE8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9oMz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMGluIDQuNXB0IDAuMjVpbjsiPjxiPjx1PjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjazsiPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48YnI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZW5lcmFsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlcyB0byBmaXgga25vd24gZGVmZWN0cyBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmhhbmNlbWVudHMgPHNwYW4gY2xhc3M9ImdyYW1lIj5pbXBsZW1lbnRhdGlvbjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48YnI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjazsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvdT48L2I+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bzpwPjwvbzpwPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZTsiPlYxLjIuOC8gMTMtRmVicnVhcnktMjAyMDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2gzPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwaW4gNC41cHQgMC4yNWluOyI+PGI+PHU+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrOyI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZW5lcmFsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlcyB0byBmaXgga25vd24gZGVmZWN0cyBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmhhbmNlbWVudHMgPHNwYW4gY2xhc3M9ImdyYW1lIj5pbXBsZW1lbnRhdGlvbjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTC9MTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1BJTyZuYnNwOzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSZuYnNwO0dQSU8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxpemF0aW9uIHNlcXVlbmNlPGI+Jm5ic3A7PC9iPnRvCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF2b2lkIHVud2FudGVkIHB1bHNlIG9uIEdQSU8gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5QaW4nczwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDJm5ic3A7PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyQ19FVl88c3BhbiBjbGFzcz0iZ3JhbWUiPklSUUhhbmRsZXIoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byBmaXggSTJDIHNlbmQgYnJlYWsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzc3VlJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbCBjaGVjayBvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaTJjLSZndDtoZG1hdHgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhkbWF0eC0mZ3Q7WGZlckNwbHRDYWxsYmFjaywmbmJzcDtoaTJjLSZndDtoZG1hcngsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhkbWFyeC0mZ3Q7WGZlckNwbHRDYWxsYmFjayBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfTWFzdGVyXzxzcGFuIGNsYXNzPSJncmFtZSI+U0IoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGF2b2lkJm5ic3A7ZW5hYmxpbmcgRE1BCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QmbmJzcDt3aGVuIElUIG1vZGUgaXMgdXNlZC48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMkNfRVJfPHNwYW4gY2xhc3M9ImdyYW1lIj5JUlFIYW5kbGVyKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG8gZml4IGFja25vd2xlZGdlIGZhaWx1cmUgaXNzdWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggSTJDJm5ic3A7bWVtb3J5IElUIHByb2Nlc3Nlczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwO0FkZCZuYnNwO3N0b3AKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRpb24mbmJzcDt3aGVuJm5ic3A7TkFDSwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvY2N1cnMuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlJm5ic3A7SEFMX0kyQ188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkluaXQoPC9zcGFuPikgQVBJIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZSBzb2Z0d2FyZSByZXNldCBiZWZvcmUgc2V0dGluZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEkyQyBjb25maWd1cmF0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMIEkyQyBwcm9jZXNzZXMgdG8gcmVwb3J0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvckNvZGUmbmJzcDt3aGVuIHdyb25nIEkyQyBzdGFydAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uIDxzcGFuIGNsYXNzPSJncmFtZSI+b2NjdXJzPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwO0FkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcmbmJzcDtFcnJvckNvZGUgZGVmaW5lOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJDX1dST05HX1NUQVJUPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwO1NldCZuYnNwO0Vycm9yQ29kZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXIgaW4mbmJzcDtJMkMgaGFuZGxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvJm5ic3A7SEFMX0kyQ19XUk9OR19TVEFSVDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSZuYnNwO0kyQ188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkRNQVhmZXJDcGx0KDwvc3Bhbj4pLAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfRE1BRXJyb3IoKSBhbmQgSTJDX0RNQUFib3J0KCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSXMgdG8gZml4IGhhcmRmYXVsdCBpc3N1ZSB3aGVuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZG1hdHggYW5kIGhkbWFyeCZuYnNwO3BhcmFtZXRlcnMgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkyYyBoYW5kbGUgYXJlbid0IGluaXRpYWxpemVkIChOVUxMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyKS48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsIGNoZWNrIG9uIGhpMmMtJmd0O2hkbXR4Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBoaTJjLSZndDtoZG1hcnggYmVmb3JlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0dGluZyZuYnNwO0RNQSBUeC9SeCBjb21wbGV0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPmNhbGxiYWNrPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBRENfSU5URVJOQUxfTk9ORSIgY2hhbm5lbCB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZSB0aGUgVkJBVCAmYW1wOyBUU1ZSRUZFCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVsLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERDTUkgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEQ01JX1N5bmNVbm1hc2tUeXBlRGVmIHN0cnVjdHVyZSBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9EQ01JXzxzcGFuIGNsYXNzPSJncmFtZSI+Q29uZmlnU3luY1VubWFzayg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIG1hbmFnZSBlbWJlZGRlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3luY2hyb25pemF0aW9uIGRlbGltaXRlcnMgdW5tYXNrczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdlbmVyYWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSB0byBlbmhhbmNlIEhBTCBFWFRJIGRyaXZlciA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPnJvYnVzdG5lc3M8L3NwYW4+Jm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWwgYXNzZXJ0IGNoZWNrIG9uIEVYVEkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnIDxzcGFuIGNsYXNzPSJncmFtZSI+bGluZXM8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBjb21wdXRlIEVYVEkgbGluZSBtYXNrIGJlZm9yZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkL3dyaXRlIGFjY2VzcyB0byBFWFRJIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5yZWdpc3RlcnM8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJIGNhbGxiYWNrcyBtYW5hZ2VtZW50IHRvIGJlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wbGlhbnQgd2l0aCByZWZlcmVuY2UgbWFudWFsOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25seSBvbmUgUFIgcmVnaXN0ZXIgZm9yIHJpc2luZyBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxpbmcgaW50ZXJydXB0cy48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVycyBpbiBFWFRJX0hhbmRsZVR5cGVEZWYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlOiBtZXJnZSBIQUwgRVhUSQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSaXNpbmdDYWxsYmFjayBhbmQgRmFsbGluZ0NhbGxiYWNrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIG9ubHkgb25lIFBlbmRpbmdDYWxsYmFjay48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtb3ZlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9FWFRJX1JJU0lOR19DQl9JRCBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0VYVElfRkFMTElOR19DQl9JRCB2YWx1ZXMgZnJvbQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0NhbGxiYWNrSURUeXBlRGVmCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW1lcmF0aW9uLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0VYVElfPHNwYW4gY2xhc3M9ImdyYW1lIj5JUlFIYW5kbGVyKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG8gc2VydmUgaW50ZXJydXB0cyBjb3JyZWN0bHkuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGNvbXB1dGUgRVhUSSBsaW5lIG1hc2sgYmVmb3JlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZSBFWFRJIGludGVycnVwdC48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHN1cHBvcnQgR1BJTyBwb3J0IGludGVycnVwdHM6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyAiR1BJT1NlbCIgcGFyYW1ldGVyIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfQ29uZmlnVHlwZURlZiBzdHJ1Y3R1cmU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQVNIJm5ic3A7PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TnVsbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRlciBvbiBoYW5kbGVyICJoaGFzaCIgaXMgbm93Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkIGJlZm9yZSBhY2Nlc3Npbmcgc3RydWN0dXJlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1iZXIgImhoYXNoLSZndDtJbml0LkRhdGFUeXBlIiBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGZvbGxvd2luZyBBUEk6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0hBU0hfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkluaXQoPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Gb2xsb3dpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPmludGVycnVwdC1iYXNlZDwvYj4gQVBJcyBoYXZlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWVuIGFkZGVkLiBJbnRlcnJ1cHQgbW9kZSBjb3VsZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3cgdGhlIE1DVSB0byBlbnRlciAiU2xlZXAiIG1vZGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIGEgZGF0YSBibG9jayBpcyBiZWluZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc2VkLiBQbGVhc2UgcmVmZXIgdG8gdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIyMjIyMgSG93IHRvIHVzZSB0aGlzIGRyaXZlciAjIyMjIyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3Rpb24gZm9yIGRldGFpbHMgYWJvdXQgdGhlaXIgdXNlLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9IQVNIX1NIQTFfQWNjbWx0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5JVCg8L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSEFTSF9NRDVfQWNjbWx0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5JVCg8L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSEFTSEV4X1NIQTIyNF9BY2NtbHRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPklUKDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9IQVNIRXhfU0hBMjU2X0FjY21sdF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+SVQoPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Gb2xsb3dpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPmFsaWFzZXM8L2I+IGhhdmUgYmVlbiBhZGRlZCAoanVzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+Zm9yIGNsYXJpdHkgc2FrZTwvYj4pIGFzIHRoZXkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWxsIGJlIHVzZWQgYXQgdGhlIDxiPmVuZDwvYj4gb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjb21wdXRhdGlvbiBvZiBhIG11bHRpLWJ1ZmZlcnMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgYW5kIG5vdCBhdCB0aGUgc3RhcnQ6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0hBU0hfU0hBMV9BY2NtbHRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkVuZCg8L3NwYW4+KSB0byBiZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VkIGluc3RlYWQgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0hBU0hfU0hBMV9TdGFydCgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9IQVNIX01ENV9BY2NtbHRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkVuZCg8L3NwYW4+KSB0byBiZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VkIGluc3RlYWQgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0hBU0hfTUQ1X1N0YXJ0KCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0hBU0hfU0hBMV9BY2NtbHRfRW5kXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5JVCg8L3NwYW4+KSB0byBiZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VkIGluc3RlYWQgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0hBU0hfU0hBMV9TdGFydF9JVCgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9IQVNIX01ENV9BY2NtbHRfRW5kXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5JVCg8L3NwYW4+KSB0byBiZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VkIGluc3RlYWQgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0hBU0hfTUQ1X1N0YXJ0X0lUKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0hBU0hFeF9TSEEyMjRfQWNjbWx0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5FbmQoPC9zcGFuPikgdG8gYmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZCBpbnN0ZWFkIG9mCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9IQVNIRXhfU0hBMjI0X1N0YXJ0KCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0hBU0hFeF9TSEEyNTZfQWNjbWx0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5FbmQoPC9zcGFuPikgdG8gYmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZCBpbnN0ZWFkIG9mCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9IQVNIRXhfU0hBMjU2X1N0YXJ0KCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0hBU0hFeF9TSEEyMjRfQWNjbWx0X0VuZF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+SVQoPC9zcGFuPikgdG8gYmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZCBpbnN0ZWFkIG9mCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9IQVNIRXhfU0hBMjI0X1N0YXJ0X0lUKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0hBU0hFeF9TSEEyNTZfQWNjbWx0X0VuZF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+SVQoPC9zcGFuPikgdG8gYmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZCBpbnN0ZWFkIG9mCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9IQVNIRXhfU0hBMjU2X1N0YXJ0X0lUKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5NSVNSQUMtMjAxMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVsZSBSLjUuMSAoaWRlbnRpZmllcnMgc2hhbGwgYmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RpbmN0IGluIHRoZSBmaXJzdCAzMSBjaGFyYWN0ZXJzKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3RyYWluZWQgdGhlIG5hbWluZyBvZiB0aGUgYWJvdmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RlZCBhbGlhc2VzIChlLmcuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSEFTSEV4X1NIQTI1Nl88Yj5BY2NtbHQ8L2I+XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+RW5kKDwvc3Bhbj4pIGNvdWxkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3QgYmUgbmFtZWQgSEFMX0hBU0hFeF9TSEEyNTZfPGI+QWNjdW11bGF0ZTwvYj5fRW5kKCkuCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE90aGVyd2lzZSB0aGUgbmFtZSB3b3VsZCBoYXZlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25mbGljdGVkIHdpdGggSEFMX0hBU0hFeF9TSEEyNTZfPGI+QWNjdW11bGF0ZTwvYj5fRW5kXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+SVQoPC9zcGFuPikpLiBJbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXIgdG8gaGF2ZSBhbGlnbmVkIG5hbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgQVBJcyBoYXZlIGJlZW4gcmVuYW1lZDo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSEFTSF9NRDVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkFjY3VtdWxhdGUoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuYW1lZCBIQUxfSEFTSF9NRDVfQWNjbWx0KCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0hBU0hfU0hBMV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+QWNjdW11bGF0ZSg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5hbWVkIEhBTF9IQVNIX1NIQTFfQWNjbWx0KCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0hBU0hFeF9TSEEyMjRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkFjY3VtdWxhdGUoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuYW1lZCBIQUxfSEFTSEV4X1NIQTIyNF9BY2NtbHQoKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSEFTSEV4X1NIQTI1Nl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+QWNjdW11bGF0ZSg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5hbWVkIEhBTF9IQVNIRXhfU0hBMjU2X0FjY21sdCgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFTSAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+aGFuZGxlcjwvYj4gc3RhdGUgaXMgPGI+bm8gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPm1vcmU8L3NwYW4+PC9iPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdG8gSEFMX0hBU0hfU1RBVEVfUkVBRFkgPGI+b25jZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgaGFzIGJlZW4gc3RhcnRlZDwvYj4gaW4gdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgQVBJczo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9IQVNIX01ENV9TdGFydF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+RE1BKDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9ITUFDX01ENV9TdGFydF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+RE1BKDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9IQVNIX1NIQTFfU3RhcnRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkRNQSg8L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSE1BQ19TSEExX1N0YXJ0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5ETUEoPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQVNICi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5waGFzZTwvYj4gc3RhdGUgaXMgbm93IHNldCB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0hBU0hfUEhBU0VfUkVBRFk8Yj4gb25jZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlnZXN0IGhhcyBiZWVuIHJlYWQ8L2I+IGluIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIEFQSXM6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQVNIXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5JVCg8L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ITUFDXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5Qcm9jZXNzaW5nKDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBU0hfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPlN0YXJ0KDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBU0hfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkZpbmlzaCg8L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNhc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIGEgbGFyZ2UgYnVmZmVyIHNjYXR0ZXJlZCBhcm91bmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIG1lbW9yeSBlYWNoIHBpZWNlIG9mIHdoaWNoIGlzIDxiPm5vdDwvYj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lY2Vzc2FyaWx5IGEgPGI+bXVsdGlwbGUgb2YgNDwvYj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5dGVzIGluIGxlbmd0aC48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN0aW9uICIjIyMjIyBIb3cgdG8gdXNlIHRoaXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJpdmVyICMjIyMjIiwgc3ViLXNlY3Rpb24gIioqKgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW1hcmtzIG9uIG1lc3NhZ2UgbGVuZ3RoICoqKiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkZWQgdG8gcHJvdmlkZSByZWNvbW1lbmRhdGlvbnMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZm9sbG93IGluIHN1Y2ggY2FzZS48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Tm8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpY2F0aW9uIG9mIHRoZSBkcml2ZXIgYXMgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvb3QtY2F1c2UgaXMgYXQgZGVzaWduLWxldmVsLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNETU1DJm5ic3A7PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4Jm5ic3A7dHlwbwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gIkZpbGVGb3JtYXRHcm91cCIgcGFyYW1ldGVyIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgSEFMX01NQ19DYXJkQ1NEVHlwZURlZiBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9TRF9DYXJkQ1NEVHlwZURlZiBzdHJ1Y3R1cmVzLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GaXgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuIGltcHJvdmUgaGFuZGxlIHN0YXRlIGFuZCBlcnJvciA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPm1hbmFnZW1lbnQ8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmluZWQgTU1DIGNhcmQgY2FwYWNpdHkgdHlwZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gYmUgbW9yZSBtZWFuaW5nZnVsOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5NTUNfSElHSF9WT0xUQUdFX0NBUkQ8L2I+IHRvIDxiPk1NQwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExPV19DQVBBQ0lUWV9DQVJEPC9iPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+TU1DX0RVQUxfVk9MVEFHRV9DUkFEPC9iPiB0byA8Yj5NTUNfSElHSF9DQVBBQ0lUWV9DQVJEPC9iPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFTUEkgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtb3ZlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NrIG1lY2hhbmlzbSBmcm9tIEhBTF9RU1BJXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+SW5pdCg8L3NwYW4+KSBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9RU1BJX0RlSW5pdCgpIEFQSXM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiIHN0eWxlPSJvcnBoYW5zOiAyOyB3aWRvd3M6IDI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExQVElNJm5ic3A7PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJvcnBoYW5zOiAyOyB3aWRvd3M6IDI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgcG9sbGluZyBtZWNoYW5pc20gdG8gY2hlY2sKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uJm5ic3A7TFBUSU1fRkxBR19YWE9LJm5ic3A7ZmxhZ3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGRpZmZlcmVudCA8c3BhbiBjbGFzcz0iZ3JhbWUiPkFQSTwvc3Bhbj4mbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQmbmJzcDtMUFRJTV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+V2FpdEZvckZsYWcoPC9zcGFuPikmbmJzcDtBUEkmbmJzcDt0bwotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhaXQgZm9yIGZsYWcgc2V0Ljwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QZXJmb3JtCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBjaGVja3Mgb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0xQVElNX1NUQVRFX1RJTUVPVVQuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+V29ya2Fyb3VuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZml4IE1DVSBzbGFjayBpbiBzbGVlcCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPm1vZGU8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX0xQVElNX0RJU0FCTEUgKCkgbWFjcm8gdXNlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkaXNhYmxlIExQVElNIEhXIGluc3RhbmNlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtb3ZlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIExQVElNX0NSX0VOQUJMRSBiaXQgY2xlYXIuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSBuZXcgPHNwYW4gY2xhc3M9ImdyYW1lIj5BUEkmbmJzcDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExQVElNPC9zcGFuPl9EaXNhYmxlKCkgZGVmaW5lZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluJm5ic3A7IGhhbF9scHRpbS5jPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfTFBUSU1fUkVTRVRfSEFORExFX1NUQVRFKF9fSEFORExFX18pCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIGJ5IGFkZGluZyBhIHNwZWNpZmljIC4uLi4gd2hlbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNpbmcgY2FsbGJhY2sgcmVnaXN0ZXI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfTFBUSU1fRU5BQkxFPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNzZWxlc3MgY2hlY2sgb24gTFBUSU0yIGluIHRoZSBMTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJpdmVyIHNpbmNlIEY3IHN1cHBvcnQgb25seSBvbmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlIG9mIExQVElNLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+dGhlJm5ic3A7IExMPC9zcGFuPl9MUFRJTV9ESVNBQkxFKCkKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHVzZWQgdG8gZGlzYWJsZSBMUFRJTSBIVwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2U8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1vdmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIGRlZmluaXRpb24gdG8gbGxfbHB0aW0uYzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48YiBzdHlsZT0ib3JwaGFuczogMjsgd2lkb3dzOiAyOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmQtc3BhY2luZzogMHB4OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMJm5ic3A7VElNJm5ic3A7PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJvcnBoYW5zOiAyOyB3aWRvd3M6IDI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBtYWNyb3MgdG8gZW5hYmxlIGFuZCBkaXNhYmxlIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFzdCBtb2RlIHdoZW4gdXNpbmcgdGhlIG9uZSBwdWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSB0byBvdXRwdXQgYSB3YXZlZm9ybSB3aXRoIGEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW0gPHNwYW4gY2xhc3M9ImdyYW1lIj5kZWxheTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ib3JwaGFuczogMjsgd2lkb3dzOiAyOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPl9IQUxfVElNX0VOQUJMRV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5PQ3hGQVNUKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIF9fSEFMX1RJTV9ESVNBQkxFX09DeEZBU1QoKS48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJvcnBoYW5zOiAyOyB3aWRvd3M6IDI7IGZsb2F0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVuY29kZXIgaW50ZXJmYWNlIG1vZGUgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2VlcCZuYnNwOzxzcGFuIHN0eWxlPSJvcnBoYW5zOiAyOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZG93czogMjsgd29yZC1zcGFjaW5nOiAwcHg7Ij5USU1fQ0NFUl9DQ3hOUAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpdHMgPHNwYW4gY2xhc3M9ImdyYW1lIj5sb3c8L3NwYW4+PC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkJm5ic3A7VElNX0VOQ09ERVJJTlBVVFBPTEFSSVRZX1JJU0lORwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0VOQ09ERVJJTlBVVFBPTEFSSVRZX0ZBTExJTkcmbmJzcDtkZWZpbml0aW9ucwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXRlcm1pbmUgZW5jb2RlciBpbnB1dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2xhcml0eS48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkJm5ic3A7SVNfVElNX0VOQ09ERVJJTlBVVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+UE9MQVJJVFkoPC9zcGFuPikmbmJzcDttYWNybwotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGNoZWNrJm5ic3A7dGhlIGVuY29kZXIgaW5wdXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9sYXJpdHkuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfVElNX0VuY29kZXJfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkluaXQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVwbGFjZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTX1RJTV9JQ188c3BhbiBjbGFzcz0iZ3JhbWUiPlBPTEFSSVRZKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8gYnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU19USU1fRU5DT0RFUklOUFVUX1BPTEFSSVRZKCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyby48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNvcnJlY3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyb25nIGluc3RhbmNlIHBhcmFtZXRlciBjaGVjayBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2RlciA8c3BhbiBjbGFzcz0iZ3JhbWUiPm1vZGU8L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlcGxhY2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNfVElNX0NDMl9JTlNUQU5DRSBieQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU19USU1fRU5DT0RFUl9JTlRFUkZBQ0VfSU5TVEFOQ0UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZW5jb2RlciA8c3BhbiBjbGFzcz0iZ3JhbWUiPmludGVyZmFjZQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjwvc3Bhbj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9USU1fRW5jb2Rlcl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5TdGFydCg8L3NwYW4+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9USU1fRW5jb2Rlcl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5TdG9wKDwvc3Bhbj4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1RJTV9FbmNvZGVyX1N0YXJ0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPklUKDwvc3Bhbj4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1RJTV9FbmNvZGVyX1N0b3BfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+SVQoPC9zcGFuPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlcGxhY2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNfVElNX0RNQV9DQ19JTlNUQU5DRSBieQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU19USU1fRU5DT0RFUl9JTlRFUkZBQ0VfSU5TVEFOQ0UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZW5jb2RlciBpbnRlcmZhY2UgaW4gRE1BIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5tb2RlIDo8L3NwYW4+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNX0VuY29kZXJfU3RhcnRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+RE1BKDwvc3Bhbj4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1RJTV9FbmNvZGVyX1N0b3BfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+RE1BKDwvc3Bhbj4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfVElNRXhfPHNwYW4gY2xhc3M9ImdyYW1lIj5NYXN0ZXJDb25maWdTeW5jaHJvbml6YXRpb24oPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byBhdm9pZCBmdW5jdGlvbmFsIGVycm9ycwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kJm5ic3A7YXNzZXJ0IGZhaWxzIHdoZW4gdXNpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvbWUgVElNIGluc3RhbmNlcyBhcyBpbnB1dCB0cmlnZ2VyLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZXBsYWNlJm5ic3A7SVNfVElNX1NZTkNIUk9fPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPklOU1RBTkNFKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIGJ5IElTX1RJTV9NQVNURVJfSU5TVEFOQ0UoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyby4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQmbmJzcDtJU19USU1fU0xBVkVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPklOU1RBTkNFKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIHRvJm5ic3A7Y2hlY2sgb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NNQ1JfTVNNIGJpdC48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlByb3ZpZGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBBUEkmbmJzcDt0byBzZXQgYW5kIGNsZWFyIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+VUlGUkVNQVA8L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgZGVmaW5pdGlvbiBmb3IgVElNIFVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcnJ1cHQgRmxhZyBSZW1hcDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VElNX1VJRlJFTUFQX0RJU0FCTEU8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5USU1fVUlGUkVNQVBfRU5BQkxFPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IG1hY3JvIGluIEhBTCBkcml2ZXIgdG8gZW5hYmxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkZXNhYmxlIDxzcGFuIGNsYXNzPSJncmFtZSI+dGhlJm5ic3A7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXBkYXRlPC9zcGFuPiBJbnRlcnJ1cHQgRmxhZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW1hcDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7X19IQUxfVElNX1VJRlJFTUFQXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkVOQUJMRSg8L3NwYW4+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1RJTV9VSUZSRU1BUF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5ESVNBQkxFKDwvc3Bhbj4pL19fSEFMX1RJTV9HRVRfVUlGQ1BZCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm88bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgbWVjYW5pc20gdG8gY2hlY2sgd2hldGhlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUmbmJzcDt1cGRhdGUgaW50ZXJydXB0IGZsYWcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFVJRikgY29weSBpcyBzZXQgb3IgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPm5vdDwvc3Bhbj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBfX0hBTF9USU1fR0VUXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPlVJRkNQWSg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIGluIHRoZSBIQUwgZHJpdmVyPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTExfVElNXzxzcGFuIGNsYXNzPSJncmFtZSI+SXNBY3RpdmVVSUZDUFkoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgaW4gdGhlIExMIGRyaXZlcjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBtYWNybyB0byBjaGVjayBvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUmbmJzcDtVcGRhdGUgSW50ZXJydXB0IEZsYWcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVtYXAgbW9kZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVNfVElNX1VJRlJFTUFQXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPk1PREUoPC9zcGFuPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtb3ZlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c3NlbGVzcyBkZWZpbmUgaW4gdGhlIExMIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+ZHJpdmVyPC9zcGFuPiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5USU14X0FGMV9CS0lORQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIFRJTXhfQUYxX0JLREZCS0UgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPi8gJm5ic3A7VElNeDwvc3Bhbj5fQUYyX0JLMklORQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvICZuYnNwO1RJTXhfQUYyX0JLMkRGQktFIC8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7VElNeF9BRjJfQksySU5QPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiIHN0eWxlPSJvcnBoYW5zOiAyOyB3aWRvd3M6IDI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwmbmJzcDtTTUFSVENBUkQ8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTUFSVENBUkRfPHNwYW4gY2xhc3M9ImdyYW1lIj5TZXRDb25maWcoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSS48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNwbGl0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9SQ0NfR2V0UENMSzE8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+RnJlcSg8L3NwYW4+KSBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1JDQ19HZXRQQ0xLMkZyZXEoKSBtYWNyb3MgZnJvbQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgQlJSIGNhbGN1bGF0aW9uLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwmbmJzcDtJUkRBJm5ic3A7PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9iPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUkRBXzxzcGFuIGNsYXNzPSJncmFtZSI+U2V0Q29uZmlnKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNwbGl0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9SQ0NfR2V0UENMSzE8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+RnJlcSg8L3NwYW4+KSBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1JDQ19HZXRQQ0xLMkZyZXEoKSBtYWNyb3MgZnJvbQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgSVJEQV9ESVZfU0FNUExJTkcxNigpIG1hY3JvLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29tZSBBUEkgPHNwYW4gY2xhc3M9ImdyYW1lIj5kZXNjaXB0aW9uPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9JUkRBXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5UcmFuc21pdCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvJm5ic3A7SEFMX0lSREFfVHJhbnNtaXRfSVQoKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSVJEQV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+UmVjZWl2ZSg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvJm5ic3A7SEFMX0lSREFfUmVjZWl2ZV9JVCgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9JUkRBX1RyYW5zbWl0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5ETUEoPC9zcGFuPikgLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSVJEQV9SZWNlaXZlX0RNQSgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIEhBTF9SQ0NfPHNwYW4gY2xhc3M9ImdyYW1lIj5DbG9ja0NvbmZpZyg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIEhBTF9SQ0NfRGVJbml0KCkgQVBJIHRvIGRvbid0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyd3JpdGUgdGhlIGN1c3RvbSB0aWNrIHByaW9yaXR5PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1JDQ188c3BhbiBjbGFzcz0iZ3JhbWUiPk9zY0NvbmZpZyg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGRvbid0IHJldHVybiBIQUxfRVJST1IgaWYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QgcmVwZWF0cyB0aGUgY3VycmVudCBQTEwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFML0xMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDt1cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCB0byB0aGUgUmVjZWl2ZXIgVGltZW91dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJydXB0IGluIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1VTQVJUX0lSUUhhbmRsZXI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb21lIEFQSSA8c3BhbiBjbGFzcz0iZ3JhbWUiPmRlc2NpcHRpb248L3NwYW4+Jm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDJwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVVNBUlRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPlRyYW5zbWl0KDwvc3Bhbj4pCi0vJm5ic3A7SEFMX1VTQVJUX1RyYW5zbWl0X0lUKCkmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDJwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVVNBUlRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPlJlY2VpdmUoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyZuYnNwO0hBTF9VU0FSVF9SZWNlaXZlX0lUKCkmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDJwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVVNBUlRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPlRyYW5zbWl0UmVjZWl2ZSg8L3NwYW4+KQotLyZuYnNwO0hBTF9VU0FSVF9UcmFuc21pdFJlY2VpdmVfSVQoKSZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogMnB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9VU0FSVF9UcmFuc21pdF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+RE1BKDwvc3Bhbj4pIC8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1VTQVJUX1JlY2VpdmVfRE1BKCkgLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfVVNBUlRfVHJhbnNtaXRSZWNlaXZlX0RNQSgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF88c3BhbiBjbGFzcz0iZ3JhbWUiPlNldENvbmZpZyg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U3BsaXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9SQ0NfR2V0UENMSzE8c3BhbiBjbGFzcz0iZ3JhbWUiPkZyZXEoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBIQUxfUkNDX0dldFBDTEsyRnJlcSgpIG1hY3JvcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSB0aGUgVVNBUlRfRElWX1NBTVBMSU5HOCgpIG1hY3JvPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlN1cHBvcnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3AgTW9kZSBmdW5jdGlvbmFsaXRpZXMgaW4gdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVCA8c3BhbiBjbGFzcz0iZ3JhbWUiPmRyaXZlcjwvc3Bhbj4mbmJzcDsmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDtkZWZpbml0aW9uPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0lTUl9SRUFDSyBVU0FSVCwmbmJzcDsgcmVjZWl2ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlIGFja25vd2xlZGdlIGZsYWcgaW4gdGhlIEhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJpdmVyPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgZmxhZyBkZWZpbml0aW9uIGluIHRoZSBMTCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPmRyaXZlcjwvc3Bhbj4mbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogMnB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMX1VTQVJUX0lDUl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+V1VDRiZuYnNwOyBXYWtldXA8L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gU3RvcCBtb2RlIGZsYWcmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDJwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MTF9VU0FSVF9JU1JfV1VGCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdha2V1cCBmcm9tIFN0b3AgbW9kZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+ZmxhZzwvc3Bhbj4mbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDJwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MTF9VU0FSVF9JU1JfUkVBQ0sKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVjZWl2ZSBlbmFibGUgYWNrbm93bGVkZ2UgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPmZsYWc8L3NwYW4+Jm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiAycHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TExfVVNBUlRfQ1IzX1dVRklFCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdha2V1cCBmcm9tIFN0b3AgbW9kZSBpbnRlcnJ1cHQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPmVuYWJsZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBkZWZpbml0aW9uIG9mIHRoZSBkaWZmZXJlbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50IHdoaWNoIGFjdGl2YXRlcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlJm5ic3A7d2FrZXVwIGZyb20gU3RvcCBtb2RlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+ZmxhZzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MTF8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfV0FLRVVQX09OX0FERFJFU1M8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDJwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MTF9VU0FSVF9XQUtFVVBfT05fU1RBUlRCSVQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDJwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MTF9VU0FSVF9XQUtFVVBfT05fUlhORTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiAycHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMnB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgQVBJIGluIExMIGRyaXZlciB0byBzdXBwb3J0IHN0b3AKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+bW9kZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogMnB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMX1VTQVJUXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5FbmFibGVJblN0b3BNb2RlKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGVuYWJsZSB0aGUgVVNBUlQgaW4gc3RvcCBtb2RlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiAycHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TExfVVNBUlRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkRpc2FibGVJblN0b3BNb2RlKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGRpc2FibGUgdGhlIFVTQVJUIGluIHN0b3AgbW9kZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogMnB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMX1VTQVJUXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5Jc0VuYWJsZWRJblN0b3BNb2RlKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGNoZWNrIGlmIHRoZSBVU0FSVCBpcyBlbmFibGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIG5vdCBpbiB0aGUgc3RvcCBtb2RlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiAycHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TExfVVNBUlRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkVuYWJsZUNsb2NrSW5TdG9wTW9kZSg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBlbmFibGUgdGhlIFVTQVJUIGNsb2NrIGluIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9wIG1vZGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDJwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MTF9VU0FSVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+RGlzYWJsZUNsb2NrSW5TdG9wTW9kZSg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkaXNhYmxlIHRoZSBVU0FSVCBjbG9jayBpbiB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcCBtb2RlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiAycHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TExfVVNBUlRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPklzQ2xvY2tFbmFibGVkSW5TdG9wTW9kZSg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBjaGVjayB3aGV0aGVyIFVTQVJUIGNsb2NrIGFyZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVkIG9yIG5vdCBpbiB0aGUgc3RvcCBtb2RlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDJwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAycHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBBUEkgaW4gTEwgZHJpdmVyIHRvIG1hbmFnZSBldmVudAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsaXN0ZWQgdG8gV2FrZSBVUCBJbnRlcnJ1cHQgRmxhZzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiAycHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TExfVVNBUlRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPlNldFdLVVBUeXBlKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHNlbGVjdCB0aGUgZXZlbnQgdHlwZSBmb3IgV2FrZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVUCBJbnRlcnJ1cHQgRmxhZzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogMnB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMX1VTQVJUXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5HZXRXS1VQVHlwZSg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBnZXQmbmJzcDsgdGhlIGV2ZW50IHR5cGUgZm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdha2UgVVAgSW50ZXJydXB0IEZsYWc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDJwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MTF9VU0FSVF9Jc0FjdGl2ZUZsYWdfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPldLVVAoPC9zcGFuPikgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hlY2sgaWYgdGhlIFVTQVJUIFdha2UgVXAgZnJvbQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9wIG1vZGUgRmxhZyBpcyBzZXQgb3Igbm90PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiAycHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TExfVVNBUlRfSXNBY3RpdmVGbGFnXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5SRUFDSyg8L3NwYW4+KSB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGVjayBpZiB0aGUgVVNBUlQgUmVjZWl2ZSBFbmFibGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWNrbm93bGVkZ2UgRmxhZyBpcyBzZXQgb3Igbm90PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiAycHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TExfVVNBUlRfQ2xlYXJGbGFnXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5XS1VQKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsZWFyIFdha2UgVXAgZnJvbSBzdG9wIG1vZGUgRmxhZzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiAycHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMnB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgQVBJIGluIExMIGRyaXZlciB0byBtYW5hZ2Ugd2FrZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXAgZnJvbSBzdG9wIDxzcGFuIGNsYXNzPSJncmFtZSI+aW50ZXJydXB0aW9uPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiAycHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TExfVVNBUlRfRW5hYmxlSVRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPldLVVAoPC9zcGFuPikgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5hYmxlIFdha2UgVXAgZnJvbSBTdG9wIE1vZGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJydXB0PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiAycHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TExfVVNBUlRfRGlzYWJsZUlUXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5XS1VQKDwvc3Bhbj4pIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpc2FibGUgV2FrZSBVcCBmcm9tIFN0b3AgTW9kZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcnJ1cHQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDJwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MTF9VU0FSVF9Jc0VuYWJsZWRJVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+V0tVUCg8L3NwYW4+KSB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGVjayBpZiB0aGUgVVNBUlQgV2FrZSBVcCBmcm9tCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3AgTW9kZSBJbnRlcnJ1cHQgaXMgZW5hYmxlZCBvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3Q8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFML0xMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0IgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGluZyBVU0IgaG9zdCBiYWJibGUgZXJyb3IgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5pbnRlcnJ1cHQ8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwO0ZpeAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5hYmxpbmcgVUxQSSBpbnRlcmZhY2UgZm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGF0Zm9ybXMgdGhhdCBpbnRlZ3JhdGVzIFVTQiBIUyBQSFk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7Rml4Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIb3N0IGRhdGEgdG9nZ2xpbmcgZm9yIElOIElzbwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmZXJzPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7RW5zdXJlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkaXNhYmxlIFVTQiBFUCBkdXJpbmcgZW5kcG9pbnQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5kZWFjdGl2YXRpb248L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlOyI+VjEuMi43LyAwOC1GZWJydWFyeS0yMDE5PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvaDM+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDBpbiA0LjVwdCAwLjI1aW47Ij48Yj48dT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7Ij5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdlbmVyYWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVzIHRvIGZpeCBrbm93biBkZWZlY3RzIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuaGFuY2VtZW50cyA8c3BhbiBjbGFzcz0iZ3JhbWUiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZW5lcmFsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlcyB0byBmaXggQ29kZVNvbmFyIGNvbXBpbGF0aW9uIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPndhcm5pbmdzPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZW5lcmFsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlcyB0byBmaXggU1c0U1RNMzIgY29tcGlsYXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMgdW5kZXIgPHNwYW4gY2xhc3M9ImdyYW1lIj5MaW51eDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXMgdG8gZml4IHRoZSB1c2VyIG1hbnVhbCAuY2htIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPmZpbGVzPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0IG9mIEhBTCBjYWxsYmFjayByZWdpc3RyYXRpb24gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+ZmVhdHVyZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3PHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxiPkhBTCBFWFRJPC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj4gPC9zcGFuPmRyaXZlcjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgY2hhbmdlcyBkb25lIG9uIHRoZSBIQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyaXZlcnMgcmVxdWlyZSBhbiB1cGRhdGUgb24gdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbiBjb2RlIGJhc2VkIG9uIG9sZGVyIEhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj52ZXJzaW9uczwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZXdvcmsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIEhBTCBDUllQIGRyaXZlcjxiPiAoY29tcGF0aWJpbGl0eQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaykgPC9iPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENSWVAgZHJpdmVyIGhhcyBiZWVuIHJlZGVzaWduZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBuZXcgQVBJJ3MsIHRvIGJ5cGFzcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdGF0aW9ucyBvbiBkYXRhCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVuY3J5cHRpb24vRGVjcnlwdGlvbiBtYW5hZ2VtZW50Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXNlbnQgd2l0aCBwcmV2aW91cyBIQUwgQ1JZUAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZXIgdmVyc2lvbi48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBIQUwgQ1JZUCBkcml2ZXIgaXMgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY29tbWVuZGVkIHZlcnNpb24uIEl0IGlzIGxvY2F0ZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXMgdXN1YWwgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRHJpdmVycy9TVE0zMkY3eHhfSEFMX0RyaXZlci9TcmMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERyaXZlcnMvU1RNMzJmN3h4X0hBTF9Ecml2ZXIvSW5jCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGRlcnMuIEl0IGNhbiBiZSBlbmFibGVkIHRocm91Z2gKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIEhBTF9DUllQX01PRFVMRV9FTkFCTEVEIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0bTMyZjd4eF9oYWxfY29uZi5oPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWdhY3kgSEFMIENSWVAgZHJpdmVyIGlzIG5vCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvbmdlciBzdXBwb3J0ZWQuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTC9MTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2VuZXJpYyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQgb2YgPGI+SEFMIGNhbGxiYWNrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbjwvYj4gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5mZWF0dXJlPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZWF0dXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQgaXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxlIGZvciB0aGUgZm9sbG93aW5nIEhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZXJzOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFEQywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENBTiwgQ0VDLCBDUllQLCBEQUMsIERDTUksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERlNETSwgRE1BMkQsIERTSSwgRVRILCBIQVNILAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSENELCBJMkMsIFNNQlVTLCBVQVJULCBVU0FSVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSREEsIEpQRUcsIFNNQVJUQ0FSRCwgTFBUSU0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMVERDLCBNRElPUywgTU1DLCBOQU5ELCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPk5PUiw8L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0QsIFFTUEksIFJORywgUlRDLCBTQUksIFNELAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0RSQU0sIFNSQU0sIFNQRElGUlgsIFNQSSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyUywgVElNIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmFuZDxiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV1dERzwvYj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UaGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmVhdHVyZSBtYXkgYmUgZW5hYmxlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRpdmlkdWFsbHkgcGVyIEhBTCA8aT5QUFA8L2k+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyaXZlciBieSBzZXR0aW5nIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3JyZXNwb25kaW5nIGRlZmluaXRpb24gVVNFX0hBTF88aT5QUFA8L2k+X1JFR0lTVEVSX0NBTExCQUNLUwotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvJm5ic3A7MVUgaW4gc3RtMzJmN3h4X2hhbF9jb25mLmgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdCBjb25maWd1cmF0aW9uIGZpbGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRlbXBsYXRlIGZpbGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmN3h4X2hhbF9jb25mX3RlbXBsYXRlLmgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxlIDxzcGFuIGNsYXNzPSJncmFtZSI+ZnJvbSZuYnNwOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERyaXZlcnM8L3NwYW4+L1NUTTMyRjd4eF9IQUxfRHJpdmVyL0luYyk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T25jZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPmVuYWJsZWQgLDwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHVzZXIgYXBwbGljYXRpb24gbWF5IHJlc29ydCB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfUFBQX1JlZ2lzdGVyQ2FsbGJhY2soKSB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RlciBzcGVjaWZpYyBjYWxsYmFjawotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihzKSBhbmQgdW5yZWdpc3RlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdCh0aGVtKSB3aXRoIEhBTF88aT5QUFA8L2k+X1VuUmVnaXN0ZXJDYWxsYmFjaygpLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdlbmVyYWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXMgdG8gZml4IE1JU1JBIDIwMTIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGF0aW9uIDxzcGFuIGNsYXNzPSJncmFtZSI+ZXJyb3JzPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9JU19CSVRfU0VUKCkvSEFMX0lTX0JJVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+Q0xSKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvcyBpbXBsZW1lbnRhdGlvbiB1cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+InN0ZGlvLmgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGUgdXBkYXRlZCB3aXRoICJzdGRkZWYuPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPmg8L3NwYW4+Ijwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU88L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0dQSU9fPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5Ub2dnbGVQaW4oPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSBpbXBsZW1lbnRhdGlvbiB1cGRhdGU6IHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbXByb3ZlIHJvYnVzdG5lc3M8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0dQSU9fPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5EZUluaXQoPC9zcGFuPikgQVBJCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUgdG8gZW5zdXJlIGNsZWFyIGFsbCBHUElPIEVYVEkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlbmRpbmcgaW50ZXJydXB0cy48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1JZUDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENSWVBfSW5pdFR5cGVEZWYgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5pcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm8gbW9yZSBzdXBwb3J0ZWQsIGNoYW5nZWQgYnkgPGI+Q1JZUF9Db25maWdUeXBlZGVmPC9iPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gYWxsb3cgY2hhbmdpbmcgcGFyYW1ldGVycyA8YnI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2luZyBIQUxfQ1JZUF88c3BhbiBjbGFzcz0iZ3JhbWUiPnNldENvbmZpZyg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHdpdGhvdXQgcmVpbml0aWFsaXplIHRoZSBDUllQIElQCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2luZyB0aGUgSEFMX0NSWVBfSW5pdCgpIEFQSTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5OZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMgYWRkZWQgaW4gdGhlIDxiPkNSWVBfQ29uZmlnVHlwZURlZjwvYj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZTogPGI+QjA8L2I+IGFuZCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxiPkRhdGFXaWR0aFVuaXQ8L2I+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JbnB1dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSBzaXplIHBhcmFtZXRlciBpcyBhZGRlZCBpbiB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPkNSWVBfSGFuZGxlVHlwZURlZjwvYj4gc3RydWN0dXJlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEFQSXMgdG8gbWFuYWdlIHRoZSBDUllQCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7SEFMX0NSWVBfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPlNldENvbmZpZyg8L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ1JZUF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+R2V0Q29uZmlnKDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgQVBJcyB0byBtYW5hZ2UgdGhlIEtleQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVyaXZhdGlvbjo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DUllQRXhfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkVuYWJsZUF1dG9LZXlEZXJpdmF0aW9uKDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DUllQRXhfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkRpc2FibGVBdXRvS2V5RGVyaXZhdGlvbig8L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEFQSXMgdG8gZW5jcnlwdCBhbmQgZGVjcnlwdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DUllQXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5FbmN5cHQoPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0NSWVBfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkRlY3lwdCg8L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ1JZUF9FbmN5cHRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPklUKDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DUllQX0RlY3lwdF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+SVQoPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0NSWVBfRW5jeXB0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5ETUEoPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0NSWVBfRGVjeXB0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5ETUEoPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBBUElzIHRvIGdlbmVyYXRlIFRBRzo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ1JZUEV4X0FFUzxiPkdDTTwvYj5fPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkdlbmVyYXRlQXV0aFRBRyg8L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ1JZUEV4X0FFUzxiPkNDTTwvYj5fPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkdlbmVyYXRlQXV0aFRBRyg8L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JMkMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSBjaGFuZ2VzIGZvciBNSVNSQS1DIDIwMTIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBsaWFuY3k6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKLUhBTF9JMkNfTWFzdGVyX1NlcXVlbnRpYWxfVHJhbnNtaXRfPHNwYW4gY2xhc3M9ImdyYW1lIj5JVCg8L3NwYW4+KSB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJDX01hc3Rlcl9TZXFfVHJhbnNtaXRfSVQoKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyQ19NYXN0ZXJfU2VxdWVudGllbF9SZWNlaXZlXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5JVCg8L3NwYW4+KSB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJDX01hc3Rlcl9TZXFfUmVjZWl2ZV9JVCgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJDX1NsYXZlX1NlcXVlbnRpZWxfVHJhbnNtaXRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPklUKDwvc3Bhbj4pIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMkNfU2xhdmVfU2VxX1RyYW5zbWl0X0lUKCkgPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJDX1NsYXZlX1NlcXVlbnRpZWxfUmVjZWl2ZV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+RE1BKDwvc3Bhbj4pIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMkNfU2xhdmVfU2VxX1JlY2VpdmVfRE1BKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBvZiBJMkMgcmVwZWF0ZWQgc3RhcnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZlYXR1cmUgaW4gRE1BIE1vZGU6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMy41cHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluOyB0ZXh0LWluZGVudDogLTAuMjVpbjsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEzLjVwdDsgY29sb3I6IGJsYWNrOyI+MS48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogN3B0OyBjb2xvcjogYmxhY2s7Ij4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7Ij5XaXRoIHRoZSBmb2xsb3dpbmcgbmV3IEFQSSdzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEzLjVwdDsgY29sb3I6IGJsYWNrOyI+PG86cD48L286cD48L3NwYW4+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDJpbjsgdGV4dC1pbmRlbnQ6IC0wLjI1aW47Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMy41cHQ7IGNvbG9yOiBibGFjazsiPjEuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDdwdDsgY29sb3I6IGJsYWNrOyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyI+SEFMX0kyQ19NYXN0ZXJfU2VxX1RyYW5zbWl0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5ETUEoPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTMuNXB0OyBjb2xvcjogYmxhY2s7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMmluOyB0ZXh0LWluZGVudDogLTAuMjVpbjsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEzLjVwdDsgY29sb3I6IGJsYWNrOyI+Mi48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogN3B0OyBjb2xvcjogYmxhY2s7Ij4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7Ij5IQUxfSTJDX01hc3Rlcl9TZXFfUmVjZWl2ZV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+RE1BKDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEzLjVwdDsgY29sb3I6IGJsYWNrOyI+PG86cD48L286cD48L3NwYW4+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDJpbjsgdGV4dC1pbmRlbnQ6IC0wLjI1aW47Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMy41cHQ7IGNvbG9yOiBibGFjazsiPjMuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDdwdDsgY29sb3I6IGJsYWNrOyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyI+SEFMX0kyQ19TbGF2ZV9TZXFfVHJhbnNtaXRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkRNQSg8L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMy41cHQ7IGNvbG9yOiBibGFjazsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyaW47IHRleHQtaW5kZW50OiAtMC4yNWluOyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTMuNXB0OyBjb2xvcjogYmxhY2s7Ij40Ljwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiA3cHQ7IGNvbG9yOiBibGFjazsiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsiPkhBTF9JMkNfU2xhdmVfU2VxX1JlY2VpdmVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkRNQSg8L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMy41cHQ7IGNvbG9yOiBibGFjazsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxaW47IHRleHQtaW5kZW50OiAtMC4yNWluOyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTMuNXB0OyBjb2xvcjogYmxhY2s7Ij4zLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiA3cHQ7IGNvbG9yOiBibGFjazsiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsiPkFkZCBuZXcgSTJDIHRyYW5zZmVyIG9wdGlvbnMgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzeSBtYW5hZ2UgdGhlIHNlcXVlbnRpYWwgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPnRyYW5zZmVyczwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTMuNXB0OyBjb2xvcjogYmxhY2s7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW47IHRleHQtaW5kZW50OiAtMC4yNWluOyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTMuNXB0OyBjb2xvcjogYmxhY2s7Ij4xLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiA3cHQ7IGNvbG9yOiBibGFjazsiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsiPkkyQ19PVEhFUl9GUkFNRTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMy41cHQ7IGNvbG9yOiBibGFjazsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbjsgdGV4dC1pbmRlbnQ6IC0wLjI1aW47Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMy41cHQ7IGNvbG9yOiBibGFjazsiPjIuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDdwdDsgY29sb3I6IGJsYWNrOyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyI+STJDX09USEVSX0FORF9MQVNUX0ZSQU1FPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEzLjVwdDsgY29sb3I6IGJsYWNrOyI+PG86cD48L286cD48L3NwYW4+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PHNwYW4gY2xhc3M9ImdyYW1lIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TEwmbmJzcDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDPC9zcGFuPjwvYj48L3NwYW4+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTExfUkNDXzxzcGFuIGNsYXNzPSJncmFtZSI+R2V0U0FJQ2xvY2tGcmVxKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG8gcmV0dXJuIHRoZSByaWdodCBmcmVxdWVuY3kKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY29yZGluZyB0byB0aGUgU0FJIGNsb2NrIHNvdXJjZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSTkcgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBtYW5hZ2UgUk5HIGVycm9yIGNvZGU6IDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvckNvZGUgcGFyYW1ldGVyIGluIEhBTCBSTkcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFuZGxlciBzdHJ1Y3R1cmU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9STkdfPHNwYW4gY2xhc3M9ImdyYW1lIj5HZXRFcnJvcig8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2svVW5sb2NrIG1lY2FuaXNtIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+dXBkYXRlPC9zcGFuPiA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBREMgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWUkVGSU5UL1RFTVBTRU5TT1IgY2FsaWJyYXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3MgcmVnaXN0ZXJzIGZvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RNMzJGNzR4Lzc1eC9GNzYvRjc3IGRldmljZXM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Ob3RlPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3IgU1RNMzJGNzIvRjczIHRoZSBpc3N1ZSB3aWxsIGJlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpeGVkIGluIG5leHQgcmVsZWFzZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9BRENfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5TdGFydCg8L3NwYW4+KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9BRENfU3RhcnRfSVQoKSBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9BRENfU3RhcnRfRE1BKCkgdXBkYXRlIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2ZW50aW9uIGZyb20gc3RhcnRpbmcgQURDMiBvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQURDMyBvbmNlIG11bHRpbW9kZSBpcyBlbmFibGVkPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+REZTRE0mbmJzcDsgPC9zcGFuPjwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdlbmVyYWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXMgdG8gYmUgY29tcGxpYW50IHdpdGggREZTRE0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpdHMgbmFtaW5nIHVzZWQgaW4gQ01TSVMgZmlsZXMuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+Q0FOJm5ic3A7IDwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc3NpYmxlIHZhbHVlcyBsaXN0IGZvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyQWN0aXZhdGlvbiBwYXJhbWV0ZXIgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENBTl9GaWx0ZXJUeXBlRGVmIHN0cnVjdHVyZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNBTl9GSUxURVJfRU5BQkxFCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2YgPHNwYW4gY2xhc3M9ImdyYW1lIj5FTkFCTEU8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNBTl9GSUxURVJfRElTQUJMRQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0ZWFkIG9mIDxzcGFuIGNsYXNzPSJncmFtZSI+RElTQUJMRTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPkNFQyZuYnNwOyA8L3NwYW4+PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUwgQ0VDIFN0YXRlIG1hbmFnZW1lbnQgbWV0aG9kOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfQ0VDX1N0YXRlVHlwZURlZiBzdHJ1Y3R1cmUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPnBhcmFtZXRlcnM8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgZGVmaW5lcyBmb3IgQ0VDIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5zdGF0ZXM8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BMjxzcGFuIGNsYXNzPSJncmFtZSI+RCZuYnNwOyA8L3NwYW4+PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtb3ZlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnVzZWQgRE1BMkRfQ29sb3JUeXBlRGVmIHN0cnVjdHVyZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gYmUgY29tcGxpYW50IHdpdGggTUlTUkFDIDIwMTIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJ1bGUgMi4zPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlIHRvIHVzZSBkZWRpY2F0ZWQgZGVmaW5lcyBmb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQTJEX0JBQ0tHUk9VTkRfTEFZRVIgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEyRF9GT1JFR1JPVU5EX0xBWUVSIGluc3RlYWQgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bWVyaWNhbCB2YWx1ZXM6IDAvMS48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTC9MTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTC8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExMIDxzcGFuIGNsYXNzPSJncmFtZSI+ZHJpdmVyczwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGltaXphdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyaXZlcjogcmVtb3ZlIHVudXNlZCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+dmFyaWFibGVzPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZXI6IGdldHRlciBBUElzIG9wdGltaXphdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpQRUcgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzIHR5cGUgaW4gSlBFR19Db25mVHlwZURlZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlIHRvIGJlIGFsaWduZWQgd2l0aCAzMi08c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPmJpdHM8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSSA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5PdmVyYWxsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXdvcmsgb2YgdGhlIGRyaXZlciBmb3IgYSBtb3JlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZmZpY2llbnQmbmJzcDtpbXBsZW1lbnRhdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBmb2xsb3dpbmcgbmV3IG1hY3Jvczo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TUElfQ0hFQ0tfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkZMQUcoPC9zcGFuPikgPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNQSV9DSEVDS19JVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+U09VUkNFKDwvc3Bhbj4pIDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1NQSUV4XzxzcGFuIGNsYXNzPSJncmFtZSI+Rmx1c2hSeEZpZm8oPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byBmbHVzaCB0aGUgU1BJIEZJRk8gUlguPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1NQSV88c3BhbiBjbGFzcz0iZ3JhbWUiPkFib3J0KDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBmaXggYWJvcnQgaXNzdWUgaW4gU1BJIFRYIG9yIFJ4Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlIG9ubHkgPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfU1BJX1RyYW5zbWl0KCkvSEFMX1NQSV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPlJlY2VpdmUoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSdzIHRvIGZpeCBtZW1vcnkgb3ZlcmZsb3cgaXNzdWUuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyUyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5PdmVyYWxsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXdvcmsgb2YgdGhlIGRyaXZlciBmb3IgYSBtb3JlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZmZpY2llbnQmbmJzcDtpbXBsZW1lbnRhdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBmb2xsb3dpbmcgbmV3IG1hY3Jvczo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JMlNfQ0hFQ0tfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkZMQUcoPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+STJTX0NIRUNLX0lUXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5TT1VSQ0UoPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMlNfVHJhbnNtaXQoKS9IQUxfSTJTXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+UmVjZWl2ZSg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJJ3MgdG8gZml4IG1lbW9yeSBvdmVyZmxvdyBpc3N1ZS48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTC9MTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1vdmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBmb2xsb3dpbmcgVElNIHN0cnVjdHVyZXMgZnJvbQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmNHh4X2hhbF90aW1fZXguaCBpbnRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG0zMmY0eHhfaGFsX3RpbS5oPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VElNX01hc3RlckNvbmZpZ1R5cGVEZWY8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VElNX0JyZWFrRGVhZFRpbWVDb25maWdUeXBlRGVmPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgVElNIENhbGxiYWNrcyBBUEknczo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5QZXJpb2RFbGFwc2VkSGFsZkNwbHRDYWxsYmFjayg8L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNX0lDXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5DYXB0dXJlSGFsZkNwbHRDYWxsYmFjayg8L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNX1BXTV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+UHVsc2VGaW5pc2hlZEhhbGZDcGx0Q2FsbGJhY2soPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1RJTV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+VHJpZ2dlckhhbGZDcGx0Q2FsbGJhY2soPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5USU0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSBjaGFuZ2VzIGZvciBNSVNSQS1DIDIwMTIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBsaWFuY3k6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1RJTV9TbGF2ZUNvbmZpZ1N5bmNocm9uaXphdGlvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBIQUxfVElNX1NsYXZlQ29uZmlnU3luY2hybzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1RJTV9TbGF2ZUNvbmZpZ1N5bmNocm9uaXphdGlvbl9JVAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBIQUxfVElNX1NsYXZlQ29uZmlnU3luY2hyb19JVDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1RJTUV4X0NvbmZpZ0NvbW11dGF0aW9uRXZlbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gSEFMX1RJTUV4X0NvbmZpZ0NvbW11dEV2ZW50PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfVElNRXhfQ29uZmlnQ29tbXV0YXRpb25FdmVudF9JVAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBIQUxfVElNRXhfQ29uZmlnQ29tbXV0RXZlbnRfSVQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9USU1FeF9Db25maWdDb21tdXRhdGlvbkV2ZW50X0RNQQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBIQUxfVElNRXhfQ29uZmlnQ29tbXV0RXZlbnRfRE1BPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfVElNRXhfQ29tbXV0YXRpb25DYWxsYmFjayB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfVElNRXhfQ29tbXV0Q2FsbGJhY2s8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9USU1FeF9ETUFDb21tdXRhdGlvbkNwbHQgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNRXhfRE1BQ29tbXV0YXRpb25DcGx0PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUFSVCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5PdmVyYWxsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXdvcmsgb2YgdGhlIGRyaXZlciBmb3IgYSBtb3JlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZmZpY2llbnQmbmJzcDtpbXBsZW1lbnRhdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBmb2xsb3dpbmcgVUFSVCBBUEkncyBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmN3h4X2hhbF91YXJ0X2V4LmM6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7SEFMX1JTNDg1RXhfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkluaXQoPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX011bHRpUHJvY2Vzc29yRXhfQWRkcmVzc0xlbmd0aF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+U2V0KDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTC9MTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJld29yawotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCIGludGVycnVwdCBoYW5kbGVyIGFuZCBpbXByb3ZlIEhTCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgc3VwcG9ydCBpbiBEZXZpY2UgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5tb2RlPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GaXgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJDRCBoYW5kbGluZyBmb3IgT1RHIGluc3RhbmNlIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZpY2UgPHNwYW4gY2xhc3M9ImdyYW1lIj5tb2RlPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5jbGVhbnVwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2UgdG8gbG93IHNwZWVkIGluIGRldmljZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmFsbG93Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0aW5nIFRYIEZJRk8gaW4gY2FzZSBvZiB0cmFuc2ZlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoIGlzIGVxdWFsIHRvIGF2YWlsYWJsZSBzcGFjZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIFRYIDxzcGFuIGNsYXNzPSJncmFtZSI+RklGTzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb2dnbGUgT1VUIGludGVycnVwdCBjaGFubmVsIGluIGhvc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+bW9kZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJV0RHIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTEwgaW5saW5lIG1hY3JvcyB0byB1c2UgSVdER3gKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlciBpbnN0ZWFkIG9mIElXREcgaW5zdGFuY2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZWQgaW4gQ01TSVMgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5kZXZpY2U8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlOyI+VjEuMi42IC8gMjktSnVuZS0yMDE4PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvaDM+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDBpbiA0LjVwdCAwLjI1aW47IG9ycGhhbnM6IDI7IHRleHQtYWxpZ246Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDsgd2lkb3dzOiAyOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxiPjx1PjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjazsiPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEzLjVwdDsgY29sb3I6IGJsYWNrOyI+PG86cD48L286cD48L3NwYW4+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBzdXBwb3J0IFNUTTMyRjczMHh4IGFuZCBTVE0zMkY3NTB4eAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIDxzcGFuIGNsYXNzPSJncmFtZSI+bGluZXM8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQSZuYnNwOzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQV9DSEFOTkVMXzgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIERNQV9DSEFOTkVMXzE1IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+YXJlPC9zcGFuPiBhbHNvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmVkIGluIGNhc2Ugb2YmbmJzcDtTVE0zMkY3MzB4eAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNhbWUmbmJzcDtmZWF0dXJlcyBhcyBTVE0zMkY3MzN4eAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZSk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSCZuYnNwOzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBvZiZuYnNwO1NUTTMyRjczMHh4IHdpdGggNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxhc2ggc2VjdG9ycyBvZiAxNktCIGVhY2guPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBvZiZuYnNwO1NUTTMyRjc1MHh4IHdpdGggMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxhc2ggc2VjdG9ycyBvZiAzMktCIGVhY2guPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU8mbmJzcDs8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQgb2YmbmJzcDtTVE0zMkY3MzB4eCB2YWx1ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPmxpbmUgOjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbWUmbmJzcDtmZWF0dXJlcyBhcyBTVE0zMkY3MzN4eAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBvZiZuYnNwO1NUTTMyRjc1MHh4IHZhbHVlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+bGluZSA6PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtZSZuYnNwO2ZlYXR1cmVzIGFzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVE0zMkY3NTZ4eCZuYnNwO2xpbmU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDJm5ic3A7PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0IG9mJm5ic3A7U1RNMzJGNzMweHggdmFsdWUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5saW5lIDo8L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1lJm5ic3A7ZmVhdHVyZXMgYXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUTTMyRjczM3h4Jm5ic3A7bGluZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQgb2YmbmJzcDtTVE0zMkY3NTB4eCB2YWx1ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPmxpbmUgOjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbWUmbmJzcDtmZWF0dXJlcyBhcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RNMzJGNzU2eHgmbmJzcDtsaW5lPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlOyI+VjEuMi41IC8gMDItRmVicnVhcnktMjAxODwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2gzPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwaW4gNC41cHQgMC4yNWluOyI+PGI+PHU+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrOyI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZW5lcmFsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlcyB0byBmaXgga25vd24gZGVmZWN0cyBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmhhbmNlbWVudHMgPHNwYW4gY2xhc3M9ImdyYW1lIj5pbXBsZW1lbnRhdGlvbjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTCZuYnNwOzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IG1hY3JvIHRvIGdldCB2YXJpYWJsZSBhbGlnbmVkIG9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMi1ieXRlcywgcmVxdWlyZWQgZm9yIGNhY2hlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWludGVuYW5jZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPnB1cnBvc2U8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj5VTlVTRUQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIGltcGxlbWVudGF0aW9uIHRvIGF2b2lkIEdDQwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmcgaXMgZGV0ZWN0ZWQgd2hlbiB0aGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPlVOVVNFRCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyBpcyBjYWxsZWQgZnJvbSBDKysgZmlsZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSSA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9TQUlfPHNwYW4gY2xhc3M9ImdyYW1lIj5ETUFTdG9wKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgSEFMX1NBSV9BYm9ydCgpIHByb2Nlc3MgdG8gZml4Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgbG9jay91bmxvY2sgYXVkaW8gaXNzdWUgPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBXUiA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9QV1JfPHNwYW4gY2xhc3M9ImdyYW1lIj5FbnRlclNMRUVQTW9kZSg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIEhBTF9QV1JfRW50ZXJTVE9QTW9kZSgpIEFQSXMgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuc3VyZSB0aGF0IGFsbCBpbnN0cnVjdGlvbnMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaGVkIGJlZm9yZSBlbnRlcmluZyBTVE9QIG1vZGUuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSENEIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IGNhbGxiYWNrIHRvIGJlIHVzZWQgdG8gaGFuZGxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2IgZGV2aWNlIGNvbm5lY3Rpb24vPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5kaXNjb25uZWN0aW9uPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9IQ0RfUG9ydEVuYWJsZWRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkNhbGxiYWNrKDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9IQ0RfUG9ydERpc2FibGVkXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5DYWxsYmFjayg8L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gcHJldmVudCByZWFjdGl2YXRlIGhvc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVycnJ1cHQgPHNwYW4gY2xhc3M9ImdyYW1lIj5jaGFubmVsPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZTsiPlYxLjIuNCAvIDIyLURlY2VtYmVyLTIwMTc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9oMz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMGluIDQuNXB0IDAuMjVpbjsiPjxiPjx1PjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjazsiPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXMgdG8gZml4IGtub3duIGRlZmVjdHMgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5oYW5jZW1lbnRzIDxzcGFuIGNsYXNzPSJncmFtZSI+aW1wbGVtZW50YXRpb248L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UaGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyBjaGFuZ2VzIGRvbmUgb24gdGhlIEhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJpdmVycyByZXF1aXJlIGFuIHVwZGF0ZSBvbiB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uIGNvZGUgYmFzZWQgb24gb2xkZXIgSEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPnZlcnNpb25zPC9zcGFuPjwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZXdvcmsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgSEFMIENBTiBkcml2ZXIgKGNvbXBhdGliaWxpdHkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWspJm5ic3A7PC9zcGFuPjwvYj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2I+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEhBTCBDQU4gZHJpdmVyIGhhcyBiZWVuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZGVzaWduZWQgd2l0aCBuZXcgQVBJcywgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnlwYXNzIGxpbWl0YXRpb25zIG9uIENBTiBUeC9SeAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUZPIG1hbmFnZW1lbnQgcHJlc2VudCB3aXRoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzIEhBTCBDQU4gZHJpdmVyIHZlcnNpb24uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgSEFMIENBTiBkcml2ZXIgaXMgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY29tbWVuZGVkIHZlcnNpb24uIEl0IGlzIGxvY2F0ZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXMgdXN1YWwgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRHJpdmVycy9TVE0zMkY3eHhfSEFMX0RyaXZlci9TcmMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERyaXZlcnMvU1RNMzJmN3h4X0hBTF9Ecml2ZXIvSW5jCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGRlcnMuIEl0IGNhbiBiZSBlbmFibGVkIHRocm91Z2gKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIEhBTF9DQU5fTU9EVUxFX0VOQUJMRUQgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmN3h4X2hhbF9jb25mLmg8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZ2FjeSBIQUwgQ0FOIGRyaXZlciBpcyBhbHNvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXNlbnQgaW4gdGhlIHJlbGVhc2UgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRHJpdmVycy9TVE0zMkY3eHhfSEFMX0RyaXZlci9TcmMvTGVnYWN5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEcml2ZXJzL1NUTTMyRjd4eF9IQUxfRHJpdmVyL0luYy9MZWdhY3kKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sZGVycyBmb3Igc29mdHdhcmUgY29tcGF0aWJpbGl0eQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFzb25zLiBJdHMgdXNhZ2UgaXMgbm90Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY29tbWVuZGVkIGFzIGRlcHJlY2F0ZWQuJm5ic3A7SXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuIGhvd2V2ZXIgYmUgZW5hYmxlZCB0aHJvdWdoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfQ0FOX0xFR0FDWV9NT0RVTEVfRU5BQkxFRCBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG0zMmY3eHhfaGFsX2NvbmYuaDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwmbmJzcDs8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTCBkcml2ZXIgdG8gYWxsb3cgdXNlciB0byBjaGFuZ2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3RpY2sgcGVyaW9kIHRvIDE8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPm1zICw8L3NwYW4+IDEwIG1zIG9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDAgbXMgOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBmb2xsb3dpbmcgPHNwYW4gY2xhc3M9ImdyYW1lIj5BUEkncwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo8L3NwYW4+Jm5ic3A7Jm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkdldFRpY2tQcmlvKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBSZXR1cm5zIGEgdGljayBwcmlvcml0eS48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+U2V0VGlja0ZyZXEoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFNldHMgbmV3IHRpY2smbmJzcDtmcmVxdWVuY3kuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkdldFRpY2tGcmVxKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBSZXR1cm5zIHRpY2sgZnJlcXVlbmN5Ljwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9UaWNrRnJlcVR5cGVEZWYgZW51bWVyYXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBkaWZmZXJlbnQgVGljayA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+RnJlcXVlbmNpZXMgOjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAgSHogLCAxMDAgSHogYW5kIDFLSHogKGRlZmF1bHQpLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENBTiA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GaWVsZHMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIENBTl9Jbml0VHlwZURlZiBzdHJ1Y3R1cmUgYXJlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXdvcmtlZDo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNKVwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBTeW5jSnVtcFdpZHRoLCBCUzEgdG8gVGltZVNlZzEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJTMiB0byBUaW1lU2VnMiwgVFRDTSB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaW1lVHJpZ2dlcmVkTW9kZSwgQUJPTSB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRvQnVzT2ZmLCBBV1VNIHRvIEF1dG9XYWtlVXAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5BUlQgdG8gQXV0b1JldHJhbnNtaXNzaW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnZlcnNlZCksIFJGTE0gdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVjZWl2ZUZpZm9Mb2NrZWQgYW5kIFRYRlAgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNtaXRGaWZvUHJpb3JpdHk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ0FOXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+SW5pdCg8L3NwYW4+KSBpcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BsaXQgaW50byBib3RoIEhBTF9DQU5fSW5pdCgpIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0NBTl9TdGFydCgpIEFQSSdzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DQU5fPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5UcmFuc21pdCg8L3NwYW4+KSBpcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGFjZWQgYnkgSEFMX0NBTl9BZGRUeE1lc3NhZ2UoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gcGxhY2UgVHggUmVxdWVzdCwgdGhlbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0NBTl9HZXRUeE1haWxib3hlc0ZyZWVMZXZlbCgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgcG9sbGluZyB1bnRpbCBjb21wbGV0aW9uLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ0FOX1RyYW5zbWl0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+SVQoPC9zcGFuPikgaXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcGxhY2VkIGJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfQ0FOX0FjdGl2YXRlTm90aWZpY2F0aW9uKCkgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZSB0cmFuc21pdCBJVCwgdGhlbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0NBTl9BZGRUeE1lc3NhZ2UoKSBmb3IgcGxhY2UgVHgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0NBTl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPlJlY2VpdmUoPC9zcGFuPikgaXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcGxhY2VkIGJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfQ0FOX0dldFJ4Rmlmb0ZpbGxMZXZlbCgpIGZvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9sbGluZyB1bnRpbCByZWNlcHRpb24sIHRoZW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9DQU5fR2V0UnhNZXNzYWdlKCkgPGJyPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZ2V0IFJ4IG1lc3NhZ2UuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DQU5fUmVjZWl2ZV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPklUKDwvc3Bhbj4pIGlzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBsYWNlZCBieQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0NBTl9BY3RpdmF0ZU5vdGlmaWNhdGlvbigpJm5ic3A7dG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZSByZWNlaXZlIElULCB0aGVuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfQ0FOX0dldFJ4TWVzc2FnZSgpPGJyPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIHJlY2VpdmVjYWxsYmFjayB0byBnZXQgUngKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ0FOXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+U2xlcHAoPC9zcGFuPikgaXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmFtZWQgYXMgSEFMX0NBTl9SZXF1ZXN0U2xlZXAoKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ0FOXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+VHhDcGx0Q2FsbGJhY2soPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzIHNwbGl0IGludG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9DQU5fVHhNYWlsYm94MENvbXBsZXRlQ2FsbGJhY2soKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9DQU5fVHhNYWlsYm94MUNvbXBsZXRlQ2FsbGJhY2soKQotYW5kJm5ic3A7SEFMX0NBTl9UeE1haWxib3gyQ29tcGxldGVDYWxsYmFjaygpLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DQU5fUnhDcGx0Q2FsbGJhY2sKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzIHNwbGl0IGludG8gSEFMX0NBTl9SeEZpZm8wPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5Nc2dQZW5kaW5nQ2FsbGJhY2soPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0NBTl9SeEZpZm8xTXNnUGVuZGluZ0NhbGxiYWNrKCkuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1vcmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlICJIb3cgdG8gdXNlIHRoZSBuZXcgZHJpdmVyIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgZGV0YWlsZWQgaW4gdGhlIGRyaXZlciBoZWFkZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3Rpb24gaXRzZWxmLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQyZuYnNwOzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBMTCA8c3BhbiBjbGFzcz0iZ3JhbWUiPm1hY3JvPC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TExfUkNDX1BMTF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5TZXRNYWluU291cmNlKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3dpbmcgdG8gY29uZmlndXJlIFBMTCBjbG9jawotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgSEFMIDxzcGFuIGNsYXNzPSJncmFtZSI+bWFjcm9zPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1JDQ19HRVRfUlRDXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPlNPVVJDRSg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93aW5nIHRvIGdldCB0aGUgUlRDIGNsb2NrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUkNDX0dFVF9SVENfSFNFXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPlBSRVNDQUxFUig8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93aW5nIHRvIGdldCB0aGUgSFNFIGNsb2NrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGl2aWRlciBmb3IgUlRDIHBlcmlwaGVyYWw8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVuc3VyZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCBvZiBDSVIgYW5kIENTUiByZWdpc3RlcnMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlbiBpc3N1aW5nIEhBTF9SQ0NfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkRlSW5pdCg8L3NwYW4+KS9MTF9SQ0NfRGVJbml0Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9SQ0NfPHNwYW4gY2xhc3M9ImdyYW1lIj5HZXRTeXNDbG9ja0ZyZXEoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gYXZvaWQgcmlzayBvZiByb3VuZGluZyBlcnJvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGljaCBtYXkgbGVhZHMgdG8gYSB3cm9uZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5lZCB2YWx1ZS48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogN3B0OyI+Jm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfUkNDXzxzcGFuIGNsYXNzPSJncmFtZSI+RGVJbml0KDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwO2FuZCBMTF9SQ0NfRGVJbml0KCkgQVBJcyB0bzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkJlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJsZSB0byByZXR1cm4gSEFML0xMIHN0YXR1czwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrcyBmb3IgSFNJLCBQTEwgYW5kIFBMTEkyPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+UyAmbmJzcDtyZWFkeTwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgbW9kaWZ5aW5nIFJDQyBDRkdSCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJzPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNsZWFyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsIGludGVycnVwdCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5mbGFnczwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Jbml0aWFsaXplCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzdGljayBpbnRlcnJ1cHQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+cGVyaW9kPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhbiBvZiBjYWxsYmFja3MgaW4gSEFMX0RNQV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkRlSW5pdCg8L3NwYW4+KSZuYnNwO0FQSTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GaXgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyb25nIERNQV9GTEFHX0ZFSUZPXzQgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUFfRkxBR0RNQUVJRk9fNCBkZWZpbmVzIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+dmFsdWVzPC9zcGFuPiZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcmZhY2UgQVBJcyBoZWFkZXJzIHRvIHJlbW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZnVzaW5nIG1lc3NhZ2UgYWJvdXQgZGV2aWNlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+YWRkcmVzczwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfPHNwYW4gY2xhc3M9ImdyYW1lIj5XYWl0T25SWE5FRmxhZ1VudGlsVGltZW91dCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gcmVzb2x2ZSBhIHJhY2UgY29uZGl0aW9uIGJldHdlZW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUT1BGIGFuZCBSWE5FIEZsYWdzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSZuYnNwO0kyQ188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPlRyYW5zZmVyQ29uZmlnKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBmaXggd3JvbmcgYml0IG1hbmFnZW1lbnQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVCZuYnNwOzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0IG1hY3JvcyB0byBjaGVjayBVU0FSVAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmF1ZFJhdGUgcmVnaXN0ZXI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRvey4ufQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj5XaGlsZSg8L3NwYW4+MCkmbmJzcDtpbnN1cmVkCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluJm5ic3A7bXVsdGkgc3RhdGVtZW50IG1hY3JvcyA6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfRVRIX1dBS0VVUF9FWFRJX0VOQUJMRV9GQUxMSU5HUklTSU5HXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5UUklHR0VSKDwvc3Bhbj4pJm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX0VUSF9XQUtFVVBfRVhUSV9ESVNBQkxFX0ZBTExJTkdSSVNJTkdfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPlRSSUdHRVIoPC9zcGFuPikgPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0gmbmJzcDs8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRkxBU0hfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5VbmxvY2soPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSB0byByZXR1cm4gc3RhdGUgZXJyb3Igd2hlbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIEZMQVNIIGlzIGFscmVhZHkgdW5sb2NrZWQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1BJTyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pc3NpbmcgZGVmaW5lIG9mIEdQSU9fUElOXzIgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9LX1BJTl9BVkFJTEFCTEUgbGlzdDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0QgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RG97Li59Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPldoaWxlKDwvc3Bhbj4wKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7aW5zdXJlZCBpbiBtdWx0aSBzdGF0ZW1lbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3Jvczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVRJTFMgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+c3RtMzJmN3h4X2xsX3V0aWxzLjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+aCA6PC9zcGFuPiBVcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExMX0dldFBhY2thZ2VUeXBlIGNvbW1hbmQgdG8gcmV0dXJuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnN0ZWFkIG9mIHVpbnQxNl90PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTSA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zdG0zMmY3eHhfaGFsX3RpbV9leC48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPmMgOjwvc3Bhbj4gVXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfVElNRXhfQ29uZmlnQnJlYWtEZWFkVGltZSBBUEkgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF2b2lkIHRvIGJsb2NrIHRpbWVyIGJlaGF2aW9yIHdoZW4gPGJyPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtYWlucyBpbiB0aGUgc3RhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9USU1fU1RBVEVfQlVTWS48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7c3RtMzJmN3h4X2hhbF90aW0uPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5oIDo8L3NwYW4+Jm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1RJTV9TRVRfPHNwYW4gY2xhc3M9ImdyYW1lIj5QUkVTQ0FMRVIoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm88L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cG9zIGluIHNvbWUgZXhwb3J0ZWQgbWFjcm9zIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5kZXNjcmlwdGlvbjwvc3Bhbj4mbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TEwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU0RSQU1fPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5TZW5kQ29tbWFuZCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJOiBSZW1vdmUgdGhlJm5ic3A7dGltZW91dCBjaGVjazwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQU5EIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JvbmcgY2hlY2sgZm9yIE5BTkQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5zdGF0dXM8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlOyI+VjEuMi4zIC8gMjUtQXVndXN0LTIwMTc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9oMz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMGluIDQuNXB0IDAuMjVpbjsiPjxiPjx1PjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjazsiPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXMgdG8gZml4IGtub3duIGRlZmVjdHMgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5oYW5jZW1lbnRzIDxzcGFuIGNsYXNzPSJncmFtZSI+aW1wbGVtZW50YXRpb248L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERhdGUgYW5kIFZlcnNpb24gZnJvbSBoZWFkZXIgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+ZmlsZXM8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTCBkcml2ZXJzIHRvIHJlZmVyIHRvIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyZuYnNwO0NNU0lTIGJpdCBwb3NpdGlvbiBkZWZpbmVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGVhZCBvZiB1c2FnZSB0aGUgUE9TSVRJT05fPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+VkFMKDwvc3Bhbj4pIG1hY3JvPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENBTiA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pc3NpbmcgdW5sb2NrIGluIEhBTF9DQU5fUmVjZWl2ZV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPklUKDwvc3Bhbj4pIHByb2Nlc3M8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRENNSSA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERDTUkgZHJpdmVyIGNsZWFuLXVwOiByZW1vdmUgbm9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VkIGNhbGxiYWNrIEFQSXM6IEhBTF9EQ01JXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+VnN5bmNDYWxsYmFjayg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIEhBTF9EQ01JX0hzeW5jQ2FsbGJhY2soKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMJm5ic3A7REZTRE0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GaXgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc3QgaXNzdWUgb24gQVBJcyB0aGF0IHJldHVybgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnbmVkIGludGVnZXIgdmFsdWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdCkmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BIGRyaXZlciBjbGVhbi11cDogcmVtb3ZlIG5vbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlZCBjYWxsYmFjayBBUElzOiBIQUxfRE1BXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+Q2xlYW5DYWxsYmFja3MoPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0ggPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RkxBU0hfUHJvZ3JhbV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkRvdWJsZVdvcmQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSTogUmVwbGFjZSA2NC1iaXQgYWNjZXNzZXMgd2l0aCAyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUgd29yZHMgb3BlcmF0aW9uczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZW5lcmljIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0XzxzcGFuIGNsYXNzPSJncmFtZSI+cGFyYW0oPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIGRlZmluaXRpb24gdG8gYmUgaW4gbGluZSB3aXRoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG0zMl9sbF91dGlscy5jIGRyaXZlcjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUElPIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdQSU9LX1BJTl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkFWQUlMQUJMRSg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0IG1hY3JvIHVwZGF0ZSB0byBhbGxvdwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zc2liaWxpdHkgdG8gY29uZmlndXJlIEdQSU9fUElOXzI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTFREQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9MVERDXzxzcGFuIGNsYXNzPSJncmFtZSI+TGluZUV2ZW5DYWxsYmFjayg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvJm5ic3A7SEFMX0xURENfTGluZUV2ZW48Yj50PC9iPkNhbGxiYWNrKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENEIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1BDRF88c3BhbiBjbGFzcz0iZ3JhbWUiPklSUUhhbmRsZXIoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byBmaXgmbmJzcDt0cmFuc2ZlciBpc3N1ZXMgd2hlbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCIEhTIGlzIHVzZWQgd2l0aCBETUEmbmJzcDtlbmFibGVkPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9SQ0NfPHNwYW4gY2xhc3M9ImdyYW1lIj5HZXRPc2NDb25maWcoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0bzo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnNldAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQTExSIGluIHRoZSBSQ0NfT3NjSW5pdFN0cnVjdDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5jaGVjawotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiBudWxsIDxzcGFuIGNsYXNzPSJncmFtZSI+cG9pbnRlcjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9SQ0NfPHNwYW4gY2xhc3M9ImdyYW1lIj5DbG9ja0NvbmZpZyg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Y2hlY2sKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb24gbnVsbCA8c3BhbiBjbGFzcz0iZ3JhbWUiPnBvaW50ZXI8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPm9wdGltaXplJm5ic3A7Y29kZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplIGJ5IHVwZGF0aW5nIHRoZSBoYW5kbGluZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Qgb2YgdGhlIFNXUyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+Yml0czwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIDxzcGFuIGNsYXNzPSJncmFtZSI+dXNlJm5ic3A7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXzwvc3Bhbj5fSEFMX0ZMQVNIX0dFVF9MQVRFTkNZKCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhc2ggbWFjcm8gaW5zdGVhZCBvZiB1c2luZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3QgcmVnaXN0ZXIgYWNjZXNzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvJm5ic3A7TEFURU5DWSBiaXRzIGluIEZMQVNIIEFDUgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlcjwvc3Bhbj48c3BhbiBzdHlsZT0iIj4uIDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0FJIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1NBSV88c3BhbiBjbGFzcz0iZ3JhbWUiPkRNQVN0b3AoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byBmbHVzaCBmaWZvIGFmdGVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxpbmcmbmJzcDtTQUk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1RJTUV4XzxzcGFuIGNsYXNzPSJncmFtZSI+Q29uZmlnQnJlYWtJbnB1dCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvJm5ic3A7c3VwcG9ydCBCS0lOUC9CS0lOMlAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvbGFyaXR5IGJpdHMuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRVRfPHNwYW4gY2xhc3M9ImdyYW1lIj5CSVQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY2VzcyB0byBMSUZDUiBhbmQgSElGQ1IgcmVnaXN0ZXJzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBXUklURV9SRUcoKSB0byBhdm9pZCByZWFkIGFjY2VzcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdCBpcyBub3QgYWxsb3dlZCB3aGVuIGNsZWFyaW5nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgZmxhZ3M8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TEwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExMX0kyQ188c3BhbiBjbGFzcz0iZ3JhbWUiPkluaXQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byBhdm9pZCBlbmFibGluZyBvd24gYWRkcmVzczEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZW4gT3duQWRkcmVzczEgcGFyYW1ldGVyIHZhbHVlIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgSTJDX0luaXRTdHJ1Y3QgaXMgZXF1YWwgdG8gMC48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSU0gPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMTF9USU1fPHNwYW4gY2xhc3M9ImdyYW1lIj5FbmFibGVVcGRhdGVFdmVudCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGNsZWFyIFVESVMgYml0IGluIENSMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXIgaW5zdGVhZCBvZiBzZXR0aW5nIGl0Ljwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExMX1RJTV88c3BhbiBjbGFzcz0iZ3JhbWUiPkRpc2FibGVVcGRhdGVFdmVudCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIHNldCBVRElTIGJpdCBpbiBDUjEgcmVnaXN0ZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2YgY2xlYXJpbmcgaXQuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQMDxzcGFuIGNsYXNzPSJncmFtZSI+U3RhcnRYZmVyKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG8gZml4Jm5ic3A7dHJhbnNmZXIgaXNzdWVzIHdoZW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQiBIUyBpcyB1c2VkIHdpdGggRE1BJm5ic3A7ZW5hYmxlZDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZTsiPlYxLjIuMiAvIDE0LUFwcmlsLTIwMTc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9oMz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMGluIDQuNXB0IDAuMjVpbjsiPjxiPjx1PjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjazsiPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXMgdG8gZml4IGtub3duIGRlZmVjdHMgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5oYW5jZW1lbnRzIDxzcGFuIGNsYXNzPSJncmFtZSI+aW1wbGVtZW50YXRpb248L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENBTiA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZW1lbnQgb2YmbmJzcDtvdmVycnVuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvci4mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BbGxvdwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zc2liaWxpdHkgdG8gcmVjZWl2ZSBtZXNzYWdlcyBmcm9tCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgMiBSWCBGSUZPcyBpbiBwYXJhbGxlbCB2aWEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVycnVwdC48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GaXgmbmJzcDttZXNzYWdlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb3N0IGlzc3VlIHdpdGggc3BlY2lmaWMgc2VxdWVuY2Ugb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbWl0IHJlcXVlc3RzLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IYW5kbGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbWlzc2lvbiBmYWlsdXJlIHdpdGggZXJyb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrLCB3aGVuIE5BUlQgaXMgZW5hYmxlZC48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9DQU5fQ0FOQ0VMXzxzcGFuIGNsYXNzPSJncmFtZSI+VFJBTlNNSVQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGwgdG8gYWJvcnQgdHJhbnNtaXNzaW9uIHdoZW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQgaXMgcmVhY2hlZDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZTsiPlYxLjIuMSAvIDI0LU1hcmNoLTIwMTc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9oMz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMGluIDQuNXB0IDAuMjVpbjsiPjxiPjx1PjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjazsiPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjxvOnA+PC9vOnA+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0hNIFVzZXJNYW51YWxzIHRvIHN1cHBvcnQgTEwgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5kcml2ZXJzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXMgdG8gZml4IGtub3duIGRlZmVjdHMgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5oYW5jZW1lbnRzIDxzcGFuIGNsYXNzPSJncmFtZSI+aW1wbGVtZW50YXRpb248L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQSA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9ETUFfPHNwYW4gY2xhc3M9ImdyYW1lIj5Jbml0KDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0byBhZGp1c3QgdGhlIGNvbXBhdGliaWxpdHkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrIGJldHdlZW4gRklGTyB0aHJlc2hvbGQgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXJzdCBjb25maWd1cmF0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1NQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9NTUNfPHNwYW4gY2xhc3M9ImdyYW1lIj5Jbml0Q2FyZCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gd2l0aCBwcm9wZXIgaW5pdGlhbGl6YXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcXVlbmNlIGFkZGluZyBhIGRlbGF5IGFmdGVyIE1NQwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvY2sgZW5hYmxlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNTUNfPHNwYW4gY2xhc3M9ImdyYW1lIj5ETUFFcnJvcig8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gaWdub3JlIERNQSBGSUZPIGVycm9yIGFzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3QgaW1wYWN0aW5nIHRoZSBkYXRhIHRyYW5zZmVyPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNEIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1NEXzxzcGFuIGNsYXNzPSJncmFtZSI+SW5pdENhcmQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHdpdGggcHJvcGVyIGluaXRpYWxpemF0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXF1ZW5jZSBhZGRpbmcgYSBkZWxheSBhZnRlciBTRAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvY2sgZW5hYmxlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRF88c3BhbiBjbGFzcz0iZ3JhbWUiPkRNQUVycm9yKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBpZ25vcmUgRE1BIEZJRk8gZXJyb3IgYXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdCBpbXBhY3RpbmcgdGhlIGRhdGEgdHJhbnNmZXI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkFORCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9OQU5EX0FkZHJlc3NfPHNwYW4gY2xhc3M9ImdyYW1lIj5JbmMoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uIGZvciBwcm9wZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYW5lIG51bWJlciBjaGVjazwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TEwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNETU1DIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0RNTUNfREFUQVRJTUVPVVQgdmFsdWUgd2l0aAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwcm9wcmlhdGUgdmFsdWUgbmVlZGVkIGJ5IHJlYWRpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCB3cml0aW5nIG9wZXJhdGlvbnMgb2YgU0QgYW5kIE1NQwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FyZHM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TEwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MTF9SVENfVElNRV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkdldCg8L3NwYW4+KSBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExMX1JUQ19EQVRFX0dldCgpIGlubGluZSBtYWNyb3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGltaXphdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQURDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JvbmcgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+Y29uZmlndXJhdGlvbjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MTF9BRENfSU5KXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5TZXRTZXF1ZW5jZXJSYW5rcyg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgTExfQURDX0lOSl9HZXRTZXF1ZW5jZXJSYW5rcygpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSdzIHVwZGF0ZSB0byB0YWtlIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNpZGVyYXRpb24gdGhlIEFEQyBudW1iZXIgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udmVyc2lvbnM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSZuYnNwO2RlZmluZWQgdmFsdWVzIGZvciBBREMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXAgaW5qZWN0ZWQgc2VxZW5jZXIgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPnJhbmtzPC9zcGFuPiZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlOyI+VjEuMi4wIC8gMzAtRGVjZW1iZXItMjAxNjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2gzPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwaW4gNC41cHQgMC4yNWluOyI+PGI+PHU+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrOyI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5PZmZpY2lhbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGVhc2UgdG8gYWRkIHRoZSBzdXBwb3J0IG9mIDxiPlNUTTMyRjcyMnh4LAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVE0zMkY3MjN4eCwgU1RNMzJGNzMyeHg8L2I+IDxiPmFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RNMzJGNzMzeHg8L2I+IGRldmljZXM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb3cgTGF5ZXIgZHJpdmVycyBhbGxvd2luZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJmb3JtYW5jZSBhbmQgZm9vdHByaW50IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5vcHRpbWl6YXRpb248L3NwYW4+PC9zcGFuPjwvYj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxvdwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGF5ZXIgPHNwYW4gY2xhc3M9ImdyYW1lIj5kcml2ZXJzPC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJcyBwcm92aWRlIHJlZ2lzdGVyIGxldmVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmFtbWluZzogcmVxdWlyZSBkZWVwIGtub3dsZWRnZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgcGVyaXBoZXJhbHMgZGVzY3JpYmVkIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVE0zMkY3eHggUmVmZXJlbmNlIE1hbnVhbHM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TG93Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGF5ZXIgZHJpdmVycyBhcmUgYXZhaWxhYmxlIGZvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQURDLCZuYnNwO0NvcnRleCwgQ1JDLCBEQUMsIERNQSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BMkQsIEVYVEksIEdQSU8sIEkyQywgSVdERywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTFBUSU0sIFBXUiwgUkNDLCBSTkcsIFJUQywgU1BJLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSU0sIFVTQVJULCBXV0RHIHBlcmlwaGVyYWxzIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbm5hbCBMb3cgTGV2ZWwgQnVzLCBTeXN0ZW0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIFV0aWxpdGllcyBBUElzLjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TG93Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXllciA8c3BhbiBjbGFzcz0iZ3JhbWUiPmRyaXZlcnM8L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUElzIGFyZSBpbXBsZW1lbnRlZCBhcyBzdGF0aWMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlubGluZSBmdW5jdGlvbiBpbiBuZXc8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGk+SW5jL3N0bTMyZjd4eF9sbF9wcHAuaDwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+ZmlsZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBQUFAgcGVyaXBoZXJhbHMsIHRoZXJlIGlzIG5vCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uIGZpbGUgYW5kIGVhY2g8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGk+c3RtMzJmN3h4X2xsX3BwcC5oPC9pPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj5maWxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdXN0IGJlIGluY2x1ZGVkIGluIHVzZXIgY29kZS48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXMgdG8gZml4IGtub3duIGRlZmVjdHMgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5oYW5jZW1lbnRzIDxzcGFuIGNsYXNzPSJncmFtZSI+aW1wbGVtZW50YXRpb248L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBIQUwgPGI+TU1DPC9iPiBhbmQgPGI+U01CVVM8L2I+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJpdmVyczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29ydGV4PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1vdmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9NUFVfPHNwYW4gY2xhc3M9ImdyYW1lIj5EaXNhYmxlKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgSEFMX01QVV9FbmFibGUoKSBmcm9tCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG0zMmY3eHhfaGFsX2NvcnRleC5oIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG0zMmY3eHhfaGFsX2NvcnRleC5jPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNsZWFyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgd2hvbGUgTVBVIGNvbnRyb2wgcmVnaXN0ZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluJm5ic3A7SEFMX01QVV88c3BhbiBjbGFzcz0iZ3JhbWUiPkRpc2FibGUoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENSWVA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0IG9mIDxzcGFuIGNsYXNzPSJncmFtZSI+QUVTPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUE8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIGNoZWNrIG9uIERNQSBzdHJlYW0gaW5zdGFuY2UgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9ETUFfPHNwYW4gY2xhc3M9ImdyYW1lIj5EZUluaXQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GaXgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyb25nIGRlZmluaXRpb25zIGluIGRyaXZlciBoZWFkZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUgc3RtMzJmN19oYWxfZXRoLmg8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0g8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U3VwcG9ydAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT1RQIHByb2dyYW0gb3BlcmF0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHN1cHBvcnQgb2YgUENST1AgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5mZWF0dXJlPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbGVhcmluZyBvZiBlcnJvciA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPmZsYWdzPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkM8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWxpZ24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyaXZlciBzb3VyY2UgY29kZSB3aXRoIG90aGVyIFNUTTMyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPmZhbWlsaWVzPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKUEVHPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIG91dHB1dCBkYXRhIG1hbmFnZW1lbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZW4mbmJzcDtIQUxfSlBFR188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPlBhdXNlKDwvc3Bhbj4pIGlzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJmb3JtZWQgZHVyaW5nIHRoZSBsYXN0IGRhdGEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbmRpbmc8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0MgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RW5hYmxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQV1Igb25seSBpZiBuZWNlc3NhcnkgZm9yIExTRQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiBpbiBIQUxfUkNDXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+T3NjQ29uZmlnKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19MUFRJTTFDTEtTT1VSQ0VfUENMSyBkZWZpbmUgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19MUFRJTTFDTEtTT1VSQ0VfUENMSzE8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfREZTRE0xQ0xLU09VUkNFX1BDTEsgZGVmaW5lIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfREZTRE0xQ0xLU09VUkNFX1BDTEsyPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSTwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DbGVhcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlggRklGTyBhdCB0aGUgZW5kIG9mIGVhY2gKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUFSVDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW1vdmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9MSU5FTiBiaXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyaW5nJm5ic3A7d2hlbiBpbml0aWFsaXppbmcgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5bmNocm9ub3VzIDxzcGFuIGNsYXNzPSJncmFtZSI+bW9kZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBvZiBlbWJlZGRlZCBVU0IgUEhZCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250cm9sbGVyPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0IG9mIEJhdHRlcnkgQ2hhcmdpbmcgRGV0ZWN0b3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChCQ0QpIGZlYXR1cmU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TEwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNETU1DPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFNETU1DX0NtZFNERXJhc2VTdGFydEFkZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNETU1DX0NtZFNERXJhc2VFbmRBZGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRE1NQ19DbWRPcENvbmRpdGlvbiBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNETU1DX0NtZFN3aXRjaCBmdW5jdGlvbnM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0I8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRU5BIGJpdCBjbGVhcmluZyBpbiBPVEdfSFBSVDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIGNoYW5nZXMgZG9uZSBvbiB0aGUgSEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZXJzIHJlcXVpcmUgYW4gdXBkYXRlIG9uIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb24gY29kZSBiYXNlZCBvbiBvbGRlciBIQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+dmVyc2lvbnM8L3NwYW4+PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk92ZXJhbGwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV3b3JrIG9mIHRoZSBkcml2ZXIgZm9yIGEgbW9yZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZmZpY2llbnQmbmJzcDtpbXBsZW1lbnRhdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1vZGlmeQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxpemF0aW9uIEFQSSBhbmQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+c3RydWN0dXJlczwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Nb2RpZnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFkIC8gV3JpdGUgc2VxdWVuY2VzOiBzZXBhcmF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZmVyIHByb2Nlc3MgYW5kIFNEIENhcmRzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPHNwYW4gY2xhc3M9ImdyYW1lIj5tYW5hZ2VtZW50PC9zcGFuPiZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZGluZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVycnVwdCBtb2RlIGZvciBSZWFkIC8gV3JpdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb25zPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBIQUxfU0RfSVJRSGFuZGxlciBmdW5jdGlvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IG9wdGltaXppbmcgdGhlIG1hbmFnZW1lbnQgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1cHQgPHNwYW4gY2xhc3M9ImdyYW1lIj5lcnJvcnM8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZWZlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byB0aGUgZm9sbG93aW5nIGV4YW1wbGUgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpZnkgdGhlIGNoYW5nZXM6IEJTUCBleGFtcGxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBVU0JfRGV2aWNlL01TQ19TdGFuZGFsb25lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSU08L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEF1dG9SZWxvYWRQcmVsb2FkIGZpZWxkIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CYXNlX0luaXRUeXBlRGVmIHN0cnVjdHVyZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZWZlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byB0aGUgVElNIGV4YW1wbGVzIHRvIGlkZW50aWZ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPmNoYW5nZXM8L3NwYW4+PGI+Jm5ic3A7PC9iPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkFORDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1vZGlmeQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQU5EX0FkZHJlc3NUeXBlRGVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQU5EX0RldmljZUNvbmZpZ1R5cGVEZWYgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5BTkRfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmVzIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5maWVsZHM8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgSEFMX05BTkRfQ29uZmlnRGV2aWNlIEFQSTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlOyI+VjEuMS4xIC8gMDEtSnVseS0yMDE2PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvaDM+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDBpbiA0LjVwdCAwLjI1aW47Ij48Yj48dT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7Ij5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQTwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9ETUFfPHNwYW4gY2xhc3M9ImdyYW1lIj5Qb2xsRm9yVHJhbnNmZXIoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byZuYnNwO2F2b2lkIGVhcmx5IFRJTUVPVVQgZXJyb3IuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKUEVHPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0pQRUdfPHNwYW4gY2xhc3M9ImdyYW1lIj5Db25maWdFbmNvZGluZyg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG8gcHJvcGVybHkgc2V0IHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW1hZ2VIZWlnaHQgYW5kIEltYWdlV2lkdGg8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJXzxzcGFuIGNsYXNzPSJncmFtZSI+RE1BVHJhbnNtaXRSZWNlaXZlQ3BsdCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG8gcHJvcGVybHkgaGFuZGxlIHRoZSBDUkMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBhdm9pZCBjb25kaXRpb25hbCBzdGF0ZW1lbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cGxpY2F0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAtbW96LWluaXRpYWw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGU7Ij5WMS4xLjAgLyAyMi1BcHJpbC0yMDE2PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvaDM+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDBpbiA0LjVwdCAwLjI1aW47Ij48Yj48dT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7Ij5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk9mZmljaWFsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsZWFzZSB0byBhZGQgdGhlIHN1cHBvcnQgb2YgPGI+U1RNMzJGNzY1eHgsCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUTTMyRjc2N3h4LCBTVE0zMkY3Njh4eCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUTTMyRjc2OXh4LCBTVE0zMkY3Nzd4eCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUTTMyRjc3OHh4PC9iPiA8Yj5hbmQgU1RNMzJGNzc5eHg8L2I+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXMgdG8gZml4IGtub3duIGRlZmVjdHMgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5oYW5jZW1lbnRzIDxzcGFuIGNsYXNzPSJncmFtZSI+aW1wbGVtZW50YXRpb248L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBIQUwgZHJpdmVycyBmb3I8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+IDwvc3Bhbj48Yj5ERlNETSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERTSTxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSlBFRyA8L3NwYW4+PC9iPmFuZDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj4gPC9zcGFuPjxiPk1ESU9TPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+IDwvc3Bhbj48L2I+cGVyaXBoZXJhbHM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RW5oYW5jZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTCBkZWxheSBhbmQgdGltZWJhc2UgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+aW1wbGVtZW50YXRpb248L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBkcml2ZXJzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG0zMmY3eHhfaGFsX3RpbWViYXNlX3RpbV90ZW1wbGF0ZS5jLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmN3h4X2hhbF90aW1lYmFzZV9ydGNfYWxhcm1fdGVtcGxhdGUuYwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG0zMmY3eHhfaGFsX3RpbWViYXNlX3J0Y193YWtldXBfdGVtcGxhdGUuYwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpY2ggb3ZlcnJpZGUgdGhlIG5hdGl2ZSBIQUwgdGltZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZSBmdW5jdGlvbnMgKGRlZmluZWQgYXMgd2VhaykgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciB1c2UgdGhlIFRJTSBvciB0aGUgUlRDIGFzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lIGJhc2UgdGljayBzb3VyY2UuIEZvciBtb3JlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzIGFib3V0IHRoZSB1c2FnZSBvZiB0aGVzZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJpdmVycywgcGxlYXNlIHJlZmVyIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxcSEFMX1RpbWVCYXNlIGV4YW1wbGVzJm5ic3A7PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmQtc3BhY2luZzogMHB4OyI+YW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyZWVSVE9TLWJhc2VkIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5hcHBsaWNhdGlvbnM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgY2hhbmdlcyBkb25lIG9uIHRoZSBIQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyaXZlcnMgcmVxdWlyZSBhbiB1cGRhdGUgb24gdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbiBjb2RlIGJhc2VkIG9uIEhBTCBWMS4wLjQ8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVBUlQsIFVTQVJULCBJUkRBLCBTTUFSVENBUkQsIFNQSSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDLCZuYnNwO1FTUEkgPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4ocmVmZXJlbmNlZAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcyA8aT5QUFA8L2k+IGhlcmUgYmVsb3cpPGk+IDwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPmRyaXZlcnM8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBQUCBlcnJvciBtYW5hZ2VtZW50IGR1cmluZyBETUEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzcy4gVGhpcyByZXF1aXJlcyB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIHVwZGF0ZXMgb24mbmJzcDt1c2VyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNvbmZpZ3VyZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBlbmFibGUgdGhlIFBQUCBJUlEgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfUFBQXzxzcGFuIGNsYXNzPSJncmFtZSI+TXNwSW5pdCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmN3h4X2l0LmMgZmlsZSwgUFBQXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPklSUUhhbmRsZXIoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjogYWRkIGEgY2FsbCB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9QUFBfSVJRSGFuZGxlcigpIGZ1bmN0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBjdXN0b21pemUgdGhlIEVycm9yIENhbGxiYWNrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJOiBIQUxfUFBQXzxzcGFuIGNsYXNzPSJncmFtZSI+RXJyb3JDYWxsYmFjayg8L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQzwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVmZXJlbmNlZCBhcyA8aT5QUFA8L2k+IGhlcmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlbG93KTxpPiA8L2k+ZHJpdmVyczo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGF2b2lkIHdhaXRpbmcgb24gU1RPUEYvQlRGL0FGCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWcgdW5kZXIgRE1BIElTUiBieSB1c2luZyB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFBQIGVuZCBvZiB0cmFuc2ZlciBpbnRlcnJ1cHQgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIERNQSB0cmFuc2ZlciBwcm9jZXNzLiBUaGlzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzIHRoZSBmb2xsb3dpbmcgdXBkYXRlcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiZuYnNwO3VzZXIgYXBwbGljYXRpb246PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q29uZmlndXJlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGVuYWJsZSB0aGUgUFBQIElSUSBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9QUFBfPHNwYW4gY2xhc3M9ImdyYW1lIj5Nc3BJbml0KDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG0zMmY3eHhfaXQuYyBmaWxlLCBQUFBfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+SVJRSGFuZGxlcig8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uOiBhZGQgYSBjYWxsIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1BQUF9JUlFIYW5kbGVyKCkgZnVuY3Rpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJV0RHIDwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZHJpdmVyOgotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXdvcmsgb3ZlcmFsbCBkcml2ZXIgZm9yIGJldHRlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1wbGVtZW50YXRpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZSZuYnNwO0hBTF9JV0RHXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5TdGFydCg8L3NwYW4+KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0lXREdfTXNwSW5pdCgpIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSVdER19HZXRTdGF0ZSgpJm5ic3A7QVBJczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV1dERyA8L3NwYW4+PC9pPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmRyaXZlcjoKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV3b3JrIG92ZXJhbGwgZHJpdmVyIGZvciBiZXR0ZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcGxlbWVudGF0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfV1dER188c3BhbiBjbGFzcz0iZ3JhbWUiPlN0YXJ0KDwvc3Bhbj4pLAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9XV0RHX1N0YXJ0X0lUKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9XV0RHX01zcERlSW5pdCgpIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfV1dER19HZXRTdGF0ZSgpIEFQSXMmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTFwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9XV0RHXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5SZWZyZXNoKDwvc3Bhbj5XV0RHX0hhbmRsZVR5cGVEZWYKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqaHd3ZGcsIHVpbnQzMl90IGNvdW50ZXIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwO2Z1bmN0aW9uIGFuZCBBUEkgJm5ic3A7YnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZpbmcgdGhlICZuYnNwOyJjb3VudGVyIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXI8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFTUEkgZHJpdmVyOiA8L3NwYW4+PC9pPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwO0VuaGFuY2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBETUEgdHJhbnNtaXQgcHJvY2VzcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkmbmJzcDt1c2luZyZuYnNwO1BQUCBUQyBpbnRlcnJ1cHQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2Ygd2FpdGluZyBvbiBUQyBmbGFnIHVuZGVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgSVNSLiZuYnNwO1RoaXMgcmVxdWlyZXMgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgdXBkYXRlcyBvbiZuYnNwO3VzZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q29uZmlndXJlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBlbmFibGUgdGhlIFFTUEkmbmJzcDtJUlEgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1FTUElfPHNwYW4gY2xhc3M9ImdyYW1lIj5Nc3BJbml0KDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0bTMyZjd4eF9pdC5jIGZpbGUsIFFTUElfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPklSUUhhbmRsZXIoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb246IGFkZCBhIGNhbGwgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1FTUElfSVJRSGFuZGxlcigpIGZ1bmN0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDRUMgZHJpdmVyOiA8L3NwYW4+PC9pPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwO092ZXJhbGwKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJpdmVyIHJld29yayB3aXRoIGNvbXBhdGliaWxpdHkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrIHZlcnN1cyBwcmV2aW91cyBIQUwgdmVyc2lvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUwgQ0VDIHBvbGxpbmcgUHJvY2VzcyBmdW5jdGlvbnM6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9DRUNfPHNwYW4gY2xhc3M9ImdyYW1lIj5UcmFuc21pdCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgSEFMX0NFQ19SZWNlaXZlKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUwgQ0VDIHJlY2VpdmUgaW50ZXJydXB0IHByb2Nlc3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24mbmJzcDtIQUxfQ0VDX1JlY2VpdmVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPklUKDwvc3Bhbj4pIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGUgdGhlICJyZWNlaXZlIiAmbmJzcDttb2RlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmluZyB0aGUgSW5pdCBwaGFzZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lJm5ic3A7SEFMX0NFQ188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+R2V0UmVjZWl2ZWRGcmFtZVNpemUoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVudGlvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byZuYnNwO0hBTF9DRUNfR2V0TGFzdFJlY2VpdmVkRnJhbWVTaXplKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBIQUwgQVBJczogSEFMX0NFQ188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+U2V0RGV2aWNlQWRkcmVzcyg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgSEFMX0NFQ19DaGFuZ2VSeEJ1ZmZlcigpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW1vdmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlJm5ic3A7J0luaXRpYXRvckFkZHJlc3MnIGZpZWxkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gdGhlJm5ic3A7Q0VDX0luaXRUeXBlRGVmCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSZuYnNwO2FuZCBtYW5hZ2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXQmbmJzcDthcyBhIHBhcmFtZXRlciBpbiB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0NFQ19UcmFuc21pdF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+SVQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgcGFyYW1ldGVyICdSeEZyYW1lU2l6ZScgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0NFQ188c3BhbiBjbGFzcz0iZ3JhbWUiPlJ4Q3BsdENhbGxiYWNrKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Nb3ZlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENFQyBSeCBidWZmZXIgcG9pbnRlciZuYnNwO2Zyb20KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0VDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENFQ19Jbml0VHlwZURlZiBzdHJ1Y3R1cmU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQU48L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgc3VwcG9ydCBvZiA8c3BhbiBjbGFzcz0iZ3JhbWUiPkNBTjM8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENFQzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5PdmVyYWxsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZXIgcmV3b3JrIHdpdGgmbmJzcDticmVhayBvZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGF0aWJpbGl0eSB3aXRoIEhBTCBWMS4wLjQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW1vdmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIEhBTCBDRUMgcG9sbGluZyBQcm9jZXNzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfQ0VDXzxzcGFuIGNsYXNzPSJncmFtZSI+VHJhbnNtaXQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIEhBTF9DRUNfUmVjZWl2ZSgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgSEFMIENFQyByZWNlaXZlIGludGVycnVwdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzIChIQUxfQ0VDX1JlY2VpdmVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPklUKDwvc3Bhbj4pKSBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlIHRoZSAiUmVjZWl2ZSIgbW9kZSBlbmFibGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aGluIHRoZSBJbml0IHBoYXNlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0NFQ188c3BhbiBjbGFzcz0iZ3JhbWUiPkdldFJlY2VpdmVkRnJhbWVTaXplKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvJm5ic3A7SEFMX0NFQ19HZXRMYXN0UmVjZWl2ZWRGcmFtZVNpemUoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEhBTCBBUElzOiBIQUxfQ0VDXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5TZXREZXZpY2VBZGRyZXNzKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBIQUxfQ0VDX0NoYW5nZVJ4QnVmZmVyKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtb3ZlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSZuYnNwOydJbml0aWF0b3JBZGRyZXNzJyBmaWVsZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIHRoZSZuYnNwO0NFQ19Jbml0VHlwZURlZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUmbmJzcDthbmQgbWFuYWdlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0Jm5ic3A7YXMgYSBwYXJhbWV0ZXIgaW4gdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9DRUNfVHJhbnNtaXRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPklUKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgcGFyYW1ldGVyICdSeEZyYW1lU2l6ZScgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0NFQ188c3BhbiBjbGFzcz0iZ3JhbWUiPlJ4Q3BsdENhbGxiYWNrKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1vdmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0VDIFJ4IGJ1ZmZlciBwb2ludGVyJm5ic3A7ZnJvbQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDRUNfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0VDX0luaXRUeXBlRGVmIHN0cnVjdHVyZSA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJpdmVyIHRvIGltcGxlbWVudCB0aGUgbmV3IENFQwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgbWFjaGluZTogPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyZuYnNwOyJyeFN0YXRlIiBmaWVsZCBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDRUNfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZSB0aGUgQ0VDIHN0YXRlIGluZm9ybWF0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0ZWQgdG8gUnggPHNwYW4gY2xhc3M9ImdyYW1lIj5PcGVyYXRpb25zPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YXRlIiBmaWVsZCBpbiBDRUNfSGFuZGxlVHlwZURlZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUgdG8gImdzdGF0ZSI6IENFQyBzdGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGdsb2JhbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYW5kbGUgbWFuYWdlbWVudCBhbmQgVHggPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPk9wZXJhdGlvbnM8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0VDIHByb2Nlc3MgdG8gbWFuYWdlIHRoZSBuZXcgQ0VDCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlcy48L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9DRUNfUkVTRVRfSEFORExFXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5TVEFURSg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyB0byBoYW5kbGUgdGhlIG5ldyBDRUMgc3RhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVycyAoZ1N0YXRlLCByeFN0YXRlKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQTwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBBUElzIEhBTF9ETUFfPHNwYW4gY2xhc3M9ImdyYW1lIj5SZWdpc3RlckNhbGxiYWNrKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgSEFMX0RNQV9VblJlZ2lzdGVyQ2FsbGJhY2sgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyL3VucmVnaXN0ZXIgdGhlIGRpZmZlcmVudAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tzIGlkZW50aWZpZWQgYnkgdGhlIGVudW0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVkZWYgSEFMX0RNQV9DYWxsYmFja0lEVHlwZURlZjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBBUEkgSEFMX0RNQV9BYm9ydF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPklUKDwvc3Bhbj4pIHRvIGFib3J0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgdHJhbnNmZXIgdW5kZXIgaW50ZXJydXB0IGNvbnRleHQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UaGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IHJlZ2lzdGVyZWQgQWJvcnQgY2FsbGJhY2sgaXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGVkIHdoZW4gRE1BIHRyYW5zZmVyIGFib3J0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzIDxzcGFuIGNsYXNzPSJncmFtZSI+Y29tcGxldGVkPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNoZWNrIG9mIGNvbXBhdGliaWxpdHkgYmV0d2VlbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklGTyB0aHJlc2hvbGQgbGV2ZWwgYW5kIHNpemUgb2YgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnkgYnVyc3QgaW4gdGhlIEhBTF9ETUFfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5Jbml0KDwvc3Bhbj4pIEFQSTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgRXJyb3IgQ29kZXM6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRE1BX0VSUk9SX1BBUkFNLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0RNQV9FUlJPUl9OT19YRkVSIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0RNQV9FUlJPUl9OT1RfU1VQUE9SVEVEPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYig5OCwgOTgsIDk4KTsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7Ij5SZW1vdmUgYWxsIERNQSBzdGF0ZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0ZWQgdG8gTUVNMC9NRU0xIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRE1BX1N0YXRlVHlwZURlZjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogOS41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O0hlbHZldGljYSZxdW90OyxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BMkQ8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgSEFMX0RNQTJEXzxzcGFuIGNsYXNzPSJncmFtZSI+RGVJbml0KDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0bzo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BYm9ydAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2ZlciBpbiBjYXNlIG9mIG9uZ29pbmcgRE1BMkQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmZXI8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVzZXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BMkQgY29udHJvbCA8c3BhbiBjbGFzcz0iZ3JhbWUiPnJlZ2lzdGVyczwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0RNQTJEXzxzcGFuIGNsYXNzPSJncmFtZSI+QWJvcnQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGRpc2FibGUgRE1BMkQgaW50ZXJydXB0cyBhZnRlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcHBpbmcgdHJhbnNmZXI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk9wdGltaXplCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRE1BMkRfPHNwYW4gY2xhc3M9ImdyYW1lIj5JUlFIYW5kbGVyKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSByZWFkaW5nIHN0YXR1cyByZWdpc3RlcnMgb25seQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25jZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9ETUEyRF88c3BhbiBjbGFzcz0iZ3JhbWUiPlByb2dyYW1MaW5lRXZlbnQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJldHVybgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUwgZXJyb3Igc3RhdGUgaW4gY2FzZSBvZiB3cm9uZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lIDxzcGFuIGNsYXNzPSJncmFtZSI+dmFsdWU8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVuYWJsZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lIGludGVycnVwdCBhZnRlciBzZXR0aW5nIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lIHdhdGVybWFyayA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+Y29uZmlndXJhdGlvbjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBIQUxfRE1BMkRfPHNwYW4gY2xhc3M9ImdyYW1lIj5DTFVUTG9hZCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIEhBTF9ETUEyRF9DTFVUTG9hZF9JVCgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnMgdG8gc3RhcnQgRE1BMkQgQ0xVVAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RNQTJEX0NMVVRMb2FkaW5nXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5BYm9ydCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0byBhYm9ydCB0aGUgRE1BMkQgQ0xVVAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9ETUEyRF9DTFVUTG9hZGluZ188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+U3VzcGVuZCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0byBzdXNwZW5kIHRoZSBETUEyRCBDTFVUCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RNQTJEX0NMVVRMb2FkaW5nXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5SZXN1bWUoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG8gcmVzdW1lIHRoZSBETUEyRCBDTFVUCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBETUEyRCBkZWFkIHRpbWUgbWFuYWdlbWVudDo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRE1BMkRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkVuYWJsZURlYWRUaW1lKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIGVuYWJsZSBETUEyRCBkZWFkIHRpbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmVhdHVyZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRE1BMkRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkRpc2FibGVEZWFkVGltZSg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0byBkaXNhYmxlIERNQTJEIGRlYWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZSBmZWF0dXJlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9ETUEyRF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+Q29uZmlnRGVhZFRpbWUoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG8gY29uZmlndXJlIGRlYWQgdGltZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIG5hbWUgb2YgRE1BMkQgSW5wdXQvT3V0cHV0IGNvbG9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlIGRlZmluZXMgdG8gYmUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5tb3JlIGNsZWFyPC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHVzZXIgKERNQTJEX0lOUFVUX1hYWCBmb3IgaW5wdXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVycyBDb2xvcnMsIERNQTJEX09VVFBVVF9YWFggZm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQgZnJhbWVidWZmZXIgQ29sb3JzKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEQ01JPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRENNSV9ETUFDb252Q3BsdCB0byBEQ01JX0RNQVhmZXJDcGx0PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9EQ01JX1N0YXJ0XzxzcGFuIGNsYXNzPSJncmFtZSI+RE1BKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0byZuYnNwO0VuYWJsZSB0aGUgRENNSQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyaXBoZXJhbDwvc3Bhbj48c3BhbiBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyB0aW1lb3V0IGltcGxlbWVudGF0aW9uIGJhc2VkIG9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcHUgY3ljbGVzIGZvciBEQ01JIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+c3RvcDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0RDTUlfPHNwYW4gY2xhc3M9ImdyYW1lIj5TdXNwZW5kKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0byBzdXNwZW5kIERDTUkgY2FwdHVyZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRENNSV88c3BhbiBjbGFzcz0iZ3JhbWUiPlJlc3VtZSg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG8gcmVzdW1lIGNhcHR1cmUgYWZ0ZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERDTUkgc3VzcGVuZDwvc3Bhbj48c3BhbiBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2sgbWVjaGFuaXNtIGZvciBEQ01JIHByb2Nlc3M8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0RDTUlfPHNwYW4gY2xhc3M9ImdyYW1lIj5JUlFIYW5kbGVyKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0bzo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IgbWFuYWdlbWVudCBpbiBjYXNlIERNQQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMgdGhyb3VnaCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+WGZlckFib3J0Q2FsbGJhY2soPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIEhBTF9ETUFfQWJvcnRfSVQoKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5PcHRpbWl6ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlIGJ5IHVzaW5nIGRpcmVjdCByZWdpc3RlciA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+cmVhZDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Nb3ZlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY29udGVudCBvZiB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0bTMyZjd4eF9oYWxfZGNtaV9leC5jLy5oIGZpbGVzIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tb24gZHJpdmVyIGZpbGVzICh0aGUgZXh0ZW5zaW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlcyBhcmUga2VwdCBlbXB0eSBmb3IgcHJvamVjdHMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhdGliaWxpdHkgcmVhc29uKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBzdXBwb3J0IG9mIER1YWwgQkFOSyBmZWF0dXJlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfRkxBU0hfQ0FMQ19CT09UX0JBU0VfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5BRFIoPC9zcGFuPikgbWFjcm8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGNhbGN1bGF0ZSB0aGUgRkxBU0ggQm9vdCBCYXNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZHJlc3M8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Nb3ZlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGbGFzaCB0b3RhbCBzZWN0b3IgZGVmaW5lIHRvIENNU0lTCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXIgPHNwYW4gY2xhc3M9ImdyYW1lIj5maWxlczwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX05PUlNSQU1fPHNwYW4gY2xhc3M9ImdyYW1lIj5Jbml0KDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byByZW1vdmUgdGhlIEJ1cnN0IGFjY2VzcyBtb2RlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfU0RSQU1fVGltaW5nXzxzcGFuIGNsYXNzPSJncmFtZSI+SW5pdCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZml4IGluaXRpYWxpemF0aW9uIGlzc3VlIHdoZW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyaW5nIDIgU0RSQU0gYmFua3M8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSENEPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSENEX1BvcnRfPHNwYW4gY2xhc3M9ImdyYW1lIj5JUlFIYW5kbGVyKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBiZSBjb21wbGlhbnQgd2l0aCBuZXcgVGltZSBiYXNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbXBsZW1lbnRhdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQzwvc3Bhbj48L2I+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IDwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBzdXBwb3J0IG9mIEkyQyBmYXN0IG1vZGUgcGx1cwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEZNKyk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvbGxpbmcgbWFuYWdlbWVudDo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UaGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGltZW91dCB2YWx1ZSBtdXN0IGJlIGVzdGltYXRlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgdGhlIG92ZXJhbGwgcHJvY2VzcyBkdXJhdGlvbjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj50aGU8L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpbWVvdXQgbWVhc3VyZW1lbnQgaXMgY3VtdWxhdGl2ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIG1hbmFnZW1lbnQgb2YgQWJvcnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZpY2U6Jm5ic3A7QWJvcnQgRE1BIHRyYW5zZmVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdWdoIDxzcGFuIGNsYXNzPSJncmFtZSI+aW50ZXJydXB0PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjYXNlIG9mIE1hc3RlciBBYm9ydCBJVAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2ZlciB1c2FnZTo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQmbmJzcDtuZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyIEhBTF9JMkNfPHNwYW4gY2xhc3M9ImdyYW1lIj5BYm9ydENwbHRDYWxsYmFjayg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGluZm9ybSB1c2VyIG9mIHRoZSBlbmQgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYm9ydCBwcm9jZXNzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBhYm9ydCBzdGF0ZSBpcyBkZWZpbmVkIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIEhBTF9JMkNfU3RhdGVUeXBlRGVmCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBtYW5hZ2VtZW50IG9mIEkyQyBwZXJpcGhlcmFsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMsIEFDSyBmYWlsdXJlIGFuZCBTVE9QCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25kaXRpb24gZGV0ZWN0aW9uIGR1cmluZyBETUEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3MuIFRoaXMgcmVxdWlyZXMgdGhlIGZvbGxvd2luZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlcyBvbiB1c2VyIGFwcGxpY2F0aW9uOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNvbmZpZ3VyZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZW5hYmxlIHRoZSBJMkMgSVJRIGluIEhBTF9JMkNfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPk1zcEluaXQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmN3h4X2l0LmMgZmlsZSwgSTJDXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5JUlFIYW5kbGVyKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uOiBhZGQgYSBjYWxsIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMkNfSVJRSGFuZGxlcigpIGZ1bmN0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgY3VzdG9taXplIHRoZSBFcnJvciBDYWxsYmFjawotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEk6IEhBTF9JMkNfPHNwYW4gY2xhc3M9ImdyYW1lIj5FcnJvckNhbGxiYWNrKDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlZmVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHRoZSBJMkNfRUVQUk9NIG9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19Ud29Cb2FyZHNfQ29tRE1BIHByb2plY3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhhbXBsZXMgdXNhZ2Ugb2YgdGhlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5BUEk8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBzdXBwb3J0IG9mJm5ic3A7STJDIHJlcGVhdGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydCBmZWF0dXJlOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5XaXRoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBmb2xsb3dpbmcgbmV3IEFQSXM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSTJDX01hc3Rlcl9TZXF1ZW50aWFsX1RyYW5zbWl0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPklUKDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0kyQ19NYXN0ZXJfU2VxdWVudGlhbF9SZWNlaXZlXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPklUKDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0kyQ19NYXN0ZXJfQWJvcnRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+SVQoPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSTJDX1NsYXZlX1NlcXVlbnRpYWxfVHJhbnNtaXRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+SVQoPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSTJDX1NsYXZlX1NlcXVlbnRpYWxfUmVjZWl2ZV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5JVCg8L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9JMkNfRW5hYmxlTGlzdGVuXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPklUKDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0kyQ19EaXNhYmxlTGlzdGVuXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPklUKDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IHVzZXIgY2FsbGJhY2tzOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9JMkNfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+TGlzdGVuQ3BsdENhbGxiYWNrKDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSTJDXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkFkZHJDYWxsYmFjayg8L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNldmVyYWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXMgb24gSEFMIEkyQyBkcml2ZXIgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcGxlbWVudCB0aGUgbmV3IEkyQyBzdGF0ZSBtYWNoaW5lOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBBUEkgdG8gZ2V0IHRoZSZuYnNwO0kyQyBtb2RlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJDXzxzcGFuIGNsYXNzPSJncmFtZSI+R2V0TW9kZSg8L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlJm5ic3A7STJDCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3MgdG8gbWFuYWdlIHRoZSBuZXcmbmJzcDtJMkMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj5zdGF0ZXM8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVdERzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5PdmVyYWxsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXdvcmsgb2YgdGhlIGRyaXZlciBmb3IgYSBtb3JlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZmZpY2llbnQmbmJzcDtpbXBsZW1lbnRhdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZm9sbG93aW5nIEFQSXM6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0lXREdfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+U3RhcnQoPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSVdER188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5Nc3BJbml0KDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0lXREdfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+R2V0U3RhdGUoPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbXBsZW1lbnRhdGlvbjo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSVdER188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5Jbml0KDwvc3Bhbj4pIDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzIGZ1bmN0aW9uIGluc3VyZXMgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiBhbmQgdGhlIHN0YXJ0IG9mCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIElXREcgY291bnRlcjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9JV0RHXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPlJlZnJlc2goPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMgZnVuY3Rpb24gaW5zdXJlcyB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxvYWQgb2YgdGhlIElXREcgY291bnRlcjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVmZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gdGhlIGZvbGxvd2luZyBleGFtcGxlIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkZW50aWZ5IHRoZSBjaGFuZ2VzOiBJV0RHXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5FeGFtcGxlPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExQVElNIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0xQVElNX1RpbWVPdXRfU3RhcnRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5JVCg8L3NwYW4+KSBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9MUFRJTV9Db3VudGVyX1N0YXJ0X0lUKCApIEFQSXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGNvbmZpZ3VyZSBXYWtlVXAgVGltZXIgRVhUSQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJydXB0IHRvIGJlIGFibGUgdG8gd2FrZXVwIE1DVQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSBsb3cgcG93ZXIgbW9kZSBieSBwcmVzc2luZyB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYVEkgbGluZSA8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9MUFRJTV9UaW1lT3V0X1N0b3BfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5JVCg8L3NwYW4+KSBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9MUFRJTV9Db3VudGVyX1N0b3BfSVQoICkgQVBJcyB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBXYWtlVXAgVGltZXIgRVhUSSBpbnRlcnJ1cHQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMVERDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0xURENfPHNwYW4gY2xhc3M9ImdyYW1lIj5JUlFIYW5kbGVyKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBtYW5hZ2UgdGhlIGNhc2Ugb2YgcmVsb2FkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1cHQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExUREMgZXh0ZW5zaW9uIGRyaXZlciBuZWVkZWQgd2l0aCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkRTSTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfTFREQ188c3BhbiBjbGFzcz0iZ3JhbWUiPlNldFBpdGNoKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBmb3IgcGl0Y2ggcmVjb25maWd1cmF0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IGNhbGxiYWNrIEFQSSBIQUxfTFREQ188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPlJlbG9hZEV2ZW50Q2FsbGJhY2soPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0xURENfPHNwYW4gY2xhc3M9ImdyYW1lIj5SZWxvYWQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGNvbmZpZ3VyZSBMVERDIHJlbG9hZCBmZWF0dXJlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBObyBSZWxvYWQgTFREQyB2YXJpYW50IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+QVBJczwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfTFREQ19Db25maWdMYXllcl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+Tm9SZWxvYWQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gY29uZmlndXJlIHRoZSBMVERDIExheWVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY29yZGluZyB0byB0aGUgc3BlY2lmaWVkIHdpdGhvdXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsb2FkaW5nPC9zcGFuPjxzcGFuIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfTFREQ19TZXRXaW5kb3dTaXplXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5Ob1JlbG9hZCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBzZXQgdGhlIExUREMgd2luZG93IHNpemUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aG91dCByZWxvYWRpbmc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9MVERDX1NldFdpbmRvd1Bvc2l0aW9uXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5Ob1JlbG9hZCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBzZXQgdGhlIExUREMgd2luZG93IHBvc2l0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhvdXQgcmVsb2FkaW5nPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfTFREQ19TZXRQaXhlbEZvcm1hdF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+Tm9SZWxvYWQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gcmVjb25maWd1cmUgdGhlIHBpeGVsIGZvcm1hdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRob3V0IHJlbG9hZGluZzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0xURENfU2V0QWxwaGFfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPk5vUmVsb2FkKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHJlY29uZmlndXJlIHRoZSBsYXllciBhbHBoYQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSB3aXRob3V0IHJlbG9hZGluZzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0xURENfU2V0QWRkcmVzc188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+Tm9SZWxvYWQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gcmVjb25maWd1cmUgdGhlIGZyYW1lIGJ1ZmZlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIHdpdGhvdXQgcmVsb2FkaW5nPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfTFREQ19TZXRQaXRjaF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+Tm9SZWxvYWQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gcmVjb25maWd1cmUgdGhlIHBpdGNoIGZvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZpYyBjYXNlczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0xURENfQ29uZmlnQ29sb3JLZXlpbmdfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPk5vUmVsb2FkKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGNvbmZpZ3VyZSB0aGUgY29sb3Iga2V5aW5nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhvdXQgcmVsb2FkaW5nPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfTFREQ19FbmFibGVDb2xvcktleWluZ188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+Tm9SZWxvYWQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZW5hYmxlIHRoZSBjb2xvciBrZXlpbmcgd2l0aG91dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxvYWRpbmc8L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9MVERDX0Rpc2FibGVDb2xvcktleWluZ188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+Tm9SZWxvYWQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGlzYWJsZSB0aGUgY29sb3Iga2V5aW5nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhvdXQgcmVsb2FkaW5nPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfTFREQ19FbmFibGVDTFVUXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5Ob1JlbG9hZCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBlbmFibGUgdGhlIGNvbG9yIGxvb2t1cCB0YWJsZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRob3V0IHJlbG9hZGluZzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0xURENfRGlzYWJsZUNMVVRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPk5vUmVsb2FkKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGRpc2FibGUgdGhlIGNvbG9yIGxvb2t1cCB0YWJsZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRob3V0IHJlbG9hZGluZzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjx1PjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Ob3RlOjwvc3Bhbj48L3U+PC9pPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFyaWFudCBmdW5jdGlvbnMgd2l0aCCTX05vUmVsb2FklAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3N0IGZpeCBhbGxvd3MgdG8gc2V0IHRoZSBMVERDCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24vc2V0dGluZ3Mgd2l0aG91dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbW1lZGlhdGUgcmVsb2FkLiBUaGlzIGlzIHVzZWZ1bAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBjYXNlIHdoZW4gdGhlIHByb2dyYW0gcmVxdWlyZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gbW9kaWZ5IHNldmVyYWwgTFREQyBzZXR0aW5ncwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob24gb25lIG9yIGJvdGggbGF5ZXJzKSB0aGVuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGx5aW5nIChyZWxvYWQpIHRoZXNlIHNldHRpbmdzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIG9uZSBzaG90IGJ5IGNhbGxpbmcgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIJNIQUxfTFREQ188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+UmVsb2FkPC9zcGFuPpQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOT1I8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOT1JfQUREUl9TSElGVCBtYWNybyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0Q8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfUENEXzxzcGFuIGNsYXNzPSJncmFtZSI+SVJRSGFuZGxlcig8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZ2V0IEhDTEsgZnJlcXVlbmN5IGJlZm9yZSBzZXR0aW5nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUkRUIHZhbHVlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUVNQSSA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIG1hbmFnZSBRU1BJIGVycm9yIG1hbmFnZW1lbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmluZyBETUEgPHNwYW4gY2xhc3M9ImdyYW1lIj5wcm9jZXNzPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JbXByb3ZlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgRE1BIHRyYW5zbWl0IHByb2Nlc3MgYnkgdXNpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFTUEkgVEMgaW50ZXJydXB0IGluc3RlYWQgb2Ygd2FpdGluZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9vcCBvbiBUQyBmbGFnIHVuZGVyIERNQSBJU1I8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VGhlc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR3byBpbXByb3ZlbWVudHMgcmVxdWlyZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyB1cGRhdGVzIG9uIHVzZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q29uZmlndXJlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBlbmFibGUgdGhlIFFTUEkgSVJRIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9RU1BJXzxzcGFuIGNsYXNzPSJncmFtZSI+TXNwSW5pdCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG0zMmY3eHhfaXQuYyBmaWxlLCBRU1BJXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5JUlFIYW5kbGVyKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uOiBhZGQgYSBjYWxsIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9RU1BJX0lSUUhhbmRsZXIoKSBmdW5jdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGN1c3RvbWl6ZSB0aGUgRXJyb3IgQ2FsbGJhY2sKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJOiBIQUxfUVNQSV88c3BhbiBjbGFzcz0iZ3JhbWUiPkVycm9yQ2FsbGJhY2soPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBtYW5hZ2VtZW50IG9mIG5vbi1ibG9ja2luZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmZXIgYWJvcnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZpY2U6Jm5ic3A7SEFMX1FTUElfQWJvcnRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5JVCg8L3NwYW4+KS4gSW4gdGhpcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSB0aGUgdXNlciBtdXN0Ojwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgY2FsbGJhY2sgSEFMX1FTUElfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkFib3J0Q3BsdENhbGxiYWNrKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGluZm9ybSB1c2VyIGF0IHRoZSBlbmQgb2YgYWJvcnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyB2YWx1ZSBvZiBTdGF0ZSBpbiB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1FTUElfU3RhdGVUeXBlRGVmIHByb3ZpZGVzIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IHN0YXRlIGR1cmluZyB0aGUgYWJvcnQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPnBoYXNlPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlBvbGxpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZW1lbnQgdXBkYXRlOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaW1lb3V0IHZhbHVlIHVzZXIgbXVzdCBiZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlc3RpbWF0ZWQgZm9yIHRoZSBvdmVyYWxsIHByb2Nlc3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDxzcGFuIGNsYXNzPSJncmFtZSI+dGhlPC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaW1lb3V0IG1lYXN1cmVtZW50IGlzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1bXVsYXRpdmUuJm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVmZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHRoZSBmb2xsb3dpbmcgZXhhbXBsZXMsIHdoaWNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmliZSB0aGUgY2hhbmdlczo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5RU1BJX1JlYWRXcml0ZV9ETUE8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UVNQSV9NZW1vcnlNYXBwZWQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UVNQSV9FeGVjdXRlSW5QbGFjZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHdvIG5ldyBBUElzIGZvciB0aGUgUVNQSSBmaWZvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJlc2hvbGQ6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1FTUElfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPlNldEZpZm9UaHJlc2hvbGQoPC9zcGFuPik6Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJlIHRoZSBGSUZPIHRocmVzaG9sZCBvZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgUVNQSTwvc3Bhbj48c3BhbiBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1FTUElfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkdldEZpZm9UaHJlc2hvbGQoPC9zcGFuPik6Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2l2ZSB0aGUgY3VycmVudCBGSUZPIHRocmVzaG9sZDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JvbmcgZGF0YSBzaXplIG1hbmFnZW1lbnQgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9RU1BJX1JlY2VpdmVfPHNwYW4gY2xhc3M9ImdyYW1lIj5ETUEoPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1JDQ188c3BhbiBjbGFzcz0iZ3JhbWUiPlBlcmlwaENMS0NvbmZpZyg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG8gYWRqdXN0IHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3lzdGVtQ29yZUNsb2NrPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T3B0aW1pemUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9SQ0NfPHNwYW4gY2xhc3M9ImdyYW1lIj5DbG9ja0NvbmZpZyg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gY29kZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk9wdGltaXplCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcm5hbCBvc2NpbGxhdG9ycyBhbmQgUExMIHN0YXJ0dXAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+dGltZXM8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlJm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9SVENfPHNwYW4gY2xhc3M9ImdyYW1lIj5HZXRUaW1lKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHByb3BlciAnU3ViU2Vjb25kcycgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2Vjb25kRnJhY3Rpb24nIG1hbmFnZW1lbnQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0FJIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0FJIHN0YXRlIGluIGNhc2Ugb2YgVElNRU9VVCBlcnJvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aGluIHRoZSBIQUxfU0FJXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+VHJhbnNtaXQoPC9zcGFuPikgLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1NBSV9SZWNlaXZlKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1NBSV9JUlFIYW5kbGVyOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IgbWFuYWdlbWVudCBpbiBjYXNlIERNQQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMgdGhyb3VnaCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+WGZlckFib3J0Q2FsbGJhY2soPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIEhBTF9ETUFfQWJvcnRfSVQoKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yIG1hbmFnZW1lbnQgaW4gY2FzZSBvZiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+SVQ8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0FJXzxzcGFuIGNsYXNzPSJncmFtZSI+QmxvY2tTeW5jaHJvQ29uZmlnKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgU0FJX0dldElucHV0Q2xvY2soKSBmdW5jdGlvbnMgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0bTMyZjd4eF9oYWxfc2FpLmMvLmggZmlsZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChleHRlbnNpb24gZmlsZXMgYXJlIGtlcHQgZW1wdHkgZm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0cyBjb21wYXRpYmlsaXR5IHJlYXNvbik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BESUZSWCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5PdmVyYWxsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPmRyaXZlcjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSBmb3Igd2FpdCBvbiBmbGFnIG1hbmFnZW1lbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGltaXphdGlvbiA8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUEkgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T3ZlcmFsbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJpdmVyIG9wdGltaXphdGlvbiB0byBpbXByb3ZlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJmb3JtYW5jZSBpbiBwb2xsaW5nL2ludGVycnVwdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSB0byByZWFjaCBtYXhpbXVtIHBlcmlwaGVyYWwgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5mcmVxdWVuY3k8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UG9sbGluZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVwbGFjZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSB1c2Ugb2YgU1BJXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPldhaXRPbkZsYWdVbml0VGltZW91dCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGJ5ICJpZiIgc3RhdGVtZW50IHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2sgb24gUlhORS9UWEUgZmxhZ2Ugd2hpbGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2ZlcnJpbmcgZGF0YTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwO0ludGVycnVwdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5NaW5pbWl6ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY2VzcyBvbiBTUEkgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+cmVnaXN0ZXJzPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BbGwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZXM6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIFVTRV9TUElfQ1JDIHN3aXRjaCB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltaXplIHRoZSBudW1iZXIgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnRzIHdoZW4gQ1JDIGNhbGN1bGF0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgPHNwYW4gY2xhc3M9ImdyYW1lIj5kaXNhYmxlZDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUmbmJzcDt0aW1lb3V0Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2VtZW50IHRvIGNoZWNrIG9uIGdsb2JhbCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5wcm9jZXNzZXM8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IgY29kZSBtYW5hZ2VtZW50IGluIGFsbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3Nlczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgcHJvY2Vzczo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBtYW5hZ2VtZW50IG9mIFNQSSBwZXJpcGhlcmFsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycyBkdXJpbmcgRE1BIHByb2Nlc3MuIFRoaXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXMgdGhlIGZvbGxvd2luZyB1cGRhdGVzIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSB1c2VyIGFwcGxpY2F0aW9uOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNvbmZpZ3VyZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBlbmFibGUgdGhlIFNQSSBJUlEgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfU1BJXzxzcGFuIGNsYXNzPSJncmFtZSI+TXNwSW5pdCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmN3h4X2l0LmMgZmlsZSwgU1BJXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPklSUUhhbmRsZXIoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjogYWRkIGEgY2FsbCB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9TUElfSVJRSGFuZGxlcigpIGZ1bmN0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGN1c3RvbWl6ZSB0aGUgRXJyb3IgQ2FsbGJhY2sKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEk6IEhBTF9TUElfPHNwYW4gY2xhc3M9ImdyYW1lIj5FcnJvckNhbGxiYWNrKDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVmZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byB0aGUgZm9sbG93aW5nIGV4YW1wbGUgd2hpY2gKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmliZSB0aGUgY2hhbmdlczoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfRnVsbER1cGxleF9Db21ETUE8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1RJTV88c3BhbiBjbGFzcz0iZ3JhbWUiPkNvbmZpZ09DcmVmQ2xlYXIoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGZvciBwcm9wZXIgY29uZmlndXJhdGlvbiBvZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIFNNQ1IgcmVnaXN0ZXI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgZnVuY3Rpb24gSEFMX1RJTUV4XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+Q29uZmlnQnJlYWtJbnB1dCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gY29uZmlndXJlIHRoZSBicmVhayBpbnB1dCBzb3VyY2U8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUFSVCwgVVNBUlQsIFNNQVJUQ0FSRCBhbmQgSVJEQSA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KHJlZmVyZW5jZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcyA8aT5QUFA8L2k+IGhlcmUgYmVsb3cpPGk+IDwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj51cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+IDwvc3Bhbj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2I+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvbGxpbmcgbWFuYWdlbWVudDo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UaGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlciBUaW1lb3V0IHZhbHVlJm5ic3A7bXVzdCBiZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlc3RpbWF0ZWQgZm9yIHRoZSBvdmVyYWxsIHByb2Nlc3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDxzcGFuIGNsYXNzPSJncmFtZSI+dGhlPC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaW1lb3V0IG1lYXN1cmVtZW50IGlzIGN1bXVsYXRpdmU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQSBwcm9jZXNzOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBtYW5hZ2VtZW50IG9mIFBQUCBwZXJpcGhlcmFsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycyBkdXJpbmcgRE1BIHByb2Nlc3MuIFRoaXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXMgdGhlIGZvbGxvd2luZyB1cGRhdGVzIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXIgYXBwbGljYXRpb246PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q29uZmlndXJlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGVuYWJsZSB0aGUgUFBQIElSUSBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9QUFBfPHNwYW4gY2xhc3M9ImdyYW1lIj5Nc3BJbml0KDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG0zMmY3eHhfaXQuYyBmaWxlLCBQUFBfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+SVJRSGFuZGxlcig8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uOiBhZGQgYSBjYWxsIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1BQUF9JUlFIYW5kbGVyKCkgZnVuY3Rpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgY3VzdG9taXplIHRoZSBFcnJvciBDYWxsYmFjawotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSTogSEFMX1BQUF88c3BhbiBjbGFzcz0iZ3JhbWUiPkVycm9yQ2FsbGJhY2soPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV1dERyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlJm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5PdmVyYWxsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXdvcmsgb2YgdGhlIGRyaXZlciBmb3IgbW9yZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWZmaWNpZW50IGltcGxlbWVudGF0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtb3ZlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBmb2xsb3dpbmcgQVBJczo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfV1dER188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5TdGFydCg8L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9XV0RHX1N0YXJ0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPklUKDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1dXREdfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+TXNwRGVJbml0KDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1dXREdfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+R2V0U3RhdGUoPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbXBsZW1lbnRhdGlvbjo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfV1dER188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5Jbml0KDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QSZuYnNwO25ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyIGluIHRoZSBJbml0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmU6Jm5ic3A7RVdJTW9kZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9XV0RHXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPk1zcEluaXQoPC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfV1dER188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5SZWZyZXNoKDwvc3Bhbj4pJm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VGhpcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gaW5zdXJlcyB0aGUgcmVsb2FkIG9mCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgPHNwYW4gY2xhc3M9ImdyYW1lIj5jb3VudGVyPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY291bnRlciIgcGFyYW1ldGVyIGhhcyBiZWVuIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+cmVtb3ZlZDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfV1dER188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5JUlFIYW5kbGVyKDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1dXREdfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+RWFybHlXYWtldXBDYWxsYmFjayg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzIHRoZSBuZXcgcHJvdG90eXBlIG9mCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1dXREdfV2FrZXVwQ2FsbGJhY2soKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZWZlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gdGhlIGZvbGxvd2luZyBleGFtcGxlIHRvIGlkZW50aWZ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY2hhbmdlczogV1dER188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkV4YW1wbGU8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlOyI+VjEuMC40IC8gMDktRGVjZW1iZXItMjAxNTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2gzPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwaW4gNC41cHQgMC4yNWluOyI+PGI+PHU+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrOyI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZW5lcmljIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMIHdlYWsgZW1wdHkgY2FsbGJhY2tzIHRvIHByZXZlbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZCBhcmd1bWVudCBjb21waWxhdGlvbiB3YXJuaW5ncwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBzb21lIGNvbXBpbGVycyBieSBjYWxsaW5nIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIGxpbmU6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VU5VU0VEKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmhwcHApOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9FVEhfPHNwYW4gY2xhc3M9ImdyYW1lIj5Jbml0KDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0byBhZGQgdGltZW91dCBvbiB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvZnR3YXJlIHJlc2V0IG1hbmFnZW1lbnQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAtbW96LWluaXRpYWw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGU7Ij5WMS4wLjMgLyAxMy1Ob3ZlbWJlci0yMDE1PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvaDM+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDBpbiA0LjVwdCAwLjI1aW47Ij48Yj48dT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7Ij5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdlbmVyYWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVzIHRvIGZpeCBrbm93biBkZWZlY3RzIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuaGFuY2VtZW50cyA8c3BhbiBjbGFzcz0iZ3JhbWUiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T25lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2UgZG9uZSBvbiB0aGUgSEFMIENSWVAgcmVxdWlyZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuIHVwZGF0ZSBvbiB0aGUgYXBwbGljYXRpb24gY29kZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZWQgb24gSEFMIFYxLjAuMjwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9DUllQX0RFU0VDQl88c3BhbiBjbGFzcz0iZ3JhbWUiPkRlY3J5cHQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byBpbnZlcnQgcFBsYWluRGF0YSBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBDeXBoZXJEYXRhIHBhcmFtZXRlcnM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2VuZXJpYyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTCB3ZWFrIGVtcHR5IGNhbGxiYWNrcyB0byBwcmV2ZW50Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnVzZWQgYXJndW1lbnQgY29tcGlsYXRpb24gd2FybmluZ3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggc29tZSBjb21waWxlcnMgYnkgY2FsbGluZyB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyBsaW5lOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVOVVNFRCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ocHBwKTs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW1vdmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZXMgdG8gU1RNMzJDdWJlTVggYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaWNyb1hwbG9yZXIgZnJvbQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmN3h4X2hhbF9tc3BfdGVtcGxhdGUuYyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPmZpbGU8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZXBsYWNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ0hBTk5FTF9URU1QU0VOU09SIGRlZmluaXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gQURDX0NIQU5ORUxfMTYgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DSEFOTkVMXzE4ICZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTCBBREMgZHJpdmVyIHN0YXRlIG1hY2hpbmUgZm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlIGVmZmljaWVuY3k8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBsaXRlcmFsOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0lOSkVDVEVEX1NPRlRXQVJFX1NUQVJUIHRvIGJlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VkIGFzIHBvc3NpYmxlIHZhbHVlIGZvciB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4dGVybmFsVHJpZ0luamVjQ29udkVkZ2UgcGFyYW1ldGVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgQURDX0luaXRUeXBlRGVmIHN0cnVjdHVyZSB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0IHRoZSBBREMgc29mdHdhcmUgdHJpZ2dlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZS48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDT1JURVggPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVwbGljYXRpb24gZm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9DT1JURVhfU1lTVElDS0NMS188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkNPTkZJRyg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm88L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDUllQIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0NSWVBfREVTRUNCXzxzcGFuIGNsYXNzPSJncmFtZSI+RGVjcnlwdCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGZpeCB0aGUgaW52ZXJ0ZWQgcFBsYWluRGF0YQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHBDeXBoZXJEYXRhIHBhcmFtZXRlcnMgaXNzdWUgPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT0JfSVdER19TVE9QX0FDVElWRSBkZWZpbml0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT0JfUkRQX0xFVkVMX3ggZGVmaW5pdGlvbiBieSBwcm9wZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfPHNwYW4gY2xhc3M9ImdyYW1lIj5NYXNzRXJhc2UoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIGNvbnNpZGVyIHRoZSB2b2x0YWdlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYW5nZSBwYXJhbWV0ZXIgaW4gdGhlIG1hc3MgZXJhc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzIGZvciBMU0UgRHJpdmUgY2FwYWJpbGl0eSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPmRlZmluZXM8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUExMTiBtaW4gdmFsdWUgNTAgaW5zdGVhZCBvZiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjEwMDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+YWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfUExMSTJTUF9ESVZ4IGRlZmluZXMgZm9yIFBMTEkyU1AKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb2NrIDxzcGFuIGNsYXNzPSJncmFtZSI+ZGl2aWRlcjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9SQ0NfVVNCX09UR19GU19DTEtfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5ESVNBQkxFKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyB0byByZW1vdmUgdGhlIGRpc2FibGUgb2YgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTWVNDRkcmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9SQ0NFeF88c3BhbiBjbGFzcz0iZ3JhbWUiPkdldFBlcmlwaENMS0ZyZXEoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGZvciBwcm9wZXIgU0FJIGNsb2NrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0FJIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHByb3BlciBtYW5hZ2VtZW50IG9mIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZXJuYWwgc3luY2hyb25pemF0aW9uIGlucHV0IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+c2VsZWN0aW9uPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiZuYnNwO0hBTF9TQUlfSW5pdCAoKSBmdW5jaXRvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5pdGlvbiBvZiBTQUlfQmxvY2tfU3luY0V4dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgU0FJX0Jsb2NrX1N5bmNocm9uaXphdGlvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cHM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSV9TTE9UQUNUSVZFXzxzcGFuIGNsYXNzPSJncmFtZSI+WAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDtkZWZpbmVzPC9zcGFuPiB2YWx1ZXM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlJm5ic3A7SEFMX1NBSV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkluaXQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGZvciBwcm9wZXIgY29tcGFuZGluZyBtb2RlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2VtZW50PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQUlfVHJhbnNtaXRfPHNwYW4gY2xhc3M9ImdyYW1lIj5JVHh4Qml0KDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnMgdG8gYWRkIHRoZSBjaGVjayBvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmZXIgY291bnRlciBiZWZvcmUgd3JpdGluZyBuZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgdG8gU0FJeF9EUiByZWdpc3RlcnM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQUlfPHNwYW4gY2xhc3M9ImdyYW1lIj5GaWxsRmlmbyg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG8gYXZvaWQgaXNzdWUgd2hlbiB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlciBvZiBkYXRhIHRvIHRyYW5zbWl0IGlzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbWFsbGVyIHRoYW4gdGhlIEZJRk8gc2l6ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9TQUlfPHNwYW4gY2xhc3M9ImdyYW1lIj5FbmFibGVSeE11dGVNb2RlKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBmb3IgcHJvcGVyIG11dGUgbWFuYWdlbWVudDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSV88c3BhbiBjbGFzcz0iZ3JhbWUiPkluaXRQQ00oPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIHN1cHBvcnQgMjRiaXRzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0QgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfU0RfR2V0XzxzcGFuIGNsYXNzPSJncmFtZSI+Q2FyZEluZm8oPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHByb3Blcmx5IHN1cHBvcnQgaGlnaCBjYXBhY2l0eQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FyZHM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUERJRlJYIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BESUZSWF88c3BhbiBjbGFzcz0iZ3JhbWUiPkRNQVJ4Q3BsdCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvJm5ic3A7Y2hlY2sgb24gY2lyY3VsYXIgbW9kZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlIGRpc2FibGluZyB0aGUgRE1BPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTSA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9USU1fPHNwYW4gY2xhc3M9ImdyYW1lIj5Db25maWdDbG9ja1NvdXJjZSg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24gZm9yIHByb3BlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVycyBjaGVjazwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQVJUPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfVUFSVF9DTEVBUl9JVCBtYWNybyBmb3IgcHJvcGVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbm5pbmcmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmxsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUM8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+YWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfUEFHRV9TSVpFXzUxMiBkZWZpbmU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmxsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRE1NQzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNETU1DXzxzcGFuIGNsYXNzPSJncmFtZSI+U2V0U0RNTUNSZWFkV2FpdE1vZGUoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGZvciBwcm9wZXIgZnVuY3Rpb25uaW5nPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlOyI+VjEuMC4yIC8gMjEtU2VwdGVtYmVyLTIwMTU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9oMz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMGluIDQuNXB0IDAuMjVpbjsiPjxiPjx1PjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjazsiPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2VuZXJpYyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zdG0zMmY3eHhfaGFsLmNvbmZfdGVtcGxhdGUuaDoKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlJm5ic3A7SFNFX1NUQVJUVVBfVElNRU9VVDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zdG0zMmY3eHhfaGFsX2RlZi5oOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlIHRoZSBxdW90YXRpb24gbWFya3MgdXNlZCBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2Vycm9yIlVTRV9SVE9TIHNob3VsZCBiZSAwIGluIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBIQUwgPHNwYW4gY2xhc3M9ImdyYW1lIj5yZWxlYXNlPC9zcGFuPiI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk92ZXJhbGwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+ZHJpdmVyPC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlIGZvciBjb2RlIG9wdGltaXphdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJlYW1CYXNlQWRkcmVzcyBhbmQgU3RyZWFtSW5kZXgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IGZpZWxkcyBpbiB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5hZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0Jhc2VfUmVnaXN0ZXJzIHByaXZhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPnN0cnVjdHVyZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWMgZnVuY3Rpb24gRE1BXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5DYWxjQmFzZUFuZEJpdHNoaWZ0KDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0RNQV88c3BhbiBjbGFzcz0iZ3JhbWUiPkluaXQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG8gdXNlIHRoZSBuZXcgYWRkZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljIGZ1bmN0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0RNQV88c3BhbiBjbGFzcz0iZ3JhbWUiPkRlSW5pdCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0byBvcHRpbWl6ZSBjbGVhciBmbGFnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbnM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRE1BX1N0YXJ0XzxzcGFuIGNsYXNzPSJncmFtZSI+SVQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG8gb3B0aW1pemUgaW50ZXJydXB0cwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRE1BXzxzcGFuIGNsYXNzPSJncmFtZSI+UG9sbEZvclRyYW5zZmVyKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIG9wdGltaXplIGNoZWNrIG9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdzPC9zcGFuPjxzcGFuIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0RNQV88c3BhbiBjbGFzcz0iZ3JhbWUiPklSUUhhbmRsZXIoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG8gb3B0aW1pemUgaW50ZXJydXB0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWcgbWFuYWdlbWVudDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSCZuYnNwOzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnJlbW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVwbGljYXRlZCBtYWNybyBJU19FVEhfUlhfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5NT0RFKDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU8gPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX1NQRUVEX0xPVyBkZWZpbmUgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fU1BFRURfRlJFUV9MT1c8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19TUEVFRF9NRURJVU0gZGVmaW5lIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX1NQRUVEX0ZSRVFfTUVESVVNPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fU1BFRURfRkFTVCBkZWZpbmUgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fU1BFRURfRlJFUV9ISUdIPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fU1BFRURfSElHSCBkZWZpbmUgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fU1BFRURfRlJFUV9WRVJZX0hJR0g8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFTSCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9IQVNIX1NUQVRFVHlwZURlZiB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0hBU0hfU3RhdGVUeXBlRGVmPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9IQVNIX1BoYXNlVHlwZURlZiB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0hBU0hQaGFzZVR5cGVEZWY8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzIGZvciBMU0UgRHJpdmUgY2FwYWJpbGl0eSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPmRlZmluZXM8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUExMTi9QTExJMlNOL1BMTFNBSSBWQ08gbWluIHZhbHVlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDBNSHogaW5zdGVhZCBvZiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjE5Mk1Iejwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+YWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9SQ0NfTUNPMV88c3BhbiBjbGFzcz0iZ3JhbWUiPkNPTkZJRyg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIF9fSEFMX1JDQ19NQ08yX0NPTkZJRygpIG1hY3Jvczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9SQ0NFeF88c3BhbiBjbGFzcz0iZ3JhbWUiPlBlcmlwaENMS0NvbmZpZyg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG8gcmVzZXQgdGhlIEJhY2t1cCBkb21haW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgaWYgdGhlIFJUQyBDbG9jayBzb3VyY2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbiBpcyBtb2RpZmllZCZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSU08L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgaW1wbGVtZW50YXRpb24gb2YgX19IQUxfVElNX1NFVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkNPTVBBUkUoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+cmVtb3ZlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VsZXNzIDxzcGFuIGNsYXNzPSJncmFtZSI+YXNzZXJ0KDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiZuYnNwO0hBTF9USU1fUFdNX0NvbmZpZ0NoYW5uZWwoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9PQzJfU2V0Q29uZmlnKCkgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfVElNX1BXTV9Db25maWdDaGFubmVsKCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENBTjwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5hZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbGVhciBmbGFnIEVSUkkgYml0IGluIEhBTF9DQU5fPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5JUlFIYW5kbGVyKDwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyUzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyUyBIQUxfSTJTXzxzcGFuIGNsYXNzPSJncmFtZSI+VHJhbnNtaXQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSZuYnNwO3RvIGtlZXAgdGhlIGNoZWNrIG9uIGJ1c3kKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWcgb25seSBmb3IgdGhlIHNsYXZlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFTUEk8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9RU1BJX0NMRUFSXzxzcGFuIGNsYXNzPSJncmFtZSI+RkxBRyg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlIFFTUElfQ29uZmlnKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUFSVDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW1vdmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsaW5nIG9mIEVSUiBJVCBzb3VyY2UgYW5kIFBFCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UgZnJvbSBIQUxfVUFSVF9UcmFuc21pdF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPklUKDwvc3Bhbj4pIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIGRpc2FibGluZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVJSL1BFIElUIGZyb20gVUFSVF9FbmRUcmFuc21pdF9JVCgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDRDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU8L3NwYW4+PGI+PHNwYW4gc3R5bGU9IiI+Jm5ic3A7PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q2xlYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cyBwaGFzZSByZWNlaXZlZCBpbnRlcnJ1cHQgd2hlbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BIG1vZGUgPHNwYW4gY2xhc3M9ImdyYW1lIj5lbmFibGVkPC9zcGFuPiZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQ0QgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byB1c2UgbG9jYWwgdmFyaWFibGUgaW4gVVNCIEhvc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5uZWwgcmUtPHNwYW4gY2xhc3M9ImdyYW1lIj5hY3RpdmF0aW9uPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+bGwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZpbmUgRk1DIFdyaXRlIEZJRk8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpc2FibGUvRW5hYmxlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX1dSSVRFX0ZJRk9fRElTQUJMRSBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19XUklURV9GSUZPX0VOQUJMRTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5yZW1vdmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBIQUxfRVJST1IgZnJvbSBGTUNfU0RSQU1fPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5TZW5kQ29tbWFuZCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZTsiPlYxLjAuMSAvIDI1LUp1bmUtMjAxNTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2gzPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwaW4gNC41cHQgMC4yNWluOyI+PGI+PHU+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrOyI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZW5lcmFsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlcyB0byBmaXgga25vd24gZGVmZWN0cyBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmhhbmNlbWVudHMgPHNwYW4gY2xhc3M9ImdyYW1lIj5pbXBsZW1lbnRhdGlvbjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1JDJm5ic3A7PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9DUkNfU0VUXzxzcGFuIGNsYXNzPSJncmFtZSI+SURSKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyBpbXBsZW1lbnRhdGlvbiB0byB1c2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdSSVRFX1JFRygpIGluc3RlYWQgb2YgTU9ESUZZX1JFRygpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENFQyZuYnNwOzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dCBtYW5hZ2VtZW50IGluIEhBTF9DRUNfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5UcmFuc21pdCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIEhBTF9DRUNfUmVjZWl2ZSgpIGZ1bmN0aW9uczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb3J0ZXggPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfTVBVXzxzcGFuIGNsYXNzPSJncmFtZSI+Q29uZmlnUmVnaW9uKDwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0byBiZSBtaXNyYSBjb21wbGlhbnQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVwbGljYXRlZCBJU19FVEhfRFVQTEVYXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+TU9ERSg8L3NwYW4+KSBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTX0VUSF9SWF9NT0RFKCkgbWFjcm9zPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWxsZWdhbCBzcGFjZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX01BQ19SRUFEQ09OVFJPTExFUl9GTFVTSElORwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm88L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSF9NQUNfUkVBRENPTlRST0xMRVJfWFhYIGRlZmluZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcyAoWFhYIGNhbiBiZSBJRExFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkVBRElOR19EQVRBIGFuZCBSRUFESU5HX1NUQVRVUyk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0ggPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9PQl88c3BhbiBjbGFzcz0iZ3JhbWUiPkdldFJEUCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG8gcmV0dXJuIHVpbnQ4X3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwO2luc3RlYWQgb2YgRmxhZ1N0YXR1czwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9CX1JEUF9MRVZFTHggZGVmaW5pdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5hZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX0ZMQVNIX0dFVF88c3BhbiBjbGFzcz0iZ3JhbWUiPkxBVEVOQ1koPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFTSCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBU0hfPHNwYW4gY2xhc3M9ImdyYW1lIj5ETUFYZmVyQ3BsdCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIEhBU0hFeF9ETUFYZmVyQ3BsdCgpIGZ1bmN0aW9ucwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gcHJvcGVybHkgY29uZmlndXJlIHRoZSBudW1iZXIgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkIGJpdHMgaW4gbGFzdCB3b3JkIG9mIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0hBU0hfU0hBMV88c3BhbiBjbGFzcz0iZ3JhbWUiPkFjY3VtdWxhdGUoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIGNoZWNrIG9uIHRoZSBsZW5ndGggb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBpbnB1dCBidWZmZXI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSEFTSF88Yj48aT5NT0RFPC9pPjwvYj5fU3RhcnRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5JVCg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zICg8Yj48aT5Nb2RlIDwvaT48L2I+c3RhbmRzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgTUQ1LCBTSEExLCBTSEEyMjQgYW5kIFNIQTI1NjxiPjxpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+PC9iPikgdG8gOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzaW5nIGZhaWwgZm9yIHNtYWxsIGlucHV0IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5idWZmZXJzPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sb2NrIHRoZSBwcm9jZXNzIGFuZCBjYWxsIHJldHVybgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfT0sgYXQgdGhlIGVuZCBvZiBIQVNICi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NpbmcgdG8gYXZvaWQgaW5jb3JyZWN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcGVhdGluZyA8c3BhbiBjbGFzcz0iZ3JhbWUiPnNvZnR3YXJlPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+cHJvcGVybHkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gbWFuYWdlIHRoZSBIYXNoSVRDb3VudGVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVmZmljaWVuY3kgPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBjYWxsIHRoZSBIQUxfSEFTSF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+SW5DcGx0Q2FsbGJhY2soPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXQgdGhlIGVuZCBvZiB0aGUgY29tcGxldGUgYnVmZmVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2YgZXZlcnkgZWFjaCA1MTIgYml0cyA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBU0hfSVRfRElOSSBhbmQgSEFTSF9JVF9EQ0kKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX0hBU0hfR0VUXzxzcGFuIGNsYXNzPSJncmFtZSI+RkxBRyg8L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8gZGVmaW5pdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMlMgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJTXzxzcGFuIGNsYXNzPSJncmFtZSI+VHJhbnNtaXQoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIGVuc3VyZSB0aGUgd2FpdGluZyBvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnVzeSBmbGFnIGluIGNhc2Ugb2Ygc2xhdmUgbW9kZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1JUQ0V4XzxzcGFuIGNsYXNzPSJncmFtZSI+U2V0V2FrZVVwVGltZXIoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBIQUxfUlRDRXhfU2V0V2FrZVVwVGltZXJfSVQoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zIHRvIHByb3Blcmx5IGNoZWNrIG9uIFdVVFdGCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+cmVuYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVElNRVNUQU1QUElOX1BJOCBkZWZpbmUgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19USU1FU1RBTVBQSU5fUE9TMTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5yZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19USU1FU1RBTVBQSU5fUEMxIGRlZmluZSB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX1RJTUVTVEFNUFBJTl9QT1MyPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0NMRUFSXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+RkxBRyg8L3NwYW4+KSBtYWNybwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5pdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUlRDX1RBTVBFUl9HRVRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5JVCg8L3NwYW4+KSBtYWNybwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5pdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUlRDX1RBTVBFUl9DTEVBUl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkZMQUcoPC9zcGFuPikgbWFjcm8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JUQ19USU1FU1RBTVBfQ0xFQVJfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj5GTEFHKDwvc3Bhbj4pIG1hY3JvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbml0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0dFVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkZMQUcoPC9zcGFuPikgbWFjcm8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5hZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19UQU1QQ1JfVEFNUFhFIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX1RBTVBDUl9UQU1QWElFIGRlZmluZXM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01BUlRDQVJEIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01BUlRDQVJEX0ZMQUdfSURMRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNQVJUQ0FSRF9JVF9JRExFIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+YW5kJm5ic3A7IFNNQVJUQ0FSRDwvc3Bhbj5fQ0xFQVJfSURMRUYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZXM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQVJUIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1VBUlRfPHNwYW4gY2xhc3M9ImdyYW1lIj5ETUFSZXN1bWUoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIGNsZWFyIG92ZXJydW4gZmxhZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlIHJlc3VtaW5nIHRoZSBSeCB0cmFuc2Zlcjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVBUlRfRkxBR19TQktGIGRlZmluaXRpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlQgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfVVNBUlRfPHNwYW4gY2xhc3M9ImdyYW1lIj5ETUFSZXN1bWUoPC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIGNsZWFyIG92ZXJydW4gZmxhZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlIHJlc3VtaW5nIHRoZSBSeCB0cmFuc2Zlcjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TEwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5BTkQgdGltaW5nIG1heGltdW0gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj52YWx1ZXM8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VU0JfRmx1c2hUeEZpZm8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSTogdXBkYXRlIHRvIGZsdXNoIGFsbCBUeCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPkZJRk88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHVzZSBsb2NhbCB2YXJpYWJsZSBpbiBVU0IgSG9zdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbm5lbCByZS08c3BhbiBjbGFzcz0iZ3JhbWUiPmFjdGl2YXRpb248L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlOyI+VjEuMC4wIC8gMTItTWF5LTIwMTU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9oMz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMGluIDQuNXB0IDAuMjVpbjsiPjxiPjx1PjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjazsiPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rmlyc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZpY2lhbCByZWxlYXNlIGZvcjxiPjxpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVE0zMkY3NTZ4eC83NDZ4eC83NDV4eDwvaT48L2I+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAtbW96LWluaXRpYWw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otaW5pdGlhbDsiPjxhIG5hbWU9IkxpY2Vuc2UiPjwvYT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMnB0OyBjb2xvcjogd2hpdGU7Ij5MaWNlbnNlPG86cD48L286cD48L3NwYW4+PC9oMj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0idGV4dC1hbGlnbjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVkaXN0cmlidXRpb24KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZSBtZXQ6PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJ0ZXh0LWFsaWduOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZWRpc3RyaWJ1dGlvbnMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzY2xhaW1lci48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0idGV4dC1hbGlnbjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVkaXN0cmlidXRpb25zCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdHJpYnV0aW9uLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJ0ZXh0LWFsaWduOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5OZWl0aGVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIG5hbWUgb2YgU1RNaWNyb2VsZWN0cm9uaWNzIG5vciB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9InRleHQtYWxpZ246Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOwotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxicj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5USElTCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJ0ZXh0LWFsaWduOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyOyIgYWxpZ249ImNlbnRlciI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiBibGFjazsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aHIgc2l6ZT0iMSIgYWxpZ249ImNlbnRlciIgd2lkdGg9IjEwMCUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwaW4gNC41cHQgMC4yNWluOyB0ZXh0LWFsaWduOiBjZW50ZXI7IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ249ImNlbnRlciI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBwdDsgZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsYWNrOyI+Rm9yIGNvbXBsZXRlIGRvY3VtZW50YXRpb24gb24gPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TVE0zMjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiBibGFjazsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1pY3JvY29udHJvbGxlcnMgdmlzaXQgPC9zcGFuPjx1PjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IGJsdWU7Ij48YQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vd3d3LnN0LmNvbS9pbnRlcm5ldC9tY3UvZmFtaWx5LzE0MS5qc3AiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIj53d3cuc3QuY29tL1NUTTMyPC9hPjwvc3Bhbj48L3U+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgotICAgICAgICAgICAgICAgICAgICAgICAgPHRyIHN0eWxlPSIiPgotICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9InBhZGRpbmc6IDBpbjsiIHZhbGlnbj0idG9wIj48YnI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgotICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+Ci0gICAgICAgICAgICAgICAgICAgIDwvdGFibGU+Ci0gICAgICAgICAgICAgICAgICA8L3RkPgotICAgICAgICAgICAgICAgIDwvdHI+Ci0gICAgICAgICAgICAgIDwvdGJvZHk+Ci0gICAgICAgICAgICA8L3RhYmxlPgotICAgICAgICAgIDwvZGl2PgotICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSIiIGxhbmc9IkZSIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+Ci0gICAgICAgIDwvZGl2PgotICAgICAgPC9kaXY+Ci0gICAgPC9kaXY+Ci0gIDwvYm9keT4KLTwvaHRtbD4KKzxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGNvbG9yOiBibGFjazsiPjwvc3Bhbj4KKzxkaXYgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiIGFsaWduPSJjZW50ZXIiPjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij4KKzxociBhbGlnbj0iY2VudGVyIiBzaXplPSIyIiB3aWR0aD0iMTAwJSI+PC9zcGFuPjwvZGl2PgorPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluIDQuNXB0IDAuMjVpbjsgdGV4dC1hbGlnbjogY2VudGVyOyIgYWxpZ249ImNlbnRlciI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgY29sb3I6IGJsYWNrOyI+Rm9yCitjb21wbGV0ZSBkb2N1bWVudGF0aW9uIG9uIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyI+U1RNMzI8c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+IE1pY3JvY29udHJvbGxlcnMgdmlzaXQgPC9zcGFuPjx1PjxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPjxhIGhyZWY9Imh0dHA6Ly93d3cuc3QuY29tL2ludGVybmV0L21jdS9mYW1pbHkvMTQxLmpzcCIgdGFyZ2V0PSJfYmxhbmsiPnd3dy5zdC5jb20vU1RNMzI8L2E+PC9zcGFuPjwvdT48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KKzwvdGQ+Cis8L3RyPgorPHRyPjx0ZCBzdHlsZT0icGFkZGluZzogMGluOyIgdmFsaWduPSJ0b3AiPjxicj4KKzwvdGQ+PC90cj48L3Rib2R5PgorPC90YWJsZT4KKzxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+Cis8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorPC9kaXY+Cis8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4KKzwvZGl2PgorPC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9TcmMvTGVnYWN5L3N0bTMyZjd4eF9oYWxfZXRoLmMgYi9TcmMvTGVnYWN5L3N0bTMyZjd4eF9oYWxfZXRoLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTBkYjQyZQotLS0gL2Rldi9udWxsCisrKyBiL1NyYy9MZWdhY3kvc3RtMzJmN3h4X2hhbF9ldGguYwpAQCAtMCwwICsxLDIyODkgQEAKKy8qKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAZmlsZSAgICBzdG0zMmY3eHhfaGFsX2V0aC5jCisgICogQGF1dGhvciAgTUNEIEFwcGxpY2F0aW9uIFRlYW0KKyAgKiBAYnJpZWYgICBFVEggSEFMIG1vZHVsZSBkcml2ZXIuCisgICogICAgICAgICAgVGhpcyBmaWxlIHByb3ZpZGVzIGZpcm13YXJlIGZ1bmN0aW9ucyB0byBtYW5hZ2UgdGhlIGZvbGxvd2luZworICAqICAgICAgICAgIGZ1bmN0aW9uYWxpdGllcyBvZiB0aGUgRXRoZXJuZXQgKEVUSCkgcGVyaXBoZXJhbDoKKyAgKiAgICAgICAgICAgKyBJbml0aWFsaXphdGlvbiBhbmQgZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zCisgICogICAgICAgICAgICsgSU8gb3BlcmF0aW9uIGZ1bmN0aW9ucworICAqICAgICAgICAgICArIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMKKyAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIFN0YXRlIGFuZCBFcnJvcnMgZnVuY3Rpb25zCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICBAdmVyYmF0aW0KKyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIgIyMjIyMKKyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgICAgWy4uXQorICAgICAgKCMpRGVjbGFyZSBhIEVUSF9IYW5kbGVUeXBlRGVmIGhhbmRsZSBzdHJ1Y3R1cmUsIGZvciBleGFtcGxlOgorICAgICAgICAgRVRIX0hhbmRsZVR5cGVEZWYgIGhldGg7CisKKyAgICAgICgjKUZpbGwgcGFyYW1ldGVycyBvZiBJbml0IHN0cnVjdHVyZSBpbiBoZXRoIGhhbmRsZQorCisgICAgICAoIylDYWxsIEhBTF9FVEhfSW5pdCgpIEFQSSB0byBpbml0aWFsaXplIHRoZSBFdGhlcm5ldCBwZXJpcGhlcmFsIChNQUMsIERNQSwgLi4uKQorCisgICAgICAoIylJbml0aWFsaXplIHRoZSBFVEggbG93IGxldmVsIHJlc291cmNlcyB0aHJvdWdoIHRoZSBIQUxfRVRIX01zcEluaXQoKSBBUEk6CisgICAgICAgICAgKCMjKSBFbmFibGUgdGhlIEV0aGVybmV0IGludGVyZmFjZSBjbG9jayB1c2luZworICAgICAgICAgICAgICAgKCsrKykgX19IQUxfUkNDX0VUSE1BQ19DTEtfRU5BQkxFKCk7CisgICAgICAgICAgICAgICAoKysrKSBfX0hBTF9SQ0NfRVRITUFDVFhfQ0xLX0VOQUJMRSgpOworICAgICAgICAgICAgICAgKCsrKykgX19IQUxfUkNDX0VUSE1BQ1JYX0NMS19FTkFCTEUoKTsKKworICAgICAgICAgICgjIykgSW5pdGlhbGl6ZSB0aGUgcmVsYXRlZCBHUElPIGNsb2NrcworICAgICAgICAgICgjIykgQ29uZmlndXJlIEV0aGVybmV0IHBpbi1vdXQKKyAgICAgICAgICAoIyMpIENvbmZpZ3VyZSBFdGhlcm5ldCBOVklDIGludGVycnVwdCAoSVQgbW9kZSkKKworICAgICAgKCMpSW5pdGlhbGl6ZSBFdGhlcm5ldCBETUEgRGVzY3JpcHRvcnMgaW4gY2hhaW4gbW9kZSBhbmQgcG9pbnQgdG8gYWxsb2NhdGVkIGJ1ZmZlcnM6CisgICAgICAgICAgKCMjKSBIQUxfRVRIX0RNQVR4RGVzY0xpc3RJbml0KCk7IGZvciBUcmFuc21pc3Npb24gcHJvY2VzcworICAgICAgICAgICgjIykgSEFMX0VUSF9ETUFSeERlc2NMaXN0SW5pdCgpOyBmb3IgUmVjZXB0aW9uIHByb2Nlc3MKKworICAgICAgKCMpRW5hYmxlIE1BQyBhbmQgRE1BIHRyYW5zbWlzc2lvbiBhbmQgcmVjZXB0aW9uOgorICAgICAgICAgICgjIykgSEFMX0VUSF9TdGFydCgpOworCisgICAgICAoIylQcmVwYXJlIEVUSCBETUEgVFggRGVzY3JpcHRvcnMgYW5kIGdpdmUgdGhlIGhhbmQgdG8gRVRIIERNQSB0byB0cmFuc2ZlcgorICAgICAgICAgdGhlIGZyYW1lIHRvIE1BQyBUWCBGSUZPOgorICAgICAgICAgKCMjKSBIQUxfRVRIX1RyYW5zbWl0RnJhbWUoKTsKKworICAgICAgKCMpUG9sbCBmb3IgYSByZWNlaXZlZCBmcmFtZSBpbiBFVEggUlggRE1BIERlc2NyaXB0b3JzIGFuZCBnZXQgcmVjZWl2ZWQKKyAgICAgICAgIGZyYW1lIHBhcmFtZXRlcnMKKyAgICAgICAgICgjIykgSEFMX0VUSF9HZXRSZWNlaXZlZEZyYW1lKCk7IChzaG91bGQgYmUgY2FsbGVkIGludG8gYW4gaW5maW5pdGUgbG9vcCkKKworICAgICAgKCMpIEdldCBhIHJlY2VpdmVkIGZyYW1lIHdoZW4gYW4gRVRIIFJYIGludGVycnVwdCBvY2N1cnM6CisgICAgICAgICAoIyMpIEhBTF9FVEhfR2V0UmVjZWl2ZWRGcmFtZV9JVCgpOyAoY2FsbGVkIGluIElUIG1vZGUgb25seSkKKworICAgICAgKCMpIENvbW11bmljYXRlIHdpdGggZXh0ZXJuYWwgUEhZIGRldmljZToKKyAgICAgICAgICgjIykgUmVhZCBhIHNwZWNpZmljIHJlZ2lzdGVyIGZyb20gdGhlIFBIWQorICAgICAgICAgICAgICBIQUxfRVRIX1JlYWRQSFlSZWdpc3RlcigpOworICAgICAgICAgKCMjKSBXcml0ZSBkYXRhIHRvIGEgc3BlY2lmaWMgUkhZIHJlZ2lzdGVyOgorICAgICAgICAgICAgICBIQUxfRVRIX1dyaXRlUEhZUmVnaXN0ZXIoKTsKKworICAgICAgKCMpIENvbmZpZ3VyZSB0aGUgRXRoZXJuZXQgTUFDIGFmdGVyIEVUSCBwZXJpcGhlcmFsIGluaXRpYWxpemF0aW9uCisgICAgICAgICAgSEFMX0VUSF9Db25maWdNQUMoKTsgYWxsIE1BQyBwYXJhbWV0ZXJzIHNob3VsZCBiZSBmaWxsZWQuCisKKyAgICAgICgjKSBDb25maWd1cmUgdGhlIEV0aGVybmV0IERNQSBhZnRlciBFVEggcGVyaXBoZXJhbCBpbml0aWFsaXphdGlvbgorICAgICAgICAgIEhBTF9FVEhfQ29uZmlnRE1BKCk7IGFsbCBETUEgcGFyYW1ldGVycyBzaG91bGQgYmUgZmlsbGVkLgorCisqKiogQ2FsbGJhY2sgcmVnaXN0cmF0aW9uICoqKgorICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworICBUaGUgY29tcGlsYXRpb24gZGVmaW5lICBVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1Mgd2hlbiBzZXQgdG8gMQorICBhbGxvd3MgdGhlIHVzZXIgdG8gY29uZmlndXJlIGR5bmFtaWNhbGx5IHRoZSBkcml2ZXIgY2FsbGJhY2tzLgorICBVc2UgRnVuY3Rpb24gQHJlZiBIQUxfRVRIX1JlZ2lzdGVyQ2FsbGJhY2soKSB0byByZWdpc3RlciBhbiBpbnRlcnJ1cHQgY2FsbGJhY2suCisKKyAgRnVuY3Rpb24gQHJlZiBIQUxfRVRIX1JlZ2lzdGVyQ2FsbGJhY2soKSBhbGxvd3MgdG8gcmVnaXN0ZXIgZm9sbG93aW5nIGNhbGxiYWNrczoKKyAgICAoKykgVHhDcGx0Q2FsbGJhY2sgICA6IFR4IENvbXBsZXRlIENhbGxiYWNrLgorICAgICgrKSBSeENwbHRDYWxsYmFjayAgIDogUnggQ29tcGxldGUgQ2FsbGJhY2suCisgICAgKCspIERNQUVycm9yQ2FsbGJhY2sgOiBETUEgRXJyb3IgQ2FsbGJhY2suCisgICAgKCspIE1zcEluaXRDYWxsYmFjayAgOiBNc3BJbml0IENhbGxiYWNrLgorICAgICgrKSBNc3BEZUluaXRDYWxsYmFjazogTXNwRGVJbml0IENhbGxiYWNrLgorCisgIFRoaXMgZnVuY3Rpb24gdGFrZXMgYXMgcGFyYW1ldGVycyB0aGUgSEFMIHBlcmlwaGVyYWwgaGFuZGxlLCB0aGUgQ2FsbGJhY2sgSUQKKyAgYW5kIGEgcG9pbnRlciB0byB0aGUgdXNlciBjYWxsYmFjayBmdW5jdGlvbi4KKworICBVc2UgZnVuY3Rpb24gQHJlZiBIQUxfRVRIX1VuUmVnaXN0ZXJDYWxsYmFjaygpIHRvIHJlc2V0IGEgY2FsbGJhY2sgdG8gdGhlIGRlZmF1bHQKKyAgd2VhayBmdW5jdGlvbi4KKyAgQHJlZiBIQUxfRVRIX1VuUmVnaXN0ZXJDYWxsYmFjayB0YWtlcyBhcyBwYXJhbWV0ZXJzIHRoZSBIQUwgcGVyaXBoZXJhbCBoYW5kbGUsCisgIGFuZCB0aGUgQ2FsbGJhY2sgSUQuCisgIFRoaXMgZnVuY3Rpb24gYWxsb3dzIHRvIHJlc2V0IGZvbGxvd2luZyBjYWxsYmFja3M6CisgICAgKCspIFR4Q3BsdENhbGxiYWNrICAgOiBUeCBDb21wbGV0ZSBDYWxsYmFjay4KKyAgICAoKykgUnhDcGx0Q2FsbGJhY2sgICA6IFJ4IENvbXBsZXRlIENhbGxiYWNrLgorICAgICgrKSBETUFFcnJvckNhbGxiYWNrIDogRE1BIEVycm9yIENhbGxiYWNrLgorICAgICgrKSBNc3BJbml0Q2FsbGJhY2sgIDogTXNwSW5pdCBDYWxsYmFjay4KKyAgICAoKykgTXNwRGVJbml0Q2FsbGJhY2s6IE1zcERlSW5pdCBDYWxsYmFjay4KKworICBCeSBkZWZhdWx0LCBhZnRlciB0aGUgSEFMX0VUSF9Jbml0IGFuZCB3aGVuIHRoZSBzdGF0ZSBpcyBIQUxfRVRIX1NUQVRFX1JFU0VUCisgIGFsbCBjYWxsYmFja3MgYXJlIHNldCB0byB0aGUgY29ycmVzcG9uZGluZyB3ZWFrIGZ1bmN0aW9uczoKKyAgZXhhbXBsZXMgQHJlZiBIQUxfRVRIX1R4Q3BsdENhbGxiYWNrKCksIEByZWYgSEFMX0VUSF9SeENwbHRDYWxsYmFjaygpLgorICBFeGNlcHRpb24gZG9uZSBmb3IgTXNwSW5pdCBhbmQgTXNwRGVJbml0IGZ1bmN0aW9ucyB0aGF0IGFyZQorICByZXNldCB0byB0aGUgbGVnYWN5IHdlYWsgZnVuY3Rpb24gaW4gdGhlIEhBTF9FVEhfSW5pdC8gQHJlZiBIQUxfRVRIX0RlSW5pdCBvbmx5IHdoZW4KKyAgdGhlc2UgY2FsbGJhY2tzIGFyZSBudWxsIChub3QgcmVnaXN0ZXJlZCBiZWZvcmVoYW5kKS4KKyAgaWYgbm90LCBNc3BJbml0IG9yIE1zcERlSW5pdCBhcmUgbm90IG51bGwsIHRoZSBIQUxfRVRIX0luaXQvIEByZWYgSEFMX0VUSF9EZUluaXQKKyAga2VlcCBhbmQgdXNlIHRoZSB1c2VyIE1zcEluaXQvTXNwRGVJbml0IGNhbGxiYWNrcyAocmVnaXN0ZXJlZCBiZWZvcmVoYW5kKQorCisgIENhbGxiYWNrcyBjYW4gYmUgcmVnaXN0ZXJlZC91bnJlZ2lzdGVyZWQgaW4gSEFMX0VUSF9TVEFURV9SRUFEWSBzdGF0ZSBvbmx5LgorICBFeGNlcHRpb24gZG9uZSBNc3BJbml0L01zcERlSW5pdCB0aGF0IGNhbiBiZSByZWdpc3RlcmVkL3VucmVnaXN0ZXJlZAorICBpbiBIQUxfRVRIX1NUQVRFX1JFQURZIG9yIEhBTF9FVEhfU1RBVEVfUkVTRVQgc3RhdGUsCisgIHRodXMgcmVnaXN0ZXJlZCAodXNlcikgTXNwSW5pdC9EZUluaXQgY2FsbGJhY2tzIGNhbiBiZSB1c2VkIGR1cmluZyB0aGUgSW5pdC9EZUluaXQuCisgIEluIHRoYXQgY2FzZSBmaXJzdCByZWdpc3RlciB0aGUgTXNwSW5pdC9Nc3BEZUluaXQgdXNlciBjYWxsYmFja3MKKyAgdXNpbmcgQHJlZiBIQUxfRVRIX1JlZ2lzdGVyQ2FsbGJhY2soKSBiZWZvcmUgY2FsbGluZyBAcmVmIEhBTF9FVEhfRGVJbml0CisgIG9yIEhBTF9FVEhfSW5pdCBmdW5jdGlvbi4KKworICBXaGVuIFRoZSBjb21waWxhdGlvbiBkZWZpbmUgVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTIGlzIHNldCB0byAwIG9yCisgIG5vdCBkZWZpbmVkLCB0aGUgY2FsbGJhY2sgcmVnaXN0cmF0aW9uIGZlYXR1cmUgaXMgbm90IGF2YWlsYWJsZSBhbmQgYWxsIGNhbGxiYWNrcworICBhcmUgc2V0IHRvIHRoZSBjb3JyZXNwb25kaW5nIHdlYWsgZnVuY3Rpb25zLgorCisgIEBlbmR2ZXJiYXRpbQorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKi8KKworLyogSW5jbHVkZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyNpbmNsdWRlICJzdG0zMmY3eHhfaGFsLmgiCisKKy8qKiBAYWRkdG9ncm91cCBTVE0zMkY3eHhfSEFMX0RyaXZlcgorICAqIEB7CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIIEVUSAorICAqIEBicmllZiBFVEggSEFMIG1vZHVsZSBkcml2ZXIKKyAgKiBAeworICAqLworCisjaWZkZWYgSEFMX0VUSF9MRUdBQ1lfTU9EVUxFX0VOQUJMRUQKKyNpZiBkZWZpbmVkIChFVEgpCisKKy8qIFByaXZhdGUgdHlwZWRlZiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKiBQcml2YXRlIGRlZmluZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyoqIEBkZWZncm91cCBFVEhfUHJpdmF0ZV9Db25zdGFudHMgRVRIIFByaXZhdGUgQ29uc3RhbnRzCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX1RJTUVPVVRfU1dSRVNFVCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCk1MDApCisjZGVmaW5lIEVUSF9USU1FT1VUX0xJTktFRF9TVEFURSAgICAgICAgICAoKHVpbnQzMl90KTUwMDApCisjZGVmaW5lIEVUSF9USU1FT1VUX0FVVE9ORUdPX0NPTVBMRVRFRCAgICAoKHVpbnQzMl90KTUwMDApCisKKy8qKgorICAqIEB9CisgICovCisvKiBQcml2YXRlIG1hY3JvIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyogUHJpdmF0ZSB2YXJpYWJsZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qIFByaXZhdGUgZnVuY3Rpb24gcHJvdG90eXBlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKiogQGRlZmdyb3VwIEVUSF9Qcml2YXRlX0Z1bmN0aW9ucyBFVEggUHJpdmF0ZSBGdW5jdGlvbnMKKyAgKiBAeworICAqLworc3RhdGljIHZvaWQgRVRIX01BQ0RNQUNvbmZpZyhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgdWludDMyX3QgZXJyKTsKK3N0YXRpYyB2b2lkIEVUSF9NQUNBZGRyZXNzQ29uZmlnKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCB1aW50MzJfdCBNYWNBZGRyLCB1aW50OF90ICpBZGRyKTsKK3N0YXRpYyB2b2lkIEVUSF9NQUNSZWNlcHRpb25FbmFibGUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOworc3RhdGljIHZvaWQgRVRIX01BQ1JlY2VwdGlvbkRpc2FibGUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOworc3RhdGljIHZvaWQgRVRIX01BQ1RyYW5zbWlzc2lvbkVuYWJsZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7CitzdGF0aWMgdm9pZCBFVEhfTUFDVHJhbnNtaXNzaW9uRGlzYWJsZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7CitzdGF0aWMgdm9pZCBFVEhfRE1BVHJhbnNtaXNzaW9uRW5hYmxlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKK3N0YXRpYyB2b2lkIEVUSF9ETUFUcmFuc21pc3Npb25EaXNhYmxlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKK3N0YXRpYyB2b2lkIEVUSF9ETUFSZWNlcHRpb25FbmFibGUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOworc3RhdGljIHZvaWQgRVRIX0RNQVJlY2VwdGlvbkRpc2FibGUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOworc3RhdGljIHZvaWQgRVRIX0ZsdXNoVHJhbnNtaXRGSUZPKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKKyNpZiAoVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCitzdGF0aWMgdm9pZCBFVEhfSW5pdENhbGxiYWNrc1RvRGVmYXVsdChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7CisjZW5kaWYgLyogVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisKKy8qKgorICAqIEB9CisgICovCisvKiBQcml2YXRlIGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKiogQGRlZmdyb3VwIEVUSF9FeHBvcnRlZF9GdW5jdGlvbnMgRVRIIEV4cG9ydGVkIEZ1bmN0aW9ucworICAqIEB7CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDEgSW5pdGlhbGl6YXRpb24gYW5kIGRlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucworICAqICBAYnJpZWYgICBJbml0aWFsaXphdGlvbiBhbmQgQ29uZmlndXJhdGlvbiBmdW5jdGlvbnMKKyAgKgorICBAdmVyYmF0aW0KKyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICAgICAgICAgICAgIyMjIyMgSW5pdGlhbGl6YXRpb24gYW5kIGRlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucyAjIyMjIworICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgIFsuLl0gIFRoaXMgc2VjdGlvbiBwcm92aWRlcyBmdW5jdGlvbnMgYWxsb3dpbmcgdG86CisgICAgICAoKykgSW5pdGlhbGl6ZSBhbmQgY29uZmlndXJlIHRoZSBFdGhlcm5ldCBwZXJpcGhlcmFsCisgICAgICAoKykgRGUtaW5pdGlhbGl6ZSB0aGUgRXRoZXJuZXQgcGVyaXBoZXJhbAorCisgIEBlbmR2ZXJiYXRpbQorICAqIEB7CisgICovCisKKy8qKgorICAqIEBicmllZiAgSW5pdGlhbGl6ZXMgdGhlIEV0aGVybmV0IE1BQyBhbmQgRE1BIGFjY29yZGluZyB0byBkZWZhdWx0CisgICogICAgICAgICBwYXJhbWV0ZXJzLgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfSW5pdChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgdWludDMyX3QgdGVtcHJlZyA9IDAsIHBoeXJlZyA9IDA7CisgIHVpbnQzMl90IGhjbGsgPSA2MDAwMDAwMDsKKyAgdWludDMyX3QgdGlja3N0YXJ0ID0gMDsKKyAgdWludDMyX3QgZXJyID0gRVRIX1NVQ0NFU1M7CisKKyAgLyogQ2hlY2sgdGhlIEVUSCBwZXJpcGhlcmFsIHN0YXRlICovCisgIGlmKGhldGggPT0gTlVMTCkKKyAgeworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KKworICAvKiBDaGVjayBwYXJhbWV0ZXJzICovCisgIGFzc2VydF9wYXJhbShJU19FVEhfQVVUT05FR09USUFUSU9OKGhldGgtPkluaXQuQXV0b05lZ290aWF0aW9uKSk7CisgIGFzc2VydF9wYXJhbShJU19FVEhfUlhfTU9ERShoZXRoLT5Jbml0LlJ4TW9kZSkpOworICBhc3NlcnRfcGFyYW0oSVNfRVRIX0NIRUNLU1VNX01PREUoaGV0aC0+SW5pdC5DaGVja3N1bU1vZGUpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX0VUSF9NRURJQV9JTlRFUkZBQ0UoaGV0aC0+SW5pdC5NZWRpYUludGVyZmFjZSkpOworCisgIGlmKGhldGgtPlN0YXRlID09IEhBTF9FVEhfU1RBVEVfUkVTRVQpCisgIHsKKyAgICAvKiBBbGxvY2F0ZSBsb2NrIHJlc291cmNlIGFuZCBpbml0aWFsaXplIGl0ICovCisgICAgaGV0aC0+TG9jayA9IEhBTF9VTkxPQ0tFRDsKKyNpZiAoVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCisgICAgRVRIX0luaXRDYWxsYmFja3NUb0RlZmF1bHQoaGV0aCk7CisKKyAgICBpZihoZXRoLT5Nc3BJbml0Q2FsbGJhY2sgPT0gTlVMTCkKKyAgICB7CisgICAgICAvKiBJbml0IHRoZSBsb3cgbGV2ZWwgaGFyZHdhcmUgOiBHUElPLCBDTE9DSywgTlZJQy4gKi8KKyAgICAgIGhldGgtPk1zcEluaXRDYWxsYmFjayA9IEhBTF9FVEhfTXNwSW5pdDsKKyAgICB9CisgICAgaGV0aC0+TXNwSW5pdENhbGxiYWNrKGhldGgpOworCisjZWxzZQorICAgIC8qIEluaXQgdGhlIGxvdyBsZXZlbCBoYXJkd2FyZSA6IEdQSU8sIENMT0NLLCBOVklDLiAqLworICAgIEhBTF9FVEhfTXNwSW5pdChoZXRoKTsKKyNlbmRpZiAvKiBVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KKyAgfQorCisgIC8qIEVuYWJsZSBTWVNDRkcgQ2xvY2sgKi8KKyAgX19IQUxfUkNDX1NZU0NGR19DTEtfRU5BQkxFKCk7CisKKyAgLyogU2VsZWN0IE1JSSBvciBSTUlJIE1vZGUqLworICBTWVNDRkctPlBNQyAmPSB+KFNZU0NGR19QTUNfTUlJX1JNSUlfU0VMKTsKKyAgU1lTQ0ZHLT5QTUMgfD0gKHVpbnQzMl90KWhldGgtPkluaXQuTWVkaWFJbnRlcmZhY2U7CisKKyAgLyogRXRoZXJuZXQgU29mdHdhcmUgcmVzZXQgKi8KKyAgLyogU2V0IHRoZSBTV1IgYml0OiByZXNldHMgYWxsIE1BQyBzdWJzeXN0ZW0gaW50ZXJuYWwgcmVnaXN0ZXJzIGFuZCBsb2dpYyAqLworICAvKiBBZnRlciByZXNldCBhbGwgdGhlIHJlZ2lzdGVycyBob2xkcyB0aGVpciByZXNwZWN0aXZlIHJlc2V0IHZhbHVlcyAqLworICAoaGV0aC0+SW5zdGFuY2UpLT5ETUFCTVIgfD0gRVRIX0RNQUJNUl9TUjsKKworICAvKiBHZXQgdGljayAqLworICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOworCisgIC8qIFdhaXQgZm9yIHNvZnR3YXJlIHJlc2V0ICovCisgIHdoaWxlICgoKGhldGgtPkluc3RhbmNlKS0+RE1BQk1SICYgRVRIX0RNQUJNUl9TUikgIT0gKHVpbnQzMl90KVJFU0VUKQorICB7CisgICAgLyogQ2hlY2sgZm9yIHRoZSBUaW1lb3V0ICovCisgICAgaWYoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IEVUSF9USU1FT1VUX1NXUkVTRVQpCisgICAgeworICAgICAgaGV0aC0+U3RhdGU9IEhBTF9FVEhfU1RBVEVfVElNRU9VVDsKKworICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICAgICAgX19IQUxfVU5MT0NLKGhldGgpOworCisgICAgICAvKiBOb3RlOiBUaGUgU1dSIGlzIG5vdCBwZXJmb3JtZWQgaWYgdGhlIEVUSF9SWF9DTEsgb3IgdGhlIEVUSF9UWF9DTEsgYXJlCisgICAgICAgICBub3QgYXZhaWxhYmxlLCBwbGVhc2UgY2hlY2sgeW91ciBleHRlcm5hbCBQSFkgb3IgdGhlIElPIGNvbmZpZ3VyYXRpb24gKi8KKworICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOworICAgIH0KKyAgfQorCisgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gTUFDIEluaXRpYWxpemF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworICAvKiBHZXQgdGhlIEVUSEVSTkVUIE1BQ01JSUFSIHZhbHVlICovCisgIHRlbXByZWcgPSAoaGV0aC0+SW5zdGFuY2UpLT5NQUNNSUlBUjsKKyAgLyogQ2xlYXIgQ1NSIENsb2NrIFJhbmdlIENSWzI6MF0gYml0cyAqLworICB0ZW1wcmVnICY9IEVUSF9NQUNNSUlBUl9DUl9NQVNLOworCisgIC8qIEdldCBoY2xrIGZyZXF1ZW5jeSB2YWx1ZSAqLworICBoY2xrID0gSEFMX1JDQ19HZXRIQ0xLRnJlcSgpOworCisgIC8qIFNldCBDUiBiaXRzIGRlcGVuZGluZyBvbiBoY2xrIHZhbHVlICovCisgIGlmKChoY2xrID49IDIwMDAwMDAwKSYmKGhjbGsgPCAzNTAwMDAwMCkpCisgIHsKKyAgICAvKiBDU1IgQ2xvY2sgUmFuZ2UgYmV0d2VlbiAyMC0zNSBNSHogKi8KKyAgICB0ZW1wcmVnIHw9ICh1aW50MzJfdClFVEhfTUFDTUlJQVJfQ1JfRGl2MTY7CisgIH0KKyAgZWxzZSBpZigoaGNsayA+PSAzNTAwMDAwMCkmJihoY2xrIDwgNjAwMDAwMDApKQorICB7CisgICAgLyogQ1NSIENsb2NrIFJhbmdlIGJldHdlZW4gMzUtNjAgTUh6ICovCisgICAgdGVtcHJlZyB8PSAodWludDMyX3QpRVRIX01BQ01JSUFSX0NSX0RpdjI2OworICB9CisgIGVsc2UgaWYoKGhjbGsgPj0gNjAwMDAwMDApJiYoaGNsayA8IDEwMDAwMDAwMCkpCisgIHsKKyAgICAvKiBDU1IgQ2xvY2sgUmFuZ2UgYmV0d2VlbiA2MC0xMDAgTUh6ICovCisgICAgdGVtcHJlZyB8PSAodWludDMyX3QpRVRIX01BQ01JSUFSX0NSX0RpdjQyOworICB9CisgIGVsc2UgaWYoKGhjbGsgPj0gMTAwMDAwMDAwKSYmKGhjbGsgPCAxNTAwMDAwMDApKQorICB7CisgICAgLyogQ1NSIENsb2NrIFJhbmdlIGJldHdlZW4gMTAwLTE1MCBNSHogKi8KKyAgICB0ZW1wcmVnIHw9ICh1aW50MzJfdClFVEhfTUFDTUlJQVJfQ1JfRGl2NjI7CisgIH0KKyAgZWxzZSAvKiAoKGhjbGsgPj0gMTUwMDAwMDAwKSYmKGhjbGsgPD0gMjE2MDAwMDAwKSkgKi8KKyAgeworICAgIC8qIENTUiBDbG9jayBSYW5nZSBiZXR3ZWVuIDE1MC0yMTYgTUh6ICovCisgICAgdGVtcHJlZyB8PSAodWludDMyX3QpRVRIX01BQ01JSUFSX0NSX0RpdjEwMjsKKyAgfQorCisgIC8qIFdyaXRlIHRvIEVUSEVSTkVUIE1BQyBNSUlBUjogQ29uZmlndXJlIHRoZSBFVEhFUk5FVCBDU1IgQ2xvY2sgUmFuZ2UgKi8KKyAgKGhldGgtPkluc3RhbmNlKS0+TUFDTUlJQVIgPSAodWludDMyX3QpdGVtcHJlZzsKKworICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tIFBIWSBpbml0aWFsaXphdGlvbiBhbmQgY29uZmlndXJhdGlvbiAtLS0tLS0tLS0tLS0tLS0tKi8KKyAgLyogUHV0IHRoZSBQSFkgaW4gcmVzZXQgbW9kZSAqLworICBpZigoSEFMX0VUSF9Xcml0ZVBIWVJlZ2lzdGVyKGhldGgsIFBIWV9CQ1IsIFBIWV9SRVNFVCkpICE9IEhBTF9PSykKKyAgeworICAgIC8qIEluIGNhc2Ugb2Ygd3JpdGUgdGltZW91dCAqLworICAgIGVyciA9IEVUSF9FUlJPUjsKKworICAgIC8qIENvbmZpZyBNQUMgYW5kIERNQSAqLworICAgIEVUSF9NQUNETUFDb25maWcoaGV0aCwgZXJyKTsKKworICAgIC8qIFNldCB0aGUgRVRIIHBlcmlwaGVyYWwgc3RhdGUgdG8gUkVBRFkgKi8KKyAgICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfUkVBRFk7CisKKyAgICAvKiBSZXR1cm4gSEFMX0VSUk9SICovCisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorCisgIC8qIERlbGF5IHRvIGFzc3VyZSBQSFkgcmVzZXQgKi8KKyAgSEFMX0RlbGF5KFBIWV9SRVNFVF9ERUxBWSk7CisKKyAgaWYoKGhldGgtPkluaXQpLkF1dG9OZWdvdGlhdGlvbiAhPSBFVEhfQVVUT05FR09USUFUSU9OX0RJU0FCTEUpCisgIHsKKyAgICAvKiBHZXQgdGljayAqLworICAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CisKKyAgICAvKiBXZSB3YWl0IGZvciBsaW5rZWQgc3RhdHVzICovCisgICAgZG8KKyAgICB7CisgICAgICBIQUxfRVRIX1JlYWRQSFlSZWdpc3RlcihoZXRoLCBQSFlfQlNSLCAmcGh5cmVnKTsKKworICAgICAgLyogQ2hlY2sgZm9yIHRoZSBUaW1lb3V0ICovCisgICAgICBpZigoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCApID4gRVRIX1RJTUVPVVRfTElOS0VEX1NUQVRFKQorICAgICAgeworICAgICAgICAvKiBJbiBjYXNlIG9mIHdyaXRlIHRpbWVvdXQgKi8KKyAgICAgICAgZXJyID0gRVRIX0VSUk9SOworCisgICAgICAgIC8qIENvbmZpZyBNQUMgYW5kIERNQSAqLworICAgICAgICBFVEhfTUFDRE1BQ29uZmlnKGhldGgsIGVycik7CisKKyAgICAgICAgaGV0aC0+U3RhdGU9IEhBTF9FVEhfU1RBVEVfUkVBRFk7CisKKyAgICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICAgICAgICBfX0hBTF9VTkxPQ0soaGV0aCk7CisKKyAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOworICAgICAgfQorICAgIH0gd2hpbGUgKCgocGh5cmVnICYgUEhZX0xJTktFRF9TVEFUVVMpICE9IFBIWV9MSU5LRURfU1RBVFVTKSk7CisKKworICAgIC8qIEVuYWJsZSBBdXRvLU5lZ290aWF0aW9uICovCisgICAgaWYoKEhBTF9FVEhfV3JpdGVQSFlSZWdpc3RlcihoZXRoLCBQSFlfQkNSLCBQSFlfQVVUT05FR09USUFUSU9OKSkgIT0gSEFMX09LKQorICAgIHsKKyAgICAgIC8qIEluIGNhc2Ugb2Ygd3JpdGUgdGltZW91dCAqLworICAgICAgZXJyID0gRVRIX0VSUk9SOworCisgICAgICAvKiBDb25maWcgTUFDIGFuZCBETUEgKi8KKyAgICAgIEVUSF9NQUNETUFDb25maWcoaGV0aCwgZXJyKTsKKworICAgICAgLyogU2V0IHRoZSBFVEggcGVyaXBoZXJhbCBzdGF0ZSB0byBSRUFEWSAqLworICAgICAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX1JFQURZOworCisgICAgICAvKiBSZXR1cm4gSEFMX0VSUk9SICovCisgICAgICByZXR1cm4gSEFMX0VSUk9SOworICAgIH0KKworICAgIC8qIEdldCB0aWNrICovCisgICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKKworICAgIC8qIFdhaXQgdW50aWwgdGhlIGF1dG8tbmVnb3RpYXRpb24gd2lsbCBiZSBjb21wbGV0ZWQgKi8KKyAgICBkbworICAgIHsKKyAgICAgIEhBTF9FVEhfUmVhZFBIWVJlZ2lzdGVyKGhldGgsIFBIWV9CU1IsICZwaHlyZWcpOworCisgICAgICAvKiBDaGVjayBmb3IgdGhlIFRpbWVvdXQgKi8KKyAgICAgIGlmKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0ICkgPiBFVEhfVElNRU9VVF9BVVRPTkVHT19DT01QTEVURUQpCisgICAgICB7CisgICAgICAgIC8qIEluIGNhc2Ugb2Ygd3JpdGUgdGltZW91dCAqLworICAgICAgICBlcnIgPSBFVEhfRVJST1I7CisKKyAgICAgICAgLyogQ29uZmlnIE1BQyBhbmQgRE1BICovCisgICAgICAgIEVUSF9NQUNETUFDb25maWcoaGV0aCwgZXJyKTsKKworICAgICAgICBoZXRoLT5TdGF0ZT0gSEFMX0VUSF9TVEFURV9SRUFEWTsKKworICAgICAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCisgICAgICAgIF9fSEFMX1VOTE9DSyhoZXRoKTsKKworICAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7CisgICAgICB9CisKKyAgICB9IHdoaWxlICgoKHBoeXJlZyAmIFBIWV9BVVRPTkVHT19DT01QTEVURSkgIT0gUEhZX0FVVE9ORUdPX0NPTVBMRVRFKSk7CisKKyAgICAvKiBSZWFkIHRoZSByZXN1bHQgb2YgdGhlIGF1dG8tbmVnb3RpYXRpb24gKi8KKyAgICBpZigoSEFMX0VUSF9SZWFkUEhZUmVnaXN0ZXIoaGV0aCwgUEhZX1NSLCAmcGh5cmVnKSkgIT0gSEFMX09LKQorICAgIHsKKyAgICAgIC8qIEluIGNhc2Ugb2Ygd3JpdGUgdGltZW91dCAqLworICAgICAgZXJyID0gRVRIX0VSUk9SOworCisgICAgICAvKiBDb25maWcgTUFDIGFuZCBETUEgKi8KKyAgICAgIEVUSF9NQUNETUFDb25maWcoaGV0aCwgZXJyKTsKKworICAgICAgLyogU2V0IHRoZSBFVEggcGVyaXBoZXJhbCBzdGF0ZSB0byBSRUFEWSAqLworICAgICAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX1JFQURZOworCisgICAgICAvKiBSZXR1cm4gSEFMX0VSUk9SICovCisgICAgICByZXR1cm4gSEFMX0VSUk9SOworICAgIH0KKworICAgIC8qIENvbmZpZ3VyZSB0aGUgTUFDIHdpdGggdGhlIER1cGxleCBNb2RlIGZpeGVkIGJ5IHRoZSBhdXRvLW5lZ290aWF0aW9uIHByb2Nlc3MgKi8KKyAgICBpZigocGh5cmVnICYgUEhZX0RVUExFWF9TVEFUVVMpICE9ICh1aW50MzJfdClSRVNFVCkKKyAgICB7CisgICAgICAvKiBTZXQgRXRoZXJuZXQgZHVwbGV4IG1vZGUgdG8gRnVsbC1kdXBsZXggZm9sbG93aW5nIHRoZSBhdXRvLW5lZ290aWF0aW9uICovCisgICAgICAoaGV0aC0+SW5pdCkuRHVwbGV4TW9kZSA9IEVUSF9NT0RFX0ZVTExEVVBMRVg7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAvKiBTZXQgRXRoZXJuZXQgZHVwbGV4IG1vZGUgdG8gSGFsZi1kdXBsZXggZm9sbG93aW5nIHRoZSBhdXRvLW5lZ290aWF0aW9uICovCisgICAgICAoaGV0aC0+SW5pdCkuRHVwbGV4TW9kZSA9IEVUSF9NT0RFX0hBTEZEVVBMRVg7CisgICAgfQorICAgIC8qIENvbmZpZ3VyZSB0aGUgTUFDIHdpdGggdGhlIHNwZWVkIGZpeGVkIGJ5IHRoZSBhdXRvLW5lZ290aWF0aW9uIHByb2Nlc3MgKi8KKyAgICBpZigocGh5cmVnICYgUEhZX1NQRUVEX1NUQVRVUykgPT0gUEhZX1NQRUVEX1NUQVRVUykKKyAgICB7CisgICAgICAvKiBTZXQgRXRoZXJuZXQgc3BlZWQgdG8gMTBNIGZvbGxvd2luZyB0aGUgYXV0by1uZWdvdGlhdGlvbiAqLworICAgICAgKGhldGgtPkluaXQpLlNwZWVkID0gRVRIX1NQRUVEXzEwTTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgIC8qIFNldCBFdGhlcm5ldCBzcGVlZCB0byAxMDBNIGZvbGxvd2luZyB0aGUgYXV0by1uZWdvdGlhdGlvbiAqLworICAgICAgKGhldGgtPkluaXQpLlNwZWVkID0gRVRIX1NQRUVEXzEwME07CisgICAgfQorICB9CisgIGVsc2UgLyogQXV0b05lZ290aWF0aW9uIERpc2FibGUgKi8KKyAgeworICAgIC8qIENoZWNrIHBhcmFtZXRlcnMgKi8KKyAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX1NQRUVEKGhldGgtPkluaXQuU3BlZWQpKTsKKyAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX0RVUExFWF9NT0RFKGhldGgtPkluaXQuRHVwbGV4TW9kZSkpOworCisgICAgLyogU2V0IE1BQyBTcGVlZCBhbmQgRHVwbGV4IE1vZGUgKi8KKyAgICBpZihIQUxfRVRIX1dyaXRlUEhZUmVnaXN0ZXIoaGV0aCwgUEhZX0JDUiwgKCh1aW50MTZfdCkoKGhldGgtPkluaXQpLkR1cGxleE1vZGUgPj4gMykgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQxNl90KSgoaGV0aC0+SW5pdCkuU3BlZWQgPj4gMSkpKSAhPSBIQUxfT0spCisgICAgeworICAgICAgLyogSW4gY2FzZSBvZiB3cml0ZSB0aW1lb3V0ICovCisgICAgICBlcnIgPSBFVEhfRVJST1I7CisKKyAgICAgIC8qIENvbmZpZyBNQUMgYW5kIERNQSAqLworICAgICAgRVRIX01BQ0RNQUNvbmZpZyhoZXRoLCBlcnIpOworCisgICAgICAvKiBTZXQgdGhlIEVUSCBwZXJpcGhlcmFsIHN0YXRlIHRvIFJFQURZICovCisgICAgICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfUkVBRFk7CisKKyAgICAgIC8qIFJldHVybiBIQUxfRVJST1IgKi8KKyAgICAgIHJldHVybiBIQUxfRVJST1I7CisgICAgfQorCisgICAgLyogRGVsYXkgdG8gYXNzdXJlIFBIWSBjb25maWd1cmF0aW9uICovCisgICAgSEFMX0RlbGF5KFBIWV9DT05GSUdfREVMQVkpOworICB9CisKKyAgLyogQ29uZmlnIE1BQyBhbmQgRE1BICovCisgIEVUSF9NQUNETUFDb25maWcoaGV0aCwgZXJyKTsKKworICAvKiBTZXQgRVRIIEhBTCBTdGF0ZSB0byBSZWFkeSAqLworICBoZXRoLT5TdGF0ZT0gSEFMX0VUSF9TVEFURV9SRUFEWTsKKworICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCisgIHJldHVybiBIQUxfT0s7Cit9CisKKy8qKgorICAqIEBicmllZiAgRGUtSW5pdGlhbGl6ZXMgdGhlIEVUSCBwZXJpcGhlcmFsLgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfRGVJbml0KEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQoreworICAvKiBTZXQgdGhlIEVUSCBwZXJpcGhlcmFsIHN0YXRlIHRvIEJVU1kgKi8KKyAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX0JVU1k7CisKKyNpZiAoVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCisgIGlmKGhldGgtPk1zcERlSW5pdENhbGxiYWNrID09IE5VTEwpCisgIHsKKyAgICBoZXRoLT5Nc3BEZUluaXRDYWxsYmFjayA9IEhBTF9FVEhfTXNwRGVJbml0OworICB9CisgIC8qIERlLUluaXQgdGhlIGxvdyBsZXZlbCBoYXJkd2FyZSA6IEdQSU8sIENMT0NLLCBOVklDLiAqLworICBoZXRoLT5Nc3BEZUluaXRDYWxsYmFjayhoZXRoKTsKKyNlbHNlCisgIC8qIERlLUluaXQgdGhlIGxvdyBsZXZlbCBoYXJkd2FyZSA6IEdQSU8sIENMT0NLLCBOVklDLiAqLworICBIQUxfRVRIX01zcERlSW5pdChoZXRoKTsKKyNlbmRpZgorCisgIC8qIFNldCBFVEggSEFMIHN0YXRlIHRvIERpc2FibGVkICovCisgIGhldGgtPlN0YXRlPSBIQUxfRVRIX1NUQVRFX1JFU0VUOworCisgIC8qIFJlbGVhc2UgTG9jayAqLworICBfX0hBTF9VTkxPQ0soaGV0aCk7CisKKyAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLworICByZXR1cm4gSEFMX09LOworfQorCisvKioKKyAgKiBAYnJpZWYgIEluaXRpYWxpemVzIHRoZSBETUEgVHggZGVzY3JpcHRvcnMgaW4gY2hhaW4gbW9kZS4KKyAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHBhcmFtICBETUFUeERlc2NUYWIgUG9pbnRlciB0byB0aGUgZmlyc3QgVHggZGVzYyBsaXN0CisgICogQHBhcmFtICBUeEJ1ZmYgUG9pbnRlciB0byB0aGUgZmlyc3QgVHhCdWZmZXIgbGlzdAorICAqIEBwYXJhbSAgVHhCdWZmQ291bnQgTnVtYmVyIG9mIHRoZSB1c2VkIFR4IGRlc2MgaW4gdGhlIGxpc3QKKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfRE1BVHhEZXNjTGlzdEluaXQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9ETUFEZXNjVHlwZURlZiAqRE1BVHhEZXNjVGFiLCB1aW50OF90ICpUeEJ1ZmYsIHVpbnQzMl90IFR4QnVmZkNvdW50KQoreworICB1aW50MzJfdCBpID0gMDsKKyAgRVRIX0RNQURlc2NUeXBlRGVmICpkbWF0eGRlc2M7CisKKyAgLyogUHJvY2VzcyBMb2NrZWQgKi8KKyAgX19IQUxfTE9DSyhoZXRoKTsKKworICAvKiBTZXQgdGhlIEVUSCBwZXJpcGhlcmFsIHN0YXRlIHRvIEJVU1kgKi8KKyAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX0JVU1k7CisKKyAgLyogU2V0IHRoZSBETUFUeERlc2NUb1NldCBwb2ludGVyIHdpdGggdGhlIGZpcnN0IG9uZSBvZiB0aGUgRE1BVHhEZXNjVGFiIGxpc3QgKi8KKyAgaGV0aC0+VHhEZXNjID0gRE1BVHhEZXNjVGFiOworCisgIC8qIEZpbGwgZWFjaCBETUFUeERlc2MgZGVzY3JpcHRvciB3aXRoIHRoZSByaWdodCB2YWx1ZXMgKi8KKyAgZm9yKGk9MDsgaSA8IFR4QnVmZkNvdW50OyBpKyspCisgIHsKKyAgICAvKiBHZXQgdGhlIHBvaW50ZXIgb24gdGhlIG1lbWJlciAoaSkgb2YgdGhlIFR4IERlc2MgbGlzdCAqLworICAgIGRtYXR4ZGVzYyA9IERNQVR4RGVzY1RhYiArIGk7CisKKyAgICAvKiBTZXQgU2Vjb25kIEFkZHJlc3MgQ2hhaW5lZCBiaXQgKi8KKyAgICBkbWF0eGRlc2MtPlN0YXR1cyA9IEVUSF9ETUFUWERFU0NfVENIOworCisgICAgLyogU2V0IEJ1ZmZlcjEgYWRkcmVzcyBwb2ludGVyICovCisgICAgZG1hdHhkZXNjLT5CdWZmZXIxQWRkciA9ICh1aW50MzJfdCkoJlR4QnVmZltpKkVUSF9UWF9CVUZfU0laRV0pOworCisgICAgaWYgKChoZXRoLT5Jbml0KS5DaGVja3N1bU1vZGUgPT0gRVRIX0NIRUNLU1VNX0JZX0hBUkRXQVJFKQorICAgIHsKKyAgICAgIC8qIFNldCB0aGUgRE1BIFR4IGRlc2NyaXB0b3JzIGNoZWNrc3VtIGluc2VydGlvbiAqLworICAgICAgZG1hdHhkZXNjLT5TdGF0dXMgfD0gRVRIX0RNQVRYREVTQ19DSEVDS1NVTVRDUFVEUElDTVBGVUxMOworICAgIH0KKworICAgIC8qIEluaXRpYWxpemUgdGhlIG5leHQgZGVzY3JpcHRvciB3aXRoIHRoZSBOZXh0IERlc2NyaXB0b3IgUG9sbGluZyBFbmFibGUgKi8KKyAgICBpZihpIDwgKFR4QnVmZkNvdW50LTEpKQorICAgIHsKKyAgICAgIC8qIFNldCBuZXh0IGRlc2NyaXB0b3IgYWRkcmVzcyByZWdpc3RlciB3aXRoIG5leHQgZGVzY3JpcHRvciBiYXNlIGFkZHJlc3MgKi8KKyAgICAgIGRtYXR4ZGVzYy0+QnVmZmVyMk5leHREZXNjQWRkciA9ICh1aW50MzJfdCkoRE1BVHhEZXNjVGFiK2krMSk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAvKiBGb3IgbGFzdCBkZXNjcmlwdG9yLCBzZXQgbmV4dCBkZXNjcmlwdG9yIGFkZHJlc3MgcmVnaXN0ZXIgZXF1YWwgdG8gdGhlIGZpcnN0IGRlc2NyaXB0b3IgYmFzZSBhZGRyZXNzICovCisgICAgICBkbWF0eGRlc2MtPkJ1ZmZlcjJOZXh0RGVzY0FkZHIgPSAodWludDMyX3QpIERNQVR4RGVzY1RhYjsKKyAgICB9CisgIH0KKworICAvKiBTZXQgVHJhbnNtaXQgRGVzY3JpcHRvciBMaXN0IEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyAgKGhldGgtPkluc3RhbmNlKS0+RE1BVERMQVIgPSAodWludDMyX3QpIERNQVR4RGVzY1RhYjsKKworICAvKiBTZXQgRVRIIEhBTCBTdGF0ZSB0byBSZWFkeSAqLworICBoZXRoLT5TdGF0ZT0gSEFMX0VUSF9TVEFURV9SRUFEWTsKKworICAvKiBQcm9jZXNzIFVubG9ja2VkICovCisgIF9fSEFMX1VOTE9DSyhoZXRoKTsKKworICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCisgIHJldHVybiBIQUxfT0s7Cit9CisKKy8qKgorICAqIEBicmllZiAgSW5pdGlhbGl6ZXMgdGhlIERNQSBSeCBkZXNjcmlwdG9ycyBpbiBjaGFpbiBtb2RlLgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcGFyYW0gIERNQVJ4RGVzY1RhYiBQb2ludGVyIHRvIHRoZSBmaXJzdCBSeCBkZXNjIGxpc3QKKyAgKiBAcGFyYW0gIFJ4QnVmZiBQb2ludGVyIHRvIHRoZSBmaXJzdCBSeEJ1ZmZlciBsaXN0CisgICogQHBhcmFtICBSeEJ1ZmZDb3VudCBOdW1iZXIgb2YgdGhlIHVzZWQgUnggZGVzYyBpbiB0aGUgbGlzdAorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9ETUFSeERlc2NMaXN0SW5pdChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgRVRIX0RNQURlc2NUeXBlRGVmICpETUFSeERlc2NUYWIsIHVpbnQ4X3QgKlJ4QnVmZiwgdWludDMyX3QgUnhCdWZmQ291bnQpCit7CisgIHVpbnQzMl90IGkgPSAwOworICBFVEhfRE1BRGVzY1R5cGVEZWYgKkRNQVJ4RGVzYzsKKworICAvKiBQcm9jZXNzIExvY2tlZCAqLworICBfX0hBTF9MT0NLKGhldGgpOworCisgIC8qIFNldCB0aGUgRVRIIHBlcmlwaGVyYWwgc3RhdGUgdG8gQlVTWSAqLworICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfQlVTWTsKKworICAvKiBTZXQgdGhlIEV0aGVybmV0IFJ4RGVzYyBwb2ludGVyIHdpdGggdGhlIGZpcnN0IG9uZSBvZiB0aGUgRE1BUnhEZXNjVGFiIGxpc3QgKi8KKyAgaGV0aC0+UnhEZXNjID0gRE1BUnhEZXNjVGFiOworCisgIC8qIEZpbGwgZWFjaCBETUFSeERlc2MgZGVzY3JpcHRvciB3aXRoIHRoZSByaWdodCB2YWx1ZXMgKi8KKyAgZm9yKGk9MDsgaSA8IFJ4QnVmZkNvdW50OyBpKyspCisgIHsKKyAgICAvKiBHZXQgdGhlIHBvaW50ZXIgb24gdGhlIG1lbWJlciAoaSkgb2YgdGhlIFJ4IERlc2MgbGlzdCAqLworICAgIERNQVJ4RGVzYyA9IERNQVJ4RGVzY1RhYitpOworCisgICAgLyogU2V0IE93biBiaXQgb2YgdGhlIFJ4IGRlc2NyaXB0b3IgU3RhdHVzICovCisgICAgRE1BUnhEZXNjLT5TdGF0dXMgPSBFVEhfRE1BUlhERVNDX09XTjsKKworICAgIC8qIFNldCBCdWZmZXIxIHNpemUgYW5kIFNlY29uZCBBZGRyZXNzIENoYWluZWQgYml0ICovCisgICAgRE1BUnhEZXNjLT5Db250cm9sQnVmZmVyU2l6ZSA9IEVUSF9ETUFSWERFU0NfUkNIIHwgRVRIX1JYX0JVRl9TSVpFOworCisgICAgLyogU2V0IEJ1ZmZlcjEgYWRkcmVzcyBwb2ludGVyICovCisgICAgRE1BUnhEZXNjLT5CdWZmZXIxQWRkciA9ICh1aW50MzJfdCkoJlJ4QnVmZltpKkVUSF9SWF9CVUZfU0laRV0pOworCisgICAgaWYoKGhldGgtPkluaXQpLlJ4TW9kZSA9PSBFVEhfUlhJTlRFUlJVUFRfTU9ERSkKKyAgICB7CisgICAgICAvKiBFbmFibGUgRXRoZXJuZXQgRE1BIFJ4IERlc2NyaXB0b3IgaW50ZXJydXB0ICovCisgICAgICBETUFSeERlc2MtPkNvbnRyb2xCdWZmZXJTaXplICY9IH5FVEhfRE1BUlhERVNDX0RJQzsKKyAgICB9CisKKyAgICAvKiBJbml0aWFsaXplIHRoZSBuZXh0IGRlc2NyaXB0b3Igd2l0aCB0aGUgTmV4dCBEZXNjcmlwdG9yIFBvbGxpbmcgRW5hYmxlICovCisgICAgaWYoaSA8IChSeEJ1ZmZDb3VudC0xKSkKKyAgICB7CisgICAgICAvKiBTZXQgbmV4dCBkZXNjcmlwdG9yIGFkZHJlc3MgcmVnaXN0ZXIgd2l0aCBuZXh0IGRlc2NyaXB0b3IgYmFzZSBhZGRyZXNzICovCisgICAgICBETUFSeERlc2MtPkJ1ZmZlcjJOZXh0RGVzY0FkZHIgPSAodWludDMyX3QpKERNQVJ4RGVzY1RhYitpKzEpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgLyogRm9yIGxhc3QgZGVzY3JpcHRvciwgc2V0IG5leHQgZGVzY3JpcHRvciBhZGRyZXNzIHJlZ2lzdGVyIGVxdWFsIHRvIHRoZSBmaXJzdCBkZXNjcmlwdG9yIGJhc2UgYWRkcmVzcyAqLworICAgICAgRE1BUnhEZXNjLT5CdWZmZXIyTmV4dERlc2NBZGRyID0gKHVpbnQzMl90KShETUFSeERlc2NUYWIpOworICAgIH0KKyAgfQorCisgIC8qIFNldCBSZWNlaXZlIERlc2NyaXB0b3IgTGlzdCBBZGRyZXNzIFJlZ2lzdGVyICovCisgIChoZXRoLT5JbnN0YW5jZSktPkRNQVJETEFSID0gKHVpbnQzMl90KSBETUFSeERlc2NUYWI7CisKKyAgLyogU2V0IEVUSCBIQUwgU3RhdGUgdG8gUmVhZHkgKi8KKyAgaGV0aC0+U3RhdGU9IEhBTF9FVEhfU1RBVEVfUkVBRFk7CisKKyAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICBfX0hBTF9VTkxPQ0soaGV0aCk7CisKKyAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLworICByZXR1cm4gSEFMX09LOworfQorCisvKioKKyAgKiBAYnJpZWYgIEluaXRpYWxpemVzIHRoZSBFVEggTVNQLgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK19fd2VhayB2b2lkIEhBTF9FVEhfTXNwSW5pdChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgLyogUHJldmVudCB1bnVzZWQgYXJndW1lbnQocykgY29tcGlsYXRpb24gd2FybmluZyAqLworICBVTlVTRUQoaGV0aCk7CisKKyAgLyogTk9URSA6IFRoaXMgZnVuY3Rpb24gU2hvdWxkIG5vdCBiZSBtb2RpZmllZCwgd2hlbiB0aGUgY2FsbGJhY2sgaXMgbmVlZGVkLAorICB0aGUgSEFMX0VUSF9Nc3BJbml0IGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKKyAgKi8KK30KKworLyoqCisgICogQGJyaWVmICBEZUluaXRpYWxpemVzIEVUSCBNU1AuCisgICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEByZXR2YWwgTm9uZQorICAqLworX193ZWFrIHZvaWQgSEFMX0VUSF9Nc3BEZUluaXQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIC8qIFByZXZlbnQgdW51c2VkIGFyZ3VtZW50KHMpIGNvbXBpbGF0aW9uIHdhcm5pbmcgKi8KKyAgVU5VU0VEKGhldGgpOworCisgIC8qIE5PVEUgOiBUaGlzIGZ1bmN0aW9uIFNob3VsZCBub3QgYmUgbW9kaWZpZWQsIHdoZW4gdGhlIGNhbGxiYWNrIGlzIG5lZWRlZCwKKyAgdGhlIEhBTF9FVEhfTXNwRGVJbml0IGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKKyAgKi8KK30KKworI2lmIChVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKKy8qKgorICAqIEBicmllZiAgUmVnaXN0ZXIgYSBVc2VyIEVUSCBDYWxsYmFjaworICAqICAgICAgICAgVG8gYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSB3ZWFrIHByZWRlZmluZWQgY2FsbGJhY2sKKyAgKiBAcGFyYW0gaGV0aCBldGggaGFuZGxlCisgICogQHBhcmFtIENhbGxiYWNrSUQgSUQgb2YgdGhlIGNhbGxiYWNrIHRvIGJlIHJlZ2lzdGVyZWQKKyAgKiAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKKyAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX0VUSF9UWF9DT01QTEVURV9DQl9JRCBUeCBDb21wbGV0ZSBDYWxsYmFjayBJRAorICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfRVRIX1JYX0NPTVBMRVRFX0NCX0lEIFJ4IENvbXBsZXRlIENhbGxiYWNrIElECisgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9FVEhfRE1BX0VSUk9SX0NCX0lEICAgRE1BIEVycm9yIENhbGxiYWNrIElECisgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9FVEhfTVNQSU5JVF9DQl9JRCAgICAgTXNwSW5pdCBjYWxsYmFjayBJRAorICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfRVRIX01TUERFSU5JVF9DQl9JRCAgIE1zcERlSW5pdCBjYWxsYmFjayBJRAorICAqIEBwYXJhbSBwQ2FsbGJhY2sgcG9pbnRlciB0byB0aGUgQ2FsbGJhY2sgZnVuY3Rpb24KKyAgKiBAcmV0dmFsIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9SZWdpc3RlckNhbGxiYWNrKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBIQUxfRVRIX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQsIHBFVEhfQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjaykKK3sKKyAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzID0gSEFMX09LOworCisgIGlmKHBDYWxsYmFjayA9PSBOVUxMKQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorICAvKiBQcm9jZXNzIGxvY2tlZCAqLworICBfX0hBTF9MT0NLKGhldGgpOworCisgIGlmKGhldGgtPlN0YXRlID09IEhBTF9FVEhfU1RBVEVfUkVBRFkpCisgIHsKKyAgICBzd2l0Y2ggKENhbGxiYWNrSUQpCisgICAgeworICAgIGNhc2UgSEFMX0VUSF9UWF9DT01QTEVURV9DQl9JRCA6CisgICAgICBoZXRoLT5UeENwbHRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgIGJyZWFrOworCisgICAgY2FzZSBIQUxfRVRIX1JYX0NPTVBMRVRFX0NCX0lEIDoKKyAgICAgIGhldGgtPlJ4Q3BsdENhbGxiYWNrID0gcENhbGxiYWNrOworICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEhBTF9FVEhfRE1BX0VSUk9SX0NCX0lEIDoKKyAgICAgIGhldGgtPkRNQUVycm9yQ2FsbGJhY2sgPSBwQ2FsbGJhY2s7CisgICAgICBicmVhazsKKworICAgIGNhc2UgSEFMX0VUSF9NU1BJTklUX0NCX0lEIDoKKyAgICAgIGhldGgtPk1zcEluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgIGJyZWFrOworCisgICAgY2FzZSBIQUxfRVRIX01TUERFSU5JVF9DQl9JRCA6CisgICAgICBoZXRoLT5Nc3BEZUluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdCA6CisgICAgICAvKiBSZXR1cm4gZXJyb3Igc3RhdHVzICovCisgICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOworICAgICAgYnJlYWs7CisgICAgfQorICB9CisgIGVsc2UgaWYoaGV0aC0+U3RhdGUgPT0gSEFMX0VUSF9TVEFURV9SRVNFVCkKKyAgeworICAgIHN3aXRjaCAoQ2FsbGJhY2tJRCkKKyAgICB7CisgICAgY2FzZSBIQUxfRVRIX01TUElOSVRfQ0JfSUQgOgorICAgICAgaGV0aC0+TXNwSW5pdENhbGxiYWNrID0gcENhbGxiYWNrOworICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEhBTF9FVEhfTVNQREVJTklUX0NCX0lEIDoKKyAgICAgIGhldGgtPk1zcERlSW5pdENhbGxiYWNrID0gcENhbGxiYWNrOworICAgICAgYnJlYWs7CisKKyAgICBkZWZhdWx0IDoKKyAgICAgIC8qIFJldHVybiBlcnJvciBzdGF0dXMgKi8KKyAgICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7CisgICAgICBicmVhazsKKyAgICB9CisgIH0KKyAgZWxzZQorICB7CisgICAgLyogUmV0dXJuIGVycm9yIHN0YXR1cyAqLworICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7CisgIH0KKworICAvKiBSZWxlYXNlIExvY2sgKi8KKyAgX19IQUxfVU5MT0NLKGhldGgpOworCisgIHJldHVybiBzdGF0dXM7Cit9CisKKy8qKgorICAqIEBicmllZiAgVW5yZWdpc3RlciBhbiBFVEggQ2FsbGJhY2sKKyAgKiAgICAgICAgIEVUSCBjYWxsYWJjayBpcyByZWRpcmVjdGVkIHRvIHRoZSB3ZWFrIHByZWRlZmluZWQgY2FsbGJhY2sKKyAgKiBAcGFyYW0gaGV0aCBldGggaGFuZGxlCisgICogQHBhcmFtIENhbGxiYWNrSUQgSUQgb2YgdGhlIGNhbGxiYWNrIHRvIGJlIHVucmVnaXN0ZXJlZAorICAqICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgorICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfRVRIX1RYX0NPTVBMRVRFX0NCX0lEIFR4IENvbXBsZXRlIENhbGxiYWNrIElECisgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9FVEhfUlhfQ09NUExFVEVfQ0JfSUQgUnggQ29tcGxldGUgQ2FsbGJhY2sgSUQKKyAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX0VUSF9ETUFfRVJST1JfQ0JfSUQgICBETUEgRXJyb3IgQ2FsbGJhY2sgSUQKKyAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX0VUSF9NU1BJTklUX0NCX0lEICAgICBNc3BJbml0IGNhbGxiYWNrIElECisgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9FVEhfTVNQREVJTklUX0NCX0lEICAgTXNwRGVJbml0IGNhbGxiYWNrIElECisgICogQHJldHZhbCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfVW5SZWdpc3RlckNhbGxiYWNrKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBIQUxfRVRIX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQpCit7CisgIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1cyA9IEhBTF9PSzsKKworICAvKiBQcm9jZXNzIGxvY2tlZCAqLworICBfX0hBTF9MT0NLKGhldGgpOworCisgIGlmKGhldGgtPlN0YXRlID09IEhBTF9FVEhfU1RBVEVfUkVBRFkpCisgIHsKKyAgICBzd2l0Y2ggKENhbGxiYWNrSUQpCisgICAgeworICAgIGNhc2UgSEFMX0VUSF9UWF9DT01QTEVURV9DQl9JRCA6CisgICAgICBoZXRoLT5UeENwbHRDYWxsYmFjayA9IEhBTF9FVEhfVHhDcGx0Q2FsbGJhY2s7CisgICAgICBicmVhazsKKworICAgIGNhc2UgSEFMX0VUSF9SWF9DT01QTEVURV9DQl9JRCA6CisgICAgICBoZXRoLT5SeENwbHRDYWxsYmFjayA9IEhBTF9FVEhfUnhDcGx0Q2FsbGJhY2s7CisgICAgICBicmVhazsKKworICAgIGNhc2UgSEFMX0VUSF9ETUFfRVJST1JfQ0JfSUQgOgorICAgICAgaGV0aC0+RE1BRXJyb3JDYWxsYmFjayA9IEhBTF9FVEhfRXJyb3JDYWxsYmFjazsKKyAgICAgIGJyZWFrOworCisgICAgY2FzZSBIQUxfRVRIX01TUElOSVRfQ0JfSUQgOgorICAgICAgaGV0aC0+TXNwSW5pdENhbGxiYWNrID0gSEFMX0VUSF9Nc3BJbml0OworICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEhBTF9FVEhfTVNQREVJTklUX0NCX0lEIDoKKyAgICAgIGhldGgtPk1zcERlSW5pdENhbGxiYWNrID0gSEFMX0VUSF9Nc3BEZUluaXQ7CisgICAgICBicmVhazsKKworICAgIGRlZmF1bHQgOgorICAgICAgLyogUmV0dXJuIGVycm9yIHN0YXR1cyAqLworICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgfQorICBlbHNlIGlmKGhldGgtPlN0YXRlID09IEhBTF9FVEhfU1RBVEVfUkVTRVQpCisgIHsKKyAgICBzd2l0Y2ggKENhbGxiYWNrSUQpCisgICAgeworICAgIGNhc2UgSEFMX0VUSF9NU1BJTklUX0NCX0lEIDoKKyAgICAgIGhldGgtPk1zcEluaXRDYWxsYmFjayA9IEhBTF9FVEhfTXNwSW5pdDsKKyAgICAgIGJyZWFrOworCisgICAgY2FzZSBIQUxfRVRIX01TUERFSU5JVF9DQl9JRCA6CisgICAgICBoZXRoLT5Nc3BEZUluaXRDYWxsYmFjayA9IEhBTF9FVEhfTXNwRGVJbml0OworICAgICAgYnJlYWs7CisKKyAgICBkZWZhdWx0IDoKKyAgICAgIC8qIFJldHVybiBlcnJvciBzdGF0dXMgKi8KKyAgICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7CisgICAgICBicmVhazsKKyAgICB9CisgIH0KKyAgZWxzZQorICB7CisgICAgLyogUmV0dXJuIGVycm9yIHN0YXR1cyAqLworICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7CisgIH0KKworICAvKiBSZWxlYXNlIExvY2sgKi8KKyAgX19IQUxfVU5MT0NLKGhldGgpOworCisgIHJldHVybiBzdGF0dXM7Cit9CisjZW5kaWYgLyogVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDIgSU8gb3BlcmF0aW9uIGZ1bmN0aW9ucworICAqICBAYnJpZWYgICBEYXRhIHRyYW5zZmVycyBmdW5jdGlvbnMKKyAgKgorICBAdmVyYmF0aW0KKyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgICAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjIElPIG9wZXJhdGlvbiBmdW5jdGlvbnMgIyMjIyMKKyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgIFsuLl0gIFRoaXMgc2VjdGlvbiBwcm92aWRlcyBmdW5jdGlvbnMgYWxsb3dpbmcgdG86CisgICAgICAgICgrKSBUcmFuc21pdCBhIGZyYW1lCisgICAgICAgICAgICBIQUxfRVRIX1RyYW5zbWl0RnJhbWUoKTsKKyAgICAgICAgKCspIFJlY2VpdmUgYSBmcmFtZQorICAgICAgICAgICAgSEFMX0VUSF9HZXRSZWNlaXZlZEZyYW1lKCk7CisgICAgICAgICAgICBIQUxfRVRIX0dldFJlY2VpdmVkRnJhbWVfSVQoKTsKKyAgICAgICAgKCspIFJlYWQgZnJvbSBhbiBFeHRlcm5hbCBQSFkgcmVnaXN0ZXIKKyAgICAgICAgICAgIEhBTF9FVEhfUmVhZFBIWVJlZ2lzdGVyKCk7CisgICAgICAgICgrKSBXcml0ZSB0byBhbiBFeHRlcm5hbCBQSFkgcmVnaXN0ZXIKKyAgICAgICAgICAgIEhBTF9FVEhfV3JpdGVQSFlSZWdpc3RlcigpOworCisgIEBlbmR2ZXJiYXRpbQorCisgICogQHsKKyAgKi8KKworLyoqCisgICogQGJyaWVmICBTZW5kcyBhbiBFdGhlcm5ldCBmcmFtZS4KKyAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHBhcmFtICBGcmFtZUxlbmd0aCBBbW91bnQgb2YgZGF0YSB0byBiZSBzZW50CisgICogQHJldHZhbCBIQUwgc3RhdHVzCisgICovCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1RyYW5zbWl0RnJhbWUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIHVpbnQzMl90IEZyYW1lTGVuZ3RoKQoreworICB1aW50MzJfdCBidWZjb3VudCA9IDAsIHNpemUgPSAwLCBpID0gMDsKKworICAvKiBQcm9jZXNzIExvY2tlZCAqLworICBfX0hBTF9MT0NLKGhldGgpOworCisgIC8qIFNldCB0aGUgRVRIIHBlcmlwaGVyYWwgc3RhdGUgdG8gQlVTWSAqLworICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfQlVTWTsKKworICBpZiAoRnJhbWVMZW5ndGggPT0gMCkKKyAgeworICAgIC8qIFNldCBFVEggSEFMIHN0YXRlIHRvIFJFQURZICovCisgICAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX1JFQURZOworCisgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICAgIF9fSEFMX1VOTE9DSyhoZXRoKTsKKworICAgIHJldHVybiAgSEFMX0VSUk9SOworICB9CisKKyAgLyogQ2hlY2sgaWYgdGhlIGRlc2NyaXB0b3IgaXMgb3duZWQgYnkgdGhlIEVUSEVSTkVUIERNQSAod2hlbiBzZXQpIG9yIENQVSAod2hlbiByZXNldCkgKi8KKyAgaWYoKChoZXRoLT5UeERlc2MpLT5TdGF0dXMgJiBFVEhfRE1BVFhERVNDX09XTikgIT0gKHVpbnQzMl90KVJFU0VUKQorICB7CisgICAgLyogT1dOIGJpdCBzZXQgKi8KKyAgICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfQlVTWV9UWDsKKworICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KKyAgICBfX0hBTF9VTkxPQ0soaGV0aCk7CisKKyAgICByZXR1cm4gSEFMX0VSUk9SOworICB9CisKKyAgLyogR2V0IHRoZSBudW1iZXIgb2YgbmVlZGVkIFR4IGJ1ZmZlcnMgZm9yIHRoZSBjdXJyZW50IGZyYW1lICovCisgIGlmIChGcmFtZUxlbmd0aCA+IEVUSF9UWF9CVUZfU0laRSkKKyAgeworICAgIGJ1ZmNvdW50ID0gRnJhbWVMZW5ndGgvRVRIX1RYX0JVRl9TSVpFOworICAgIGlmIChGcmFtZUxlbmd0aCAlIEVUSF9UWF9CVUZfU0laRSkKKyAgICB7CisgICAgICBidWZjb3VudCsrOworICAgIH0KKyAgfQorICBlbHNlCisgIHsKKyAgICBidWZjb3VudCA9IDE7CisgIH0KKyAgaWYgKGJ1ZmNvdW50ID09IDEpCisgIHsKKyAgICAvKiBTZXQgTEFTVCBhbmQgRklSU1Qgc2VnbWVudCAqLworICAgIGhldGgtPlR4RGVzYy0+U3RhdHVzIHw9RVRIX0RNQVRYREVTQ19GU3xFVEhfRE1BVFhERVNDX0xTOworICAgIC8qIFNldCBmcmFtZSBzaXplICovCisgICAgaGV0aC0+VHhEZXNjLT5Db250cm9sQnVmZmVyU2l6ZSA9IChGcmFtZUxlbmd0aCAmIEVUSF9ETUFUWERFU0NfVEJTMSk7CisgICAgLyogU2V0IE93biBiaXQgb2YgdGhlIFR4IGRlc2NyaXB0b3IgU3RhdHVzOiBnaXZlcyB0aGUgYnVmZmVyIGJhY2sgdG8gRVRIRVJORVQgRE1BICovCisgICAgaGV0aC0+VHhEZXNjLT5TdGF0dXMgfD0gRVRIX0RNQVRYREVTQ19PV047CisgICAgLyogUG9pbnQgdG8gbmV4dCBkZXNjcmlwdG9yICovCisgICAgaGV0aC0+VHhEZXNjPSAoRVRIX0RNQURlc2NUeXBlRGVmICopKGhldGgtPlR4RGVzYy0+QnVmZmVyMk5leHREZXNjQWRkcik7CisgIH0KKyAgZWxzZQorICB7CisgICAgZm9yIChpPTA7IGk8IGJ1ZmNvdW50OyBpKyspCisgICAgeworICAgICAgLyogQ2xlYXIgRklSU1QgYW5kIExBU1Qgc2VnbWVudCBiaXRzICovCisgICAgICBoZXRoLT5UeERlc2MtPlN0YXR1cyAmPSB+KEVUSF9ETUFUWERFU0NfRlMgfCBFVEhfRE1BVFhERVNDX0xTKTsKKworICAgICAgaWYgKGkgPT0gMCkKKyAgICAgIHsKKyAgICAgICAgLyogU2V0dGluZyB0aGUgZmlyc3Qgc2VnbWVudCBiaXQgKi8KKyAgICAgICAgaGV0aC0+VHhEZXNjLT5TdGF0dXMgfD0gRVRIX0RNQVRYREVTQ19GUzsKKyAgICAgIH0KKworICAgICAgLyogUHJvZ3JhbSBzaXplICovCisgICAgICBoZXRoLT5UeERlc2MtPkNvbnRyb2xCdWZmZXJTaXplID0gKEVUSF9UWF9CVUZfU0laRSAmIEVUSF9ETUFUWERFU0NfVEJTMSk7CisKKyAgICAgIGlmIChpID09IChidWZjb3VudC0xKSkKKyAgICAgIHsKKyAgICAgICAgLyogU2V0dGluZyB0aGUgbGFzdCBzZWdtZW50IGJpdCAqLworICAgICAgICBoZXRoLT5UeERlc2MtPlN0YXR1cyB8PSBFVEhfRE1BVFhERVNDX0xTOworICAgICAgICBzaXplID0gRnJhbWVMZW5ndGggLSAoYnVmY291bnQtMSkqRVRIX1RYX0JVRl9TSVpFOworICAgICAgICBoZXRoLT5UeERlc2MtPkNvbnRyb2xCdWZmZXJTaXplID0gKHNpemUgJiBFVEhfRE1BVFhERVNDX1RCUzEpOworICAgICAgfQorCisgICAgICAvKiBTZXQgT3duIGJpdCBvZiB0aGUgVHggZGVzY3JpcHRvciBTdGF0dXM6IGdpdmVzIHRoZSBidWZmZXIgYmFjayB0byBFVEhFUk5FVCBETUEgKi8KKyAgICAgIGhldGgtPlR4RGVzYy0+U3RhdHVzIHw9IEVUSF9ETUFUWERFU0NfT1dOOworICAgICAgLyogcG9pbnQgdG8gbmV4dCBkZXNjcmlwdG9yICovCisgICAgICBoZXRoLT5UeERlc2MgPSAoRVRIX0RNQURlc2NUeXBlRGVmICopKGhldGgtPlR4RGVzYy0+QnVmZmVyMk5leHREZXNjQWRkcik7CisgICAgfQorICB9CisKKyAgLyogV2hlbiBUeCBCdWZmZXIgdW5hdmFpbGFibGUgZmxhZyBpcyBzZXQ6IGNsZWFyIGl0IGFuZCByZXN1bWUgdHJhbnNtaXNzaW9uICovCisgIGlmICgoKGhldGgtPkluc3RhbmNlKS0+RE1BU1IgJiBFVEhfRE1BU1JfVEJVUykgIT0gKHVpbnQzMl90KVJFU0VUKQorICB7CisgICAgLyogQ2xlYXIgVEJVUyBFVEhFUk5FVCBETUEgZmxhZyAqLworICAgIChoZXRoLT5JbnN0YW5jZSktPkRNQVNSID0gRVRIX0RNQVNSX1RCVVM7CisgICAgLyogUmVzdW1lIERNQSB0cmFuc21pc3Npb24qLworICAgIChoZXRoLT5JbnN0YW5jZSktPkRNQVRQRFIgPSAwOworICB9CisKKyAgLyogU2V0IEVUSCBIQUwgU3RhdGUgdG8gUmVhZHkgKi8KKyAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX1JFQURZOworCisgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KKyAgX19IQUxfVU5MT0NLKGhldGgpOworCisgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KKyAgcmV0dXJuIEhBTF9PSzsKK30KKworLyoqCisgICogQGJyaWVmICBDaGVja3MgZm9yIHJlY2VpdmVkIGZyYW1lcy4KKyAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHJldHZhbCBIQUwgc3RhdHVzCisgICovCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX0dldFJlY2VpdmVkRnJhbWUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIHVpbnQzMl90IGZyYW1lbGVuZ3RoID0gMDsKKworICAvKiBQcm9jZXNzIExvY2tlZCAqLworICBfX0hBTF9MT0NLKGhldGgpOworCisgIC8qIENoZWNrIHRoZSBFVEggc3RhdGUgdG8gQlVTWSAqLworICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfQlVTWTsKKworICAvKiBDaGVjayBpZiBzZWdtZW50IGlzIG5vdCBvd25lZCBieSBETUEgKi8KKyAgLyogKCgoaGV0aC0+UnhEZXNjLT5TdGF0dXMgJiBFVEhfRE1BUlhERVNDX09XTikgPT0gKHVpbnQzMl90KVJFU0VUKSAmJiAoKGhldGgtPlJ4RGVzYy0+U3RhdHVzICYgRVRIX0RNQVJYREVTQ19MUykgIT0gKHVpbnQzMl90KVJFU0VUKSkgKi8KKyAgaWYoKChoZXRoLT5SeERlc2MtPlN0YXR1cyAmIEVUSF9ETUFSWERFU0NfT1dOKSA9PSAodWludDMyX3QpUkVTRVQpKQorICB7CisgICAgLyogQ2hlY2sgaWYgbGFzdCBzZWdtZW50ICovCisgICAgaWYoKChoZXRoLT5SeERlc2MtPlN0YXR1cyAmIEVUSF9ETUFSWERFU0NfTFMpICE9ICh1aW50MzJfdClSRVNFVCkpCisgICAgeworICAgICAgLyogaW5jcmVtZW50IHNlZ21lbnQgY291bnQgKi8KKyAgICAgIChoZXRoLT5SeEZyYW1lSW5mb3MpLlNlZ0NvdW50Kys7CisKKyAgICAgIC8qIENoZWNrIGlmIGxhc3Qgc2VnbWVudCBpcyBmaXJzdCBzZWdtZW50OiBvbmUgc2VnbWVudCBjb250YWlucyB0aGUgZnJhbWUgKi8KKyAgICAgIGlmICgoaGV0aC0+UnhGcmFtZUluZm9zKS5TZWdDb3VudCA9PSAxKQorICAgICAgeworICAgICAgICAoaGV0aC0+UnhGcmFtZUluZm9zKS5GU1J4RGVzYyA9aGV0aC0+UnhEZXNjOworICAgICAgfQorCisgICAgICBoZXRoLT5SeEZyYW1lSW5mb3MuTFNSeERlc2MgPSBoZXRoLT5SeERlc2M7CisKKyAgICAgIC8qIEdldCB0aGUgRnJhbWUgTGVuZ3RoIG9mIHRoZSByZWNlaXZlZCBwYWNrZXQ6IHN1YnN0cnVjdCA0IGJ5dGVzIG9mIHRoZSBDUkMgKi8KKyAgICAgIGZyYW1lbGVuZ3RoID0gKCgoaGV0aC0+UnhEZXNjKS0+U3RhdHVzICYgRVRIX0RNQVJYREVTQ19GTCkgPj4gRVRIX0RNQVJYREVTQ19GUkFNRUxFTkdUSFNISUZUKSAtIDQ7CisgICAgICBoZXRoLT5SeEZyYW1lSW5mb3MubGVuZ3RoID0gZnJhbWVsZW5ndGg7CisKKyAgICAgIC8qIEdldCB0aGUgYWRkcmVzcyBvZiB0aGUgYnVmZmVyIHN0YXJ0IGFkZHJlc3MgKi8KKyAgICAgIGhldGgtPlJ4RnJhbWVJbmZvcy5idWZmZXIgPSAoKGhldGgtPlJ4RnJhbWVJbmZvcykuRlNSeERlc2MpLT5CdWZmZXIxQWRkcjsKKyAgICAgIC8qIHBvaW50IHRvIG5leHQgZGVzY3JpcHRvciAqLworICAgICAgaGV0aC0+UnhEZXNjID0gKEVUSF9ETUFEZXNjVHlwZURlZiopICgoaGV0aC0+UnhEZXNjKS0+QnVmZmVyMk5leHREZXNjQWRkcik7CisKKyAgICAgIC8qIFNldCBIQUwgU3RhdGUgdG8gUmVhZHkgKi8KKyAgICAgIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9SRUFEWTsKKworICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICAgICAgX19IQUxfVU5MT0NLKGhldGgpOworCisgICAgICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCisgICAgICByZXR1cm4gSEFMX09LOworICAgIH0KKyAgICAvKiBDaGVjayBpZiBmaXJzdCBzZWdtZW50ICovCisgICAgZWxzZSBpZigoaGV0aC0+UnhEZXNjLT5TdGF0dXMgJiBFVEhfRE1BUlhERVNDX0ZTKSAhPSAodWludDMyX3QpUkVTRVQpCisgICAgeworICAgICAgKGhldGgtPlJ4RnJhbWVJbmZvcykuRlNSeERlc2MgPSBoZXRoLT5SeERlc2M7CisgICAgICAoaGV0aC0+UnhGcmFtZUluZm9zKS5MU1J4RGVzYyA9IE5VTEw7CisgICAgICAoaGV0aC0+UnhGcmFtZUluZm9zKS5TZWdDb3VudCA9IDE7CisgICAgICAvKiBQb2ludCB0byBuZXh0IGRlc2NyaXB0b3IgKi8KKyAgICAgIGhldGgtPlJ4RGVzYyA9IChFVEhfRE1BRGVzY1R5cGVEZWYqKSAoaGV0aC0+UnhEZXNjLT5CdWZmZXIyTmV4dERlc2NBZGRyKTsKKyAgICB9CisgICAgLyogQ2hlY2sgaWYgaW50ZXJtZWRpYXRlIHNlZ21lbnQgKi8KKyAgICBlbHNlCisgICAgeworICAgICAgKGhldGgtPlJ4RnJhbWVJbmZvcykuU2VnQ291bnQrKzsKKyAgICAgIC8qIFBvaW50IHRvIG5leHQgZGVzY3JpcHRvciAqLworICAgICAgaGV0aC0+UnhEZXNjID0gKEVUSF9ETUFEZXNjVHlwZURlZiopIChoZXRoLT5SeERlc2MtPkJ1ZmZlcjJOZXh0RGVzY0FkZHIpOworICAgIH0KKyAgfQorCisgIC8qIFNldCBFVEggSEFMIFN0YXRlIHRvIFJlYWR5ICovCisgIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9SRUFEWTsKKworICAvKiBQcm9jZXNzIFVubG9ja2VkICovCisgIF9fSEFMX1VOTE9DSyhoZXRoKTsKKworICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCisgIHJldHVybiBIQUxfRVJST1I7Cit9CisKKy8qKgorICAqIEBicmllZiAgR2V0cyB0aGUgUmVjZWl2ZWQgZnJhbWUgaW4gaW50ZXJydXB0IG1vZGUuCisgICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9HZXRSZWNlaXZlZEZyYW1lX0lUKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQoreworICB1aW50MzJfdCBkZXNjcmlwdG9yc2NhbmNvdW50ZXIgPSAwOworCisgIC8qIFByb2Nlc3MgTG9ja2VkICovCisgIF9fSEFMX0xPQ0soaGV0aCk7CisKKyAgLyogU2V0IEVUSCBIQUwgU3RhdGUgdG8gQlVTWSAqLworICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfQlVTWTsKKworICAvKiBTY2FuIGRlc2NyaXB0b3JzIG93bmVkIGJ5IENQVSAqLworICB3aGlsZSAoKChoZXRoLT5SeERlc2MtPlN0YXR1cyAmIEVUSF9ETUFSWERFU0NfT1dOKSA9PSAodWludDMyX3QpUkVTRVQpICYmIChkZXNjcmlwdG9yc2NhbmNvdW50ZXIgPCBFVEhfUlhCVUZOQikpCisgIHsKKyAgICAvKiBKdXN0IGZvciBzZWN1cml0eSAqLworICAgIGRlc2NyaXB0b3JzY2FuY291bnRlcisrOworCisgICAgLyogQ2hlY2sgaWYgZmlyc3Qgc2VnbWVudCBpbiBmcmFtZSAqLworICAgIC8qICgoaGV0aC0+UnhEZXNjLT5TdGF0dXMgJiBFVEhfRE1BUlhERVNDX0ZTKSAhPSAodWludDMyX3QpUkVTRVQpICYmICgoaGV0aC0+UnhEZXNjLT5TdGF0dXMgJiBFVEhfRE1BUlhERVNDX0xTKSA9PSAodWludDMyX3QpUkVTRVQpKSAqLworICAgIGlmKChoZXRoLT5SeERlc2MtPlN0YXR1cyAmIChFVEhfRE1BUlhERVNDX0ZTIHwgRVRIX0RNQVJYREVTQ19MUykpID09ICh1aW50MzJfdClFVEhfRE1BUlhERVNDX0ZTKQorICAgIHsKKyAgICAgIGhldGgtPlJ4RnJhbWVJbmZvcy5GU1J4RGVzYyA9IGhldGgtPlJ4RGVzYzsKKyAgICAgIGhldGgtPlJ4RnJhbWVJbmZvcy5TZWdDb3VudCA9IDE7CisgICAgICAvKiBQb2ludCB0byBuZXh0IGRlc2NyaXB0b3IgKi8KKyAgICAgIGhldGgtPlJ4RGVzYyA9IChFVEhfRE1BRGVzY1R5cGVEZWYqKSAoaGV0aC0+UnhEZXNjLT5CdWZmZXIyTmV4dERlc2NBZGRyKTsKKyAgICB9CisgICAgLyogQ2hlY2sgaWYgaW50ZXJtZWRpYXRlIHNlZ21lbnQgKi8KKyAgICAvKiAoKGhldGgtPlJ4RGVzYy0+U3RhdHVzICYgRVRIX0RNQVJYREVTQ19MUykgPT0gKHVpbnQzMl90KVJFU0VUKSYmICgoaGV0aC0+UnhEZXNjLT5TdGF0dXMgJiBFVEhfRE1BUlhERVNDX0ZTKSA9PSAodWludDMyX3QpUkVTRVQpKSAqLworICAgIGVsc2UgaWYgKChoZXRoLT5SeERlc2MtPlN0YXR1cyAmIChFVEhfRE1BUlhERVNDX0xTIHwgRVRIX0RNQVJYREVTQ19GUykpID09ICh1aW50MzJfdClSRVNFVCkKKyAgICB7CisgICAgICAvKiBJbmNyZW1lbnQgc2VnbWVudCBjb3VudCAqLworICAgICAgKGhldGgtPlJ4RnJhbWVJbmZvcy5TZWdDb3VudCkrKzsKKyAgICAgIC8qIFBvaW50IHRvIG5leHQgZGVzY3JpcHRvciAqLworICAgICAgaGV0aC0+UnhEZXNjID0gKEVUSF9ETUFEZXNjVHlwZURlZiopKGhldGgtPlJ4RGVzYy0+QnVmZmVyMk5leHREZXNjQWRkcik7CisgICAgfQorICAgIC8qIFNob3VsZCBiZSBsYXN0IHNlZ21lbnQgKi8KKyAgICBlbHNlCisgICAgeworICAgICAgLyogTGFzdCBzZWdtZW50ICovCisgICAgICBoZXRoLT5SeEZyYW1lSW5mb3MuTFNSeERlc2MgPSBoZXRoLT5SeERlc2M7CisKKyAgICAgIC8qIEluY3JlbWVudCBzZWdtZW50IGNvdW50ICovCisgICAgICAoaGV0aC0+UnhGcmFtZUluZm9zLlNlZ0NvdW50KSsrOworCisgICAgICAvKiBDaGVjayBpZiBsYXN0IHNlZ21lbnQgaXMgZmlyc3Qgc2VnbWVudDogb25lIHNlZ21lbnQgY29udGFpbnMgdGhlIGZyYW1lICovCisgICAgICBpZiAoKGhldGgtPlJ4RnJhbWVJbmZvcy5TZWdDb3VudCkgPT0gMSkKKyAgICAgIHsKKyAgICAgICAgaGV0aC0+UnhGcmFtZUluZm9zLkZTUnhEZXNjID0gaGV0aC0+UnhEZXNjOworICAgICAgfQorCisgICAgICAvKiBHZXQgdGhlIEZyYW1lIExlbmd0aCBvZiB0aGUgcmVjZWl2ZWQgcGFja2V0OiBzdWJzdHJ1Y3QgNCBieXRlcyBvZiB0aGUgQ1JDICovCisgICAgICBoZXRoLT5SeEZyYW1lSW5mb3MubGVuZ3RoID0gKCgoaGV0aC0+UnhEZXNjKS0+U3RhdHVzICYgRVRIX0RNQVJYREVTQ19GTCkgPj4gRVRIX0RNQVJYREVTQ19GUkFNRUxFTkdUSFNISUZUKSAtIDQ7CisKKyAgICAgIC8qIEdldCB0aGUgYWRkcmVzcyBvZiB0aGUgYnVmZmVyIHN0YXJ0IGFkZHJlc3MgKi8KKyAgICAgIGhldGgtPlJ4RnJhbWVJbmZvcy5idWZmZXIgPSgoaGV0aC0+UnhGcmFtZUluZm9zKS5GU1J4RGVzYyktPkJ1ZmZlcjFBZGRyOworCisgICAgICAvKiBQb2ludCB0byBuZXh0IGRlc2NyaXB0b3IgKi8KKyAgICAgIGhldGgtPlJ4RGVzYyA9IChFVEhfRE1BRGVzY1R5cGVEZWYqKSAoaGV0aC0+UnhEZXNjLT5CdWZmZXIyTmV4dERlc2NBZGRyKTsKKworICAgICAgLyogU2V0IEhBTCBTdGF0ZSB0byBSZWFkeSAqLworICAgICAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX1JFQURZOworCisgICAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCisgICAgICBfX0hBTF9VTkxPQ0soaGV0aCk7CisKKyAgICAgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KKyAgICAgIHJldHVybiBIQUxfT0s7CisgICAgfQorICB9CisKKyAgLyogU2V0IEhBTCBTdGF0ZSB0byBSZWFkeSAqLworICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfUkVBRFk7CisKKyAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICBfX0hBTF9VTkxPQ0soaGV0aCk7CisKKyAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLworICByZXR1cm4gSEFMX0VSUk9SOworfQorCisvKioKKyAgKiBAYnJpZWYgIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBFVEggaW50ZXJydXB0IHJlcXVlc3QuCisgICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLwordm9pZCBIQUxfRVRIX0lSUUhhbmRsZXIoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIC8qIEZyYW1lIHJlY2VpdmVkICovCisgIGlmIChfX0hBTF9FVEhfRE1BX0dFVF9GTEFHKGhldGgsIEVUSF9ETUFfRkxBR19SKSkKKyAgeworI2lmIChVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKKyAgICAvKkNhbGwgcmVnaXN0ZXJlZCBSZWNlaXZlIGNvbXBsZXRlIGNhbGxiYWNrKi8KKyAgICBoZXRoLT5SeENwbHRDYWxsYmFjayhoZXRoKTsKKyNlbHNlCisgICAgLyogUmVjZWl2ZSBjb21wbGV0ZSBjYWxsYmFjayAqLworICAgIEhBTF9FVEhfUnhDcGx0Q2FsbGJhY2soaGV0aCk7CisjZW5kaWYgLyogVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisKKyAgICAgLyogQ2xlYXIgdGhlIEV0aCBETUEgUnggSVQgcGVuZGluZyBiaXRzICovCisgICAgX19IQUxfRVRIX0RNQV9DTEVBUl9JVChoZXRoLCBFVEhfRE1BX0lUX1IpOworCisgICAgLyogU2V0IEhBTCBTdGF0ZSB0byBSZWFkeSAqLworICAgIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9SRUFEWTsKKworICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KKyAgICBfX0hBTF9VTkxPQ0soaGV0aCk7CisKKyAgfQorICAvKiBGcmFtZSB0cmFuc21pdHRlZCAqLworICBlbHNlIGlmIChfX0hBTF9FVEhfRE1BX0dFVF9GTEFHKGhldGgsIEVUSF9ETUFfRkxBR19UKSkKKyAgeworI2lmIChVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKKyAgICAvKiAgQ2FsbCByZXNnaXN0ZXJlZCBUcmFuc2ZlciBjb21wbGV0ZSBjYWxsYmFjayovCisgICAgaGV0aC0+VHhDcGx0Q2FsbGJhY2soaGV0aCk7CisjZWxzZQorICAgIC8qIFRyYW5zZmVyIGNvbXBsZXRlIGNhbGxiYWNrICovCisgICAgSEFMX0VUSF9UeENwbHRDYWxsYmFjayhoZXRoKTsKKyNlbmRpZiAvKiBVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KKworICAgIC8qIENsZWFyIHRoZSBFdGggRE1BIFR4IElUIHBlbmRpbmcgYml0cyAqLworICAgIF9fSEFMX0VUSF9ETUFfQ0xFQVJfSVQoaGV0aCwgRVRIX0RNQV9JVF9UKTsKKworICAgIC8qIFNldCBIQUwgU3RhdGUgdG8gUmVhZHkgKi8KKyAgICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfUkVBRFk7CisKKyAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCisgICAgX19IQUxfVU5MT0NLKGhldGgpOworICB9CisKKyAgLyogQ2xlYXIgdGhlIGludGVycnVwdCBmbGFncyAqLworICBfX0hBTF9FVEhfRE1BX0NMRUFSX0lUKGhldGgsIEVUSF9ETUFfSVRfTklTKTsKKworICAvKiBFVEggRE1BIEVycm9yICovCisgIGlmKF9fSEFMX0VUSF9ETUFfR0VUX0ZMQUcoaGV0aCwgRVRIX0RNQV9GTEFHX0FJUykpCisgIHsKKyNpZiAoVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCisgICAgaGV0aC0+RE1BRXJyb3JDYWxsYmFjayhoZXRoKTsKKyNlbHNlCisgICAgLyogRXRoZXJuZXQgRXJyb3IgY2FsbGJhY2sgKi8KKyAgICBIQUxfRVRIX0Vycm9yQ2FsbGJhY2soaGV0aCk7CisjZW5kaWYgLyogVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisKKyAgICAvKiBDbGVhciB0aGUgaW50ZXJydXB0IGZsYWdzICovCisgICAgX19IQUxfRVRIX0RNQV9DTEVBUl9JVChoZXRoLCBFVEhfRE1BX0ZMQUdfQUlTKTsKKworICAgIC8qIFNldCBIQUwgU3RhdGUgdG8gUmVhZHkgKi8KKyAgICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfUkVBRFk7CisKKyAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCisgICAgX19IQUxfVU5MT0NLKGhldGgpOworICB9Cit9CisKKy8qKgorICAqIEBicmllZiAgVHggVHJhbnNmZXIgY29tcGxldGVkIGNhbGxiYWNrcy4KKyAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHJldHZhbCBOb25lCisgICovCitfX3dlYWsgdm9pZCBIQUxfRVRIX1R4Q3BsdENhbGxiYWNrKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQoreworICAvKiBQcmV2ZW50IHVudXNlZCBhcmd1bWVudChzKSBjb21waWxhdGlvbiB3YXJuaW5nICovCisgIFVOVVNFRChoZXRoKTsKKworICAvKiBOT1RFIDogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCisgIHRoZSBIQUxfRVRIX1R4Q3BsdENhbGxiYWNrIGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKKyAgKi8KK30KKworLyoqCisgICogQGJyaWVmICBSeCBUcmFuc2ZlciBjb21wbGV0ZWQgY2FsbGJhY2tzLgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK19fd2VhayB2b2lkIEhBTF9FVEhfUnhDcGx0Q2FsbGJhY2soRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIC8qIFByZXZlbnQgdW51c2VkIGFyZ3VtZW50KHMpIGNvbXBpbGF0aW9uIHdhcm5pbmcgKi8KKyAgVU5VU0VEKGhldGgpOworCisgIC8qIE5PVEUgOiBUaGlzIGZ1bmN0aW9uIFNob3VsZCBub3QgYmUgbW9kaWZpZWQsIHdoZW4gdGhlIGNhbGxiYWNrIGlzIG5lZWRlZCwKKyAgdGhlIEhBTF9FVEhfUnhDcGx0Q2FsbGJhY2sgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQorICAqLworfQorCisvKioKKyAgKiBAYnJpZWYgIEV0aGVybmV0IHRyYW5zZmVyIGVycm9yIGNhbGxiYWNrcworICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK19fd2VhayB2b2lkIEhBTF9FVEhfRXJyb3JDYWxsYmFjayhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgLyogUHJldmVudCB1bnVzZWQgYXJndW1lbnQocykgY29tcGlsYXRpb24gd2FybmluZyAqLworICBVTlVTRUQoaGV0aCk7CisKKyAgLyogTk9URSA6IFRoaXMgZnVuY3Rpb24gU2hvdWxkIG5vdCBiZSBtb2RpZmllZCwgd2hlbiB0aGUgY2FsbGJhY2sgaXMgbmVlZGVkLAorICB0aGUgSEFMX0VUSF9FcnJvckNhbGxiYWNrIGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKKyAgKi8KK30KKworLyoqCisgICogQGJyaWVmICBSZWFkcyBhIFBIWSByZWdpc3RlcgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcGFyYW0gUEhZUmVnIFBIWSByZWdpc3RlciBhZGRyZXNzLCBpcyB0aGUgaW5kZXggb2Ygb25lIG9mIHRoZSAzMiBQSFkgcmVnaXN0ZXIuCisgICogICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKKyAgKiAgICAgICAgICAgICAgICAgICBQSFlfQkNSOiBUcmFuc2NlaXZlciBCYXNpYyBDb250cm9sIFJlZ2lzdGVyLAorICAqICAgICAgICAgICAgICAgICAgIFBIWV9CU1I6IFRyYW5zY2VpdmVyIEJhc2ljIFN0YXR1cyBSZWdpc3Rlci4KKyAgKiAgICAgICAgICAgICAgICAgICBNb3JlIFBIWSByZWdpc3RlciBjb3VsZCBiZSByZWFkIGRlcGVuZGluZyBvbiB0aGUgdXNlZCBQSFkKKyAgKiBAcGFyYW0gUmVnVmFsdWUgUEhZIHJlZ2lzdGVyIHZhbHVlCisgICogQHJldHZhbCBIQUwgc3RhdHVzCisgICovCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1JlYWRQSFlSZWdpc3RlcihFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgdWludDE2X3QgUEhZUmVnLCB1aW50MzJfdCAqUmVnVmFsdWUpCit7CisgIHVpbnQzMl90IHRtcHJlZyA9IDA7CisgIHVpbnQzMl90IHRpY2tzdGFydCA9IDA7CisKKyAgLyogQ2hlY2sgcGFyYW1ldGVycyAqLworICBhc3NlcnRfcGFyYW0oSVNfRVRIX1BIWV9BRERSRVNTKGhldGgtPkluaXQuUGh5QWRkcmVzcykpOworCisgIC8qIENoZWNrIHRoZSBFVEggcGVyaXBoZXJhbCBzdGF0ZSAqLworICBpZihoZXRoLT5TdGF0ZSA9PSBIQUxfRVRIX1NUQVRFX0JVU1lfUkQpCisgIHsKKyAgICByZXR1cm4gSEFMX0JVU1k7CisgIH0KKyAgLyogU2V0IEVUSCBIQUwgU3RhdGUgdG8gQlVTWV9SRCAqLworICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfQlVTWV9SRDsKKworICAvKiBHZXQgdGhlIEVUSEVSTkVUIE1BQ01JSUFSIHZhbHVlICovCisgIHRtcHJlZyA9IGhldGgtPkluc3RhbmNlLT5NQUNNSUlBUjsKKworICAvKiBLZWVwIG9ubHkgdGhlIENTUiBDbG9jayBSYW5nZSBDUlsyOjBdIGJpdHMgdmFsdWUgKi8KKyAgdG1wcmVnICY9IH5FVEhfTUFDTUlJQVJfQ1JfTUFTSzsKKworICAvKiBQcmVwYXJlIHRoZSBNSUkgYWRkcmVzcyByZWdpc3RlciB2YWx1ZSAqLworICB0bXByZWcgfD0oKCh1aW50MzJfdCloZXRoLT5Jbml0LlBoeUFkZHJlc3MgPDwgMTEpICYgRVRIX01BQ01JSUFSX1BBKTsgLyogU2V0IHRoZSBQSFkgZGV2aWNlIGFkZHJlc3MgICAqLworICB0bXByZWcgfD0oKCh1aW50MzJfdClQSFlSZWc8PDYpICYgRVRIX01BQ01JSUFSX01SKTsgICAgICAgICAgICAgICAgICAgLyogU2V0IHRoZSBQSFkgcmVnaXN0ZXIgYWRkcmVzcyAqLworICB0bXByZWcgJj0gfkVUSF9NQUNNSUlBUl9NVzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogU2V0IHRoZSByZWFkIG1vZGUgICAgICAgICAgICAqLworICB0bXByZWcgfD0gRVRIX01BQ01JSUFSX01COyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogU2V0IHRoZSBNSUkgQnVzeSBiaXQgICAgICAgICAqLworCisgIC8qIFdyaXRlIHRoZSByZXN1bHQgdmFsdWUgaW50byB0aGUgTUlJIEFkZHJlc3MgcmVnaXN0ZXIgKi8KKyAgaGV0aC0+SW5zdGFuY2UtPk1BQ01JSUFSID0gdG1wcmVnOworCisgIC8qIEdldCB0aWNrICovCisgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CisKKyAgLyogQ2hlY2sgZm9yIHRoZSBCdXN5IGZsYWcgKi8KKyAgd2hpbGUoKHRtcHJlZyAmIEVUSF9NQUNNSUlBUl9NQikgPT0gRVRIX01BQ01JSUFSX01CKQorICB7CisgICAgLyogQ2hlY2sgZm9yIHRoZSBUaW1lb3V0ICovCisgICAgaWYoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IFBIWV9SRUFEX1RPKQorICAgIHsKKyAgICAgIGhldGgtPlN0YXRlPSBIQUxfRVRIX1NUQVRFX1JFQURZOworCisgICAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCisgICAgICBfX0hBTF9VTkxPQ0soaGV0aCk7CisKKyAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKKyAgICB9CisKKyAgICB0bXByZWcgPSBoZXRoLT5JbnN0YW5jZS0+TUFDTUlJQVI7CisgIH0KKworICAvKiBHZXQgTUFDTUlJRFIgdmFsdWUgKi8KKyAgKlJlZ1ZhbHVlID0gKHVpbnQxNl90KShoZXRoLT5JbnN0YW5jZS0+TUFDTUlJRFIpOworCisgIC8qIFNldCBFVEggSEFMIFN0YXRlIHRvIFJFQURZICovCisgIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9SRUFEWTsKKworICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCisgIHJldHVybiBIQUxfT0s7Cit9CisKKy8qKgorICAqIEBicmllZiAgV3JpdGVzIHRvIGEgUEhZIHJlZ2lzdGVyLgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcGFyYW0gIFBIWVJlZyBQSFkgcmVnaXN0ZXIgYWRkcmVzcywgaXMgdGhlIGluZGV4IG9mIG9uZSBvZiB0aGUgMzIgUEhZIHJlZ2lzdGVyLgorICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisgICogICAgICAgICAgICAgUEhZX0JDUjogVHJhbnNjZWl2ZXIgQ29udHJvbCBSZWdpc3Rlci4KKyAgKiAgICAgICAgICAgICBNb3JlIFBIWSByZWdpc3RlciBjb3VsZCBiZSB3cml0dGVuIGRlcGVuZGluZyBvbiB0aGUgdXNlZCBQSFkKKyAgKiBAcGFyYW0gIFJlZ1ZhbHVlIHRoZSB2YWx1ZSB0byB3cml0ZQorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9Xcml0ZVBIWVJlZ2lzdGVyKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCB1aW50MTZfdCBQSFlSZWcsIHVpbnQzMl90IFJlZ1ZhbHVlKQoreworICB1aW50MzJfdCB0bXByZWcgPSAwOworICB1aW50MzJfdCB0aWNrc3RhcnQgPSAwOworCisgIC8qIENoZWNrIHBhcmFtZXRlcnMgKi8KKyAgYXNzZXJ0X3BhcmFtKElTX0VUSF9QSFlfQUREUkVTUyhoZXRoLT5Jbml0LlBoeUFkZHJlc3MpKTsKKworICAvKiBDaGVjayB0aGUgRVRIIHBlcmlwaGVyYWwgc3RhdGUgKi8KKyAgaWYoaGV0aC0+U3RhdGUgPT0gSEFMX0VUSF9TVEFURV9CVVNZX1dSKQorICB7CisgICAgcmV0dXJuIEhBTF9CVVNZOworICB9CisgIC8qIFNldCBFVEggSEFMIFN0YXRlIHRvIEJVU1lfV1IgKi8KKyAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX0JVU1lfV1I7CisKKyAgLyogR2V0IHRoZSBFVEhFUk5FVCBNQUNNSUlBUiB2YWx1ZSAqLworICB0bXByZWcgPSBoZXRoLT5JbnN0YW5jZS0+TUFDTUlJQVI7CisKKyAgLyogS2VlcCBvbmx5IHRoZSBDU1IgQ2xvY2sgUmFuZ2UgQ1JbMjowXSBiaXRzIHZhbHVlICovCisgIHRtcHJlZyAmPSB+RVRIX01BQ01JSUFSX0NSX01BU0s7CisKKyAgLyogUHJlcGFyZSB0aGUgTUlJIHJlZ2lzdGVyIGFkZHJlc3MgdmFsdWUgKi8KKyAgdG1wcmVnIHw9KCgodWludDMyX3QpaGV0aC0+SW5pdC5QaHlBZGRyZXNzPDwxMSkgJiBFVEhfTUFDTUlJQVJfUEEpOyAvKiBTZXQgdGhlIFBIWSBkZXZpY2UgYWRkcmVzcyAqLworICB0bXByZWcgfD0oKCh1aW50MzJfdClQSFlSZWc8PDYpICYgRVRIX01BQ01JSUFSX01SKTsgICAgICAgICAgICAgICAgIC8qIFNldCB0aGUgUEhZIHJlZ2lzdGVyIGFkZHJlc3MgKi8KKyAgdG1wcmVnIHw9IEVUSF9NQUNNSUlBUl9NVzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgdGhlIHdyaXRlIG1vZGUgKi8KKyAgdG1wcmVnIHw9IEVUSF9NQUNNSUlBUl9NQjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgdGhlIE1JSSBCdXN5IGJpdCAqLworCisgIC8qIEdpdmUgdGhlIHZhbHVlIHRvIHRoZSBNSUkgZGF0YSByZWdpc3RlciAqLworICBoZXRoLT5JbnN0YW5jZS0+TUFDTUlJRFIgPSAodWludDE2X3QpUmVnVmFsdWU7CisKKyAgLyogV3JpdGUgdGhlIHJlc3VsdCB2YWx1ZSBpbnRvIHRoZSBNSUkgQWRkcmVzcyByZWdpc3RlciAqLworICBoZXRoLT5JbnN0YW5jZS0+TUFDTUlJQVIgPSB0bXByZWc7CisKKyAgLyogR2V0IHRpY2sgKi8KKyAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKKworICAvKiBDaGVjayBmb3IgdGhlIEJ1c3kgZmxhZyAqLworICB3aGlsZSgodG1wcmVnICYgRVRIX01BQ01JSUFSX01CKSA9PSBFVEhfTUFDTUlJQVJfTUIpCisgIHsKKyAgICAvKiBDaGVjayBmb3IgdGhlIFRpbWVvdXQgKi8KKyAgICBpZigoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCApID4gUEhZX1dSSVRFX1RPKQorICAgIHsKKyAgICAgIGhldGgtPlN0YXRlPSBIQUxfRVRIX1NUQVRFX1JFQURZOworCisgICAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCisgICAgICBfX0hBTF9VTkxPQ0soaGV0aCk7CisKKyAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKKyAgICB9CisKKyAgICB0bXByZWcgPSBoZXRoLT5JbnN0YW5jZS0+TUFDTUlJQVI7CisgIH0KKworICAvKiBTZXQgRVRIIEhBTCBTdGF0ZSB0byBSRUFEWSAqLworICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfUkVBRFk7CisKKyAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLworICByZXR1cm4gSEFMX09LOworfQorCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAzIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMKKyAqICBAYnJpZWYgICAgUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucworICoKK0B2ZXJiYXRpbQorID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAgICAgICAgICAgICAgICAgICMjIyMjIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMgIyMjIyMKKyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgICAgWy4uXSAgVGhpcyBzZWN0aW9uIHByb3ZpZGVzIGZ1bmN0aW9ucyBhbGxvd2luZyB0bzoKKyAgICAgICgrKSBFbmFibGUgTUFDIGFuZCBETUEgdHJhbnNtaXNzaW9uIGFuZCByZWNlcHRpb24uCisgICAgICAgICAgSEFMX0VUSF9TdGFydCgpOworICAgICAgKCspIERpc2FibGUgTUFDIGFuZCBETUEgdHJhbnNtaXNzaW9uIGFuZCByZWNlcHRpb24uCisgICAgICAgICAgSEFMX0VUSF9TdG9wKCk7CisgICAgICAoKykgU2V0IHRoZSBNQUMgY29uZmlndXJhdGlvbiBpbiBydW50aW1lIG1vZGUKKyAgICAgICAgICBIQUxfRVRIX0NvbmZpZ01BQygpOworICAgICAgKCspIFNldCB0aGUgRE1BIGNvbmZpZ3VyYXRpb24gaW4gcnVudGltZSBtb2RlCisgICAgICAgICAgSEFMX0VUSF9Db25maWdETUEoKTsKKworQGVuZHZlcmJhdGltCisgICogQHsKKyAgKi8KKworIC8qKgorICAqIEBicmllZiAgRW5hYmxlcyBFdGhlcm5ldCBNQUMgYW5kIERNQSByZWNlcHRpb24vdHJhbnNtaXNzaW9uCisgICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9TdGFydChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgLyogUHJvY2VzcyBMb2NrZWQgKi8KKyAgX19IQUxfTE9DSyhoZXRoKTsKKworICAvKiBTZXQgdGhlIEVUSCBwZXJpcGhlcmFsIHN0YXRlIHRvIEJVU1kgKi8KKyAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX0JVU1k7CisKKyAgLyogRW5hYmxlIHRyYW5zbWl0IHN0YXRlIG1hY2hpbmUgb2YgdGhlIE1BQyBmb3IgdHJhbnNtaXNzaW9uIG9uIHRoZSBNSUkgKi8KKyAgRVRIX01BQ1RyYW5zbWlzc2lvbkVuYWJsZShoZXRoKTsKKworICAvKiBFbmFibGUgcmVjZWl2ZSBzdGF0ZSBtYWNoaW5lIG9mIHRoZSBNQUMgZm9yIHJlY2VwdGlvbiBmcm9tIHRoZSBNSUkgKi8KKyAgRVRIX01BQ1JlY2VwdGlvbkVuYWJsZShoZXRoKTsKKworICAvKiBGbHVzaCBUcmFuc21pdCBGSUZPICovCisgIEVUSF9GbHVzaFRyYW5zbWl0RklGTyhoZXRoKTsKKworICAvKiBTdGFydCBETUEgdHJhbnNtaXNzaW9uICovCisgIEVUSF9ETUFUcmFuc21pc3Npb25FbmFibGUoaGV0aCk7CisKKyAgLyogU3RhcnQgRE1BIHJlY2VwdGlvbiAqLworICBFVEhfRE1BUmVjZXB0aW9uRW5hYmxlKGhldGgpOworCisgIC8qIFNldCB0aGUgRVRIIHN0YXRlIHRvIFJFQURZKi8KKyAgaGV0aC0+U3RhdGU9IEhBTF9FVEhfU1RBVEVfUkVBRFk7CisKKyAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICBfX0hBTF9VTkxPQ0soaGV0aCk7CisKKyAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLworICByZXR1cm4gSEFMX09LOworfQorCisvKioKKyAgKiBAYnJpZWYgIFN0b3AgRXRoZXJuZXQgTUFDIGFuZCBETUEgcmVjZXB0aW9uL3RyYW5zbWlzc2lvbgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfU3RvcChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgLyogUHJvY2VzcyBMb2NrZWQgKi8KKyAgX19IQUxfTE9DSyhoZXRoKTsKKworICAvKiBTZXQgdGhlIEVUSCBwZXJpcGhlcmFsIHN0YXRlIHRvIEJVU1kgKi8KKyAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX0JVU1k7CisKKyAgLyogU3RvcCBETUEgdHJhbnNtaXNzaW9uICovCisgIEVUSF9ETUFUcmFuc21pc3Npb25EaXNhYmxlKGhldGgpOworCisgIC8qIFN0b3AgRE1BIHJlY2VwdGlvbiAqLworICBFVEhfRE1BUmVjZXB0aW9uRGlzYWJsZShoZXRoKTsKKworICAvKiBEaXNhYmxlIHJlY2VpdmUgc3RhdGUgbWFjaGluZSBvZiB0aGUgTUFDIGZvciByZWNlcHRpb24gZnJvbSB0aGUgTUlJICovCisgIEVUSF9NQUNSZWNlcHRpb25EaXNhYmxlKGhldGgpOworCisgIC8qIEZsdXNoIFRyYW5zbWl0IEZJRk8gKi8KKyAgRVRIX0ZsdXNoVHJhbnNtaXRGSUZPKGhldGgpOworCisgIC8qIERpc2FibGUgdHJhbnNtaXQgc3RhdGUgbWFjaGluZSBvZiB0aGUgTUFDIGZvciB0cmFuc21pc3Npb24gb24gdGhlIE1JSSAqLworICBFVEhfTUFDVHJhbnNtaXNzaW9uRGlzYWJsZShoZXRoKTsKKworICAvKiBTZXQgdGhlIEVUSCBzdGF0ZSovCisgIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9SRUFEWTsKKworICAvKiBQcm9jZXNzIFVubG9ja2VkICovCisgIF9fSEFMX1VOTE9DSyhoZXRoKTsKKworICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCisgIHJldHVybiBIQUxfT0s7Cit9CisKKy8qKgorICAqIEBicmllZiAgU2V0IEVUSCBNQUMgQ29uZmlndXJhdGlvbi4KKyAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHBhcmFtICBtYWNjb25mIE1BQyBDb25maWd1cmF0aW9uIHN0cnVjdHVyZQorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9Db25maWdNQUMoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9NQUNJbml0VHlwZURlZiAqbWFjY29uZikKK3sKKyAgdWludDMyX3QgdG1wcmVnID0gMDsKKworICAvKiBQcm9jZXNzIExvY2tlZCAqLworICBfX0hBTF9MT0NLKGhldGgpOworCisgIC8qIFNldCB0aGUgRVRIIHBlcmlwaGVyYWwgc3RhdGUgdG8gQlVTWSAqLworICBoZXRoLT5TdGF0ZT0gSEFMX0VUSF9TVEFURV9CVVNZOworCisgIGFzc2VydF9wYXJhbShJU19FVEhfU1BFRUQoaGV0aC0+SW5pdC5TcGVlZCkpOworICBhc3NlcnRfcGFyYW0oSVNfRVRIX0RVUExFWF9NT0RFKGhldGgtPkluaXQuRHVwbGV4TW9kZSkpOworCisgIGlmIChtYWNjb25mICE9IE5VTEwpCisgIHsKKyAgICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLworICAgIGFzc2VydF9wYXJhbShJU19FVEhfV0FUQ0hET0cobWFjY29uZi0+V2F0Y2hkb2cpKTsKKyAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX0pBQkJFUihtYWNjb25mLT5KYWJiZXIpKTsKKyAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX0lOVEVSX0ZSQU1FX0dBUChtYWNjb25mLT5JbnRlckZyYW1lR2FwKSk7CisgICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9DQVJSSUVSX1NFTlNFKG1hY2NvbmYtPkNhcnJpZXJTZW5zZSkpOworICAgIGFzc2VydF9wYXJhbShJU19FVEhfUkVDRUlWRV9PV04obWFjY29uZi0+UmVjZWl2ZU93bikpOworICAgIGFzc2VydF9wYXJhbShJU19FVEhfTE9PUEJBQ0tfTU9ERShtYWNjb25mLT5Mb29wYmFja01vZGUpKTsKKyAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX0NIRUNLU1VNX09GRkxPQUQobWFjY29uZi0+Q2hlY2tzdW1PZmZsb2FkKSk7CisgICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9SRVRSWV9UUkFOU01JU1NJT04obWFjY29uZi0+UmV0cnlUcmFuc21pc3Npb24pKTsKKyAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX0FVVE9NQVRJQ19QQURDUkNfU1RSSVAobWFjY29uZi0+QXV0b21hdGljUGFkQ1JDU3RyaXApKTsKKyAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX0JBQ0tPRkZfTElNSVQobWFjY29uZi0+QmFja09mZkxpbWl0KSk7CisgICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9ERUZFUlJBTF9DSEVDSyhtYWNjb25mLT5EZWZlcnJhbENoZWNrKSk7CisgICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9SRUNFSVZFX0FMTChtYWNjb25mLT5SZWNlaXZlQWxsKSk7CisgICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9TT1VSQ0VfQUREUl9GSUxURVIobWFjY29uZi0+U291cmNlQWRkckZpbHRlcikpOworICAgIGFzc2VydF9wYXJhbShJU19FVEhfQ09OVFJPTF9GUkFNRVMobWFjY29uZi0+UGFzc0NvbnRyb2xGcmFtZXMpKTsKKyAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX0JST0FEQ0FTVF9GUkFNRVNfUkVDRVBUSU9OKG1hY2NvbmYtPkJyb2FkY2FzdEZyYW1lc1JlY2VwdGlvbikpOworICAgIGFzc2VydF9wYXJhbShJU19FVEhfREVTVElOQVRJT05fQUREUl9GSUxURVIobWFjY29uZi0+RGVzdGluYXRpb25BZGRyRmlsdGVyKSk7CisgICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9QUk9NSVNDVU9VU19NT0RFKG1hY2NvbmYtPlByb21pc2N1b3VzTW9kZSkpOworICAgIGFzc2VydF9wYXJhbShJU19FVEhfTVVMVElDQVNUX0ZSQU1FU19GSUxURVIobWFjY29uZi0+TXVsdGljYXN0RnJhbWVzRmlsdGVyKSk7CisgICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9VTklDQVNUX0ZSQU1FU19GSUxURVIobWFjY29uZi0+VW5pY2FzdEZyYW1lc0ZpbHRlcikpOworICAgIGFzc2VydF9wYXJhbShJU19FVEhfUEFVU0VfVElNRShtYWNjb25mLT5QYXVzZVRpbWUpKTsKKyAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX1pFUk9RVUFOVEFfUEFVU0UobWFjY29uZi0+WmVyb1F1YW50YVBhdXNlKSk7CisgICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9QQVVTRV9MT1dfVEhSRVNIT0xEKG1hY2NvbmYtPlBhdXNlTG93VGhyZXNob2xkKSk7CisgICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9VTklDQVNUX1BBVVNFX0ZSQU1FX0RFVEVDVChtYWNjb25mLT5VbmljYXN0UGF1c2VGcmFtZURldGVjdCkpOworICAgIGFzc2VydF9wYXJhbShJU19FVEhfUkVDRUlWRV9GTE9XQ09OVFJPTChtYWNjb25mLT5SZWNlaXZlRmxvd0NvbnRyb2wpKTsKKyAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX1RSQU5TTUlUX0ZMT1dDT05UUk9MKG1hY2NvbmYtPlRyYW5zbWl0Rmxvd0NvbnRyb2wpKTsKKyAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX1ZMQU5fVEFHX0NPTVBBUklTT04obWFjY29uZi0+VkxBTlRhZ0NvbXBhcmlzb24pKTsKKyAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX1ZMQU5fVEFHX0lERU5USUZJRVIobWFjY29uZi0+VkxBTlRhZ0lkZW50aWZpZXIpKTsKKworICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVUSEVSTkVUIE1BQ0NSIENvbmZpZ3VyYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworICAgIC8qIEdldCB0aGUgRVRIRVJORVQgTUFDQ1IgdmFsdWUgKi8KKyAgICB0bXByZWcgPSAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUjsKKyAgICAvKiBDbGVhciBXRCwgUENFLCBQUywgVEUgYW5kIFJFIGJpdHMgKi8KKyAgICB0bXByZWcgJj0gRVRIX01BQ0NSX0NMRUFSX01BU0s7CisKKyAgICB0bXByZWcgfD0gKHVpbnQzMl90KShtYWNjb25mLT5XYXRjaGRvZyB8CisgICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+SmFiYmVyIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5JbnRlckZyYW1lR2FwIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5DYXJyaWVyU2Vuc2UgfAorICAgICAgICAgICAgICAgICAgICAgICAgIChoZXRoLT5Jbml0KS5TcGVlZCB8CisgICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+UmVjZWl2ZU93biB8CisgICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+TG9vcGJhY2tNb2RlIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAoaGV0aC0+SW5pdCkuRHVwbGV4TW9kZSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+Q2hlY2tzdW1PZmZsb2FkIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5SZXRyeVRyYW5zbWlzc2lvbiB8CisgICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+QXV0b21hdGljUGFkQ1JDU3RyaXAgfAorICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPkJhY2tPZmZMaW1pdCB8CisgICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+RGVmZXJyYWxDaGVjayk7CisKKyAgICAvKiBXcml0ZSB0byBFVEhFUk5FVCBNQUNDUiAqLworICAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSID0gKHVpbnQzMl90KXRtcHJlZzsKKworICAgIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudCA6CisgICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLworICAgIHRtcHJlZyA9IChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSOworICAgIEhBTF9EZWxheShFVEhfUkVHX1dSSVRFX0RFTEFZKTsKKyAgICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUiA9IHRtcHJlZzsKKworICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRVRIRVJORVQgTUFDRkZSIENvbmZpZ3VyYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworICAgIC8qIFdyaXRlIHRvIEVUSEVSTkVUIE1BQ0ZGUiAqLworICAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0ZGUiA9ICh1aW50MzJfdCkobWFjY29uZi0+UmVjZWl2ZUFsbCB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5Tb3VyY2VBZGRyRmlsdGVyIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPlBhc3NDb250cm9sRnJhbWVzIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPkJyb2FkY2FzdEZyYW1lc1JlY2VwdGlvbiB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5EZXN0aW5hdGlvbkFkZHJGaWx0ZXIgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+UHJvbWlzY3VvdXNNb2RlIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPk11bHRpY2FzdEZyYW1lc0ZpbHRlciB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5VbmljYXN0RnJhbWVzRmlsdGVyKTsKKworICAgICAvKiBXYWl0IHVudGlsIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQgOgorICAgICBhdCBsZWFzdCBmb3VyIFRYX0NMSy9SWF9DTEsgY2xvY2sgY3ljbGVzICovCisgICAgIHRtcHJlZyA9IChoZXRoLT5JbnN0YW5jZSktPk1BQ0ZGUjsKKyAgICAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOworICAgICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNGRlIgPSB0bXByZWc7CisKKyAgICAgLyotLS0tLS0tLS0tLS0tLS0gRVRIRVJORVQgTUFDSFRIUiBhbmQgTUFDSFRMUiBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLSovCisgICAgIC8qIFdyaXRlIHRvIEVUSEVSTkVUIE1BQ0hUSFIgKi8KKyAgICAgKGhldGgtPkluc3RhbmNlKS0+TUFDSFRIUiA9ICh1aW50MzJfdCltYWNjb25mLT5IYXNoVGFibGVIaWdoOworCisgICAgIC8qIFdyaXRlIHRvIEVUSEVSTkVUIE1BQ0hUTFIgKi8KKyAgICAgKGhldGgtPkluc3RhbmNlKS0+TUFDSFRMUiA9ICh1aW50MzJfdCltYWNjb25mLT5IYXNoVGFibGVMb3c7CisgICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRVRIRVJORVQgTUFDRkNSIENvbmZpZ3VyYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisgICAgIC8qIEdldCB0aGUgRVRIRVJORVQgTUFDRkNSIHZhbHVlICovCisgICAgIHRtcHJlZyA9IChoZXRoLT5JbnN0YW5jZSktPk1BQ0ZDUjsKKyAgICAgLyogQ2xlYXIgeHggYml0cyAqLworICAgICB0bXByZWcgJj0gRVRIX01BQ0ZDUl9DTEVBUl9NQVNLOworCisgICAgIHRtcHJlZyB8PSAodWludDMyX3QpKChtYWNjb25mLT5QYXVzZVRpbWUgPDwgMTYpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+WmVyb1F1YW50YVBhdXNlIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+UGF1c2VMb3dUaHJlc2hvbGQgfAorICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5VbmljYXN0UGF1c2VGcmFtZURldGVjdCB8CisgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPlJlY2VpdmVGbG93Q29udHJvbCB8CisgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPlRyYW5zbWl0Rmxvd0NvbnRyb2wpOworCisgICAgIC8qIFdyaXRlIHRvIEVUSEVSTkVUIE1BQ0ZDUiAqLworICAgICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNGQ1IgPSAodWludDMyX3QpdG1wcmVnOworCisgICAgIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudCA6CisgICAgIGF0IGxlYXN0IGZvdXIgVFhfQ0xLL1JYX0NMSyBjbG9jayBjeWNsZXMgKi8KKyAgICAgdG1wcmVnID0gKGhldGgtPkluc3RhbmNlKS0+TUFDRkNSOworICAgICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7CisgICAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0ZDUiA9IHRtcHJlZzsKKworICAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVUSEVSTkVUIE1BQ1ZMQU5UUiBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tKi8KKyAgICAgKGhldGgtPkluc3RhbmNlKS0+TUFDVkxBTlRSID0gKHVpbnQzMl90KShtYWNjb25mLT5WTEFOVGFnQ29tcGFyaXNvbiB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+VkxBTlRhZ0lkZW50aWZpZXIpOworCisgICAgICAvKiBXYWl0IHVudGlsIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQgOgorICAgICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLworICAgICAgdG1wcmVnID0gKGhldGgtPkluc3RhbmNlKS0+TUFDVkxBTlRSOworICAgICAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOworICAgICAgKGhldGgtPkluc3RhbmNlKS0+TUFDVkxBTlRSID0gdG1wcmVnOworICB9CisgIGVsc2UgLyogbWFjY29uZiA9PSBOVUxMIDogaGVyZSB3ZSBqdXN0IGNvbmZpZ3VyZSBTcGVlZCBhbmQgRHVwbGV4IG1vZGUgKi8KKyAgeworICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVUSEVSTkVUIE1BQ0NSIENvbmZpZ3VyYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworICAgIC8qIEdldCB0aGUgRVRIRVJORVQgTUFDQ1IgdmFsdWUgKi8KKyAgICB0bXByZWcgPSAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUjsKKworICAgIC8qIENsZWFyIEZFUyBhbmQgRE0gYml0cyAqLworICAgIHRtcHJlZyAmPSB+KCh1aW50MzJfdCkweDAwMDA0ODAwKTsKKworICAgIHRtcHJlZyB8PSAodWludDMyX3QpKGhldGgtPkluaXQuU3BlZWQgfCBoZXRoLT5Jbml0LkR1cGxleE1vZGUpOworCisgICAgLyogV3JpdGUgdG8gRVRIRVJORVQgTUFDQ1IgKi8KKyAgICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUiA9ICh1aW50MzJfdCl0bXByZWc7CisKKyAgICAvKiBXYWl0IHVudGlsIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQ6CisgICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLworICAgIHRtcHJlZyA9IChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSOworICAgIEhBTF9EZWxheShFVEhfUkVHX1dSSVRFX0RFTEFZKTsKKyAgICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUiA9IHRtcHJlZzsKKyAgfQorCisgIC8qIFNldCB0aGUgRVRIIHN0YXRlIHRvIFJlYWR5ICovCisgIGhldGgtPlN0YXRlPSBIQUxfRVRIX1NUQVRFX1JFQURZOworCisgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KKyAgX19IQUxfVU5MT0NLKGhldGgpOworCisgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KKyAgcmV0dXJuIEhBTF9PSzsKK30KKworLyoqCisgICogQGJyaWVmICBTZXRzIEVUSCBETUEgQ29uZmlndXJhdGlvbi4KKyAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHBhcmFtICBkbWFjb25mIERNQSBDb25maWd1cmF0aW9uIHN0cnVjdHVyZQorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9Db25maWdETUEoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9ETUFJbml0VHlwZURlZiAqZG1hY29uZikKK3sKKyAgdWludDMyX3QgdG1wcmVnID0gMDsKKworICAvKiBQcm9jZXNzIExvY2tlZCAqLworICBfX0hBTF9MT0NLKGhldGgpOworCisgIC8qIFNldCB0aGUgRVRIIHBlcmlwaGVyYWwgc3RhdGUgdG8gQlVTWSAqLworICBoZXRoLT5TdGF0ZT0gSEFMX0VUSF9TVEFURV9CVVNZOworCisgIC8qIENoZWNrIHBhcmFtZXRlcnMgKi8KKyAgYXNzZXJ0X3BhcmFtKElTX0VUSF9EUk9QX1RDUElQX0NIRUNLU1VNX0ZSQU1FKGRtYWNvbmYtPkRyb3BUQ1BJUENoZWNrc3VtRXJyb3JGcmFtZSkpOworICBhc3NlcnRfcGFyYW0oSVNfRVRIX1JFQ0VJVkVfU1RPUkVfRk9SV0FSRChkbWFjb25mLT5SZWNlaXZlU3RvcmVGb3J3YXJkKSk7CisgIGFzc2VydF9wYXJhbShJU19FVEhfRkxVU0hfUkVDRUlWRV9GUkFNRShkbWFjb25mLT5GbHVzaFJlY2VpdmVkRnJhbWUpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX0VUSF9UUkFOU01JVF9TVE9SRV9GT1JXQVJEKGRtYWNvbmYtPlRyYW5zbWl0U3RvcmVGb3J3YXJkKSk7CisgIGFzc2VydF9wYXJhbShJU19FVEhfVFJBTlNNSVRfVEhSRVNIT0xEX0NPTlRST0woZG1hY29uZi0+VHJhbnNtaXRUaHJlc2hvbGRDb250cm9sKSk7CisgIGFzc2VydF9wYXJhbShJU19FVEhfRk9SV0FSRF9FUlJPUl9GUkFNRVMoZG1hY29uZi0+Rm9yd2FyZEVycm9yRnJhbWVzKSk7CisgIGFzc2VydF9wYXJhbShJU19FVEhfRk9SV0FSRF9VTkRFUlNJWkVEX0dPT0RfRlJBTUVTKGRtYWNvbmYtPkZvcndhcmRVbmRlcnNpemVkR29vZEZyYW1lcykpOworICBhc3NlcnRfcGFyYW0oSVNfRVRIX1JFQ0VJVkVfVEhSRVNIT0xEX0NPTlRST0woZG1hY29uZi0+UmVjZWl2ZVRocmVzaG9sZENvbnRyb2wpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX0VUSF9TRUNPTkRfRlJBTUVfT1BFUkFURShkbWFjb25mLT5TZWNvbmRGcmFtZU9wZXJhdGUpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX0VUSF9BRERSRVNTX0FMSUdORURfQkVBVFMoZG1hY29uZi0+QWRkcmVzc0FsaWduZWRCZWF0cykpOworICBhc3NlcnRfcGFyYW0oSVNfRVRIX0ZJWEVEX0JVUlNUKGRtYWNvbmYtPkZpeGVkQnVyc3QpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX0VUSF9SWERNQV9CVVJTVF9MRU5HVEgoZG1hY29uZi0+UnhETUFCdXJzdExlbmd0aCkpOworICBhc3NlcnRfcGFyYW0oSVNfRVRIX1RYRE1BX0JVUlNUX0xFTkdUSChkbWFjb25mLT5UeERNQUJ1cnN0TGVuZ3RoKSk7CisgIGFzc2VydF9wYXJhbShJU19FVEhfRU5IQU5DRURfREVTQ1JJUFRPUl9GT1JNQVQoZG1hY29uZi0+RW5oYW5jZWREZXNjcmlwdG9yRm9ybWF0KSk7CisgIGFzc2VydF9wYXJhbShJU19FVEhfRE1BX0RFU0NfU0tJUF9MRU5HVEgoZG1hY29uZi0+RGVzY3JpcHRvclNraXBMZW5ndGgpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX0VUSF9ETUFfQVJCSVRSQVRJT05fUk9VTkRST0JJTl9SWFRYKGRtYWNvbmYtPkRNQUFyYml0cmF0aW9uKSk7CisKKyAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBFVEhFUk5FVCBETUFPTVIgQ29uZmlndXJhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLSovCisgIC8qIEdldCB0aGUgRVRIRVJORVQgRE1BT01SIHZhbHVlICovCisgIHRtcHJlZyA9IChoZXRoLT5JbnN0YW5jZSktPkRNQU9NUjsKKyAgLyogQ2xlYXIgeHggYml0cyAqLworICB0bXByZWcgJj0gRVRIX0RNQU9NUl9DTEVBUl9NQVNLOworCisgIHRtcHJlZyB8PSAodWludDMyX3QpKGRtYWNvbmYtPkRyb3BUQ1BJUENoZWNrc3VtRXJyb3JGcmFtZSB8CisgICAgICAgICAgICAgICAgICAgICAgIGRtYWNvbmYtPlJlY2VpdmVTdG9yZUZvcndhcmQgfAorICAgICAgICAgICAgICAgICAgICAgICBkbWFjb25mLT5GbHVzaFJlY2VpdmVkRnJhbWUgfAorICAgICAgICAgICAgICAgICAgICAgICBkbWFjb25mLT5UcmFuc21pdFN0b3JlRm9yd2FyZCB8CisgICAgICAgICAgICAgICAgICAgICAgIGRtYWNvbmYtPlRyYW5zbWl0VGhyZXNob2xkQ29udHJvbCB8CisgICAgICAgICAgICAgICAgICAgICAgIGRtYWNvbmYtPkZvcndhcmRFcnJvckZyYW1lcyB8CisgICAgICAgICAgICAgICAgICAgICAgIGRtYWNvbmYtPkZvcndhcmRVbmRlcnNpemVkR29vZEZyYW1lcyB8CisgICAgICAgICAgICAgICAgICAgICAgIGRtYWNvbmYtPlJlY2VpdmVUaHJlc2hvbGRDb250cm9sIHwKKyAgICAgICAgICAgICAgICAgICAgICAgZG1hY29uZi0+U2Vjb25kRnJhbWVPcGVyYXRlKTsKKworICAvKiBXcml0ZSB0byBFVEhFUk5FVCBETUFPTVIgKi8KKyAgKGhldGgtPkluc3RhbmNlKS0+RE1BT01SID0gKHVpbnQzMl90KXRtcHJlZzsKKworICAvKiBXYWl0IHVudGlsIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQ6CisgIGF0IGxlYXN0IGZvdXIgVFhfQ0xLL1JYX0NMSyBjbG9jayBjeWNsZXMgKi8KKyAgdG1wcmVnID0gKGhldGgtPkluc3RhbmNlKS0+RE1BT01SOworICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7CisgIChoZXRoLT5JbnN0YW5jZSktPkRNQU9NUiA9IHRtcHJlZzsKKworICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVUSEVSTkVUIERNQUJNUiBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyAgKGhldGgtPkluc3RhbmNlKS0+RE1BQk1SID0gKHVpbnQzMl90KShkbWFjb25mLT5BZGRyZXNzQWxpZ25lZEJlYXRzIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG1hY29uZi0+Rml4ZWRCdXJzdCB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRtYWNvbmYtPlJ4RE1BQnVyc3RMZW5ndGggfCAvKiAhISBpZiA0eFBCTCBpcyBzZWxlY3RlZCBmb3IgVHggb3IgUnggaXQgaXMgYXBwbGllZCBmb3IgdGhlIG90aGVyICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRtYWNvbmYtPlR4RE1BQnVyc3RMZW5ndGggfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbWFjb25mLT5FbmhhbmNlZERlc2NyaXB0b3JGb3JtYXQgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZG1hY29uZi0+RGVzY3JpcHRvclNraXBMZW5ndGggPDwgMikgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbWFjb25mLT5ETUFBcmJpdHJhdGlvbiB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSF9ETUFCTVJfVVNQKTsgLyogRW5hYmxlIHVzZSBvZiBzZXBhcmF0ZSBQQkwgZm9yIFJ4IGFuZCBUeCAqLworCisgICAvKiBXYWl0IHVudGlsIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQ6CisgICAgICBhdCBsZWFzdCBmb3VyIFRYX0NMSy9SWF9DTEsgY2xvY2sgY3ljbGVzICovCisgICB0bXByZWcgPSAoaGV0aC0+SW5zdGFuY2UpLT5ETUFCTVI7CisgICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7CisgICAoaGV0aC0+SW5zdGFuY2UpLT5ETUFCTVIgPSB0bXByZWc7CisKKyAgIC8qIFNldCB0aGUgRVRIIHN0YXRlIHRvIFJlYWR5ICovCisgICBoZXRoLT5TdGF0ZT0gSEFMX0VUSF9TVEFURV9SRUFEWTsKKworICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICAgX19IQUxfVU5MT0NLKGhldGgpOworCisgICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCisgICByZXR1cm4gSEFMX09LOworfQorCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXA0IFBlcmlwaGVyYWwgU3RhdGUgZnVuY3Rpb25zCisgICogIEBicmllZiAgIFBlcmlwaGVyYWwgU3RhdGUgZnVuY3Rpb25zCisgICoKKyAgQHZlcmJhdGltCisgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBQZXJpcGhlcmFsIFN0YXRlIGZ1bmN0aW9ucyAjIyMjIworICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgIFsuLl0KKyAgVGhpcyBzdWJzZWN0aW9uIHBlcm1pdHMgdG8gZ2V0IGluIHJ1bi10aW1lIHRoZSBzdGF0dXMgb2YgdGhlIHBlcmlwaGVyYWwKKyAgYW5kIHRoZSBkYXRhIGZsb3cuCisgICAgICAgKCspIEdldCB0aGUgRVRIIGhhbmRsZSBzdGF0ZToKKyAgICAgICAgICAgSEFMX0VUSF9HZXRTdGF0ZSgpOworCisKKyAgQGVuZHZlcmJhdGltCisgICogQHsKKyAgKi8KKworLyoqCisgICogQGJyaWVmICBSZXR1cm4gdGhlIEVUSCBIQUwgc3RhdGUKKyAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHJldHZhbCBIQUwgc3RhdGUKKyAgKi8KK0hBTF9FVEhfU3RhdGVUeXBlRGVmIEhBTF9FVEhfR2V0U3RhdGUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIC8qIFJldHVybiBFVEggc3RhdGUgKi8KKyAgcmV0dXJuIGhldGgtPlN0YXRlOworfQorCisvKioKKyAgKiBAfQorICAqLworCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGFkZHRvZ3JvdXAgRVRIX1ByaXZhdGVfRnVuY3Rpb25zCisgICogQHsKKyAgKi8KKworLyoqCisgICogQGJyaWVmICBDb25maWd1cmVzIEV0aGVybmV0IE1BQyBhbmQgRE1BIHdpdGggZGVmYXVsdCBwYXJhbWV0ZXJzLgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcGFyYW0gIGVyciBFdGhlcm5ldCBJbml0IGVycm9yCisgICogQHJldHZhbCBIQUwgc3RhdHVzCisgICovCitzdGF0aWMgdm9pZCBFVEhfTUFDRE1BQ29uZmlnKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCB1aW50MzJfdCBlcnIpCit7CisgIEVUSF9NQUNJbml0VHlwZURlZiBtYWNpbml0OworICBFVEhfRE1BSW5pdFR5cGVEZWYgZG1haW5pdDsKKyAgdWludDMyX3QgdG1wcmVnID0gMDsKKworICBpZiAoZXJyICE9IEVUSF9TVUNDRVNTKSAvKiBBdXRvLW5lZ290aWF0aW9uIGZhaWxlZCAqLworICB7CisgICAgLyogU2V0IEV0aGVybmV0IGR1cGxleCBtb2RlIHRvIEZ1bGwtZHVwbGV4ICovCisgICAgKGhldGgtPkluaXQpLkR1cGxleE1vZGUgPSBFVEhfTU9ERV9GVUxMRFVQTEVYOworCisgICAgLyogU2V0IEV0aGVybmV0IHNwZWVkIHRvIDEwME0gKi8KKyAgICAoaGV0aC0+SW5pdCkuU3BlZWQgPSBFVEhfU1BFRURfMTAwTTsKKyAgfQorCisgIC8qIEV0aGVybmV0IE1BQyBkZWZhdWx0IGluaXRpYWxpemF0aW9uICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworICBtYWNpbml0LldhdGNoZG9nID0gRVRIX1dBVENIRE9HX0VOQUJMRTsKKyAgbWFjaW5pdC5KYWJiZXIgPSBFVEhfSkFCQkVSX0VOQUJMRTsKKyAgbWFjaW5pdC5JbnRlckZyYW1lR2FwID0gRVRIX0lOVEVSRlJBTUVHQVBfOTZCSVQ7CisgIG1hY2luaXQuQ2FycmllclNlbnNlID0gRVRIX0NBUlJJRVJTRU5DRV9FTkFCTEU7CisgIG1hY2luaXQuUmVjZWl2ZU93biA9IEVUSF9SRUNFSVZFT1dOX0VOQUJMRTsKKyAgbWFjaW5pdC5Mb29wYmFja01vZGUgPSBFVEhfTE9PUEJBQ0tNT0RFX0RJU0FCTEU7CisgIGlmKGhldGgtPkluaXQuQ2hlY2tzdW1Nb2RlID09IEVUSF9DSEVDS1NVTV9CWV9IQVJEV0FSRSkKKyAgeworICAgIG1hY2luaXQuQ2hlY2tzdW1PZmZsb2FkID0gRVRIX0NIRUNLU1VNT0ZGTEFPRF9FTkFCTEU7CisgIH0KKyAgZWxzZQorICB7CisgICAgbWFjaW5pdC5DaGVja3N1bU9mZmxvYWQgPSBFVEhfQ0hFQ0tTVU1PRkZMQU9EX0RJU0FCTEU7CisgIH0KKyAgbWFjaW5pdC5SZXRyeVRyYW5zbWlzc2lvbiA9IEVUSF9SRVRSWVRSQU5TTUlTU0lPTl9ESVNBQkxFOworICBtYWNpbml0LkF1dG9tYXRpY1BhZENSQ1N0cmlwID0gRVRIX0FVVE9NQVRJQ1BBRENSQ1NUUklQX0RJU0FCTEU7CisgIG1hY2luaXQuQmFja09mZkxpbWl0ID0gRVRIX0JBQ0tPRkZMSU1JVF8xMDsKKyAgbWFjaW5pdC5EZWZlcnJhbENoZWNrID0gRVRIX0RFRkZFUlJBTENIRUNLX0RJU0FCTEU7CisgIG1hY2luaXQuUmVjZWl2ZUFsbCA9IEVUSF9SRUNFSVZFQWxsX0RJU0FCTEU7CisgIG1hY2luaXQuU291cmNlQWRkckZpbHRlciA9IEVUSF9TT1VSQ0VBRERSRklMVEVSX0RJU0FCTEU7CisgIG1hY2luaXQuUGFzc0NvbnRyb2xGcmFtZXMgPSBFVEhfUEFTU0NPTlRST0xGUkFNRVNfQkxPQ0tBTEw7CisgIG1hY2luaXQuQnJvYWRjYXN0RnJhbWVzUmVjZXB0aW9uID0gRVRIX0JST0FEQ0FTVEZSQU1FU1JFQ0VQVElPTl9FTkFCTEU7CisgIG1hY2luaXQuRGVzdGluYXRpb25BZGRyRmlsdGVyID0gRVRIX0RFU1RJTkFUSU9OQUREUkZJTFRFUl9OT1JNQUw7CisgIG1hY2luaXQuUHJvbWlzY3VvdXNNb2RlID0gRVRIX1BST01JU0NVT1VTX01PREVfRElTQUJMRTsKKyAgbWFjaW5pdC5NdWx0aWNhc3RGcmFtZXNGaWx0ZXIgPSBFVEhfTVVMVElDQVNURlJBTUVTRklMVEVSX1BFUkZFQ1Q7CisgIG1hY2luaXQuVW5pY2FzdEZyYW1lc0ZpbHRlciA9IEVUSF9VTklDQVNURlJBTUVTRklMVEVSX1BFUkZFQ1Q7CisgIG1hY2luaXQuSGFzaFRhYmxlSGlnaCA9IDB4MDsKKyAgbWFjaW5pdC5IYXNoVGFibGVMb3cgPSAweDA7CisgIG1hY2luaXQuUGF1c2VUaW1lID0gMHgwOworICBtYWNpbml0Llplcm9RdWFudGFQYXVzZSA9IEVUSF9aRVJPUVVBTlRBUEFVU0VfRElTQUJMRTsKKyAgbWFjaW5pdC5QYXVzZUxvd1RocmVzaG9sZCA9IEVUSF9QQVVTRUxPV1RIUkVTSE9MRF9NSU5VUzQ7CisgIG1hY2luaXQuVW5pY2FzdFBhdXNlRnJhbWVEZXRlY3QgPSBFVEhfVU5JQ0FTVFBBVVNFRlJBTUVERVRFQ1RfRElTQUJMRTsKKyAgbWFjaW5pdC5SZWNlaXZlRmxvd0NvbnRyb2wgPSBFVEhfUkVDRUlWRUZMT1dDT05UUk9MX0RJU0FCTEU7CisgIG1hY2luaXQuVHJhbnNtaXRGbG93Q29udHJvbCA9IEVUSF9UUkFOU01JVEZMT1dDT05UUk9MX0RJU0FCTEU7CisgIG1hY2luaXQuVkxBTlRhZ0NvbXBhcmlzb24gPSBFVEhfVkxBTlRBR0NPTVBBUklTT05fMTZCSVQ7CisgIG1hY2luaXQuVkxBTlRhZ0lkZW50aWZpZXIgPSAweDA7CisKKyAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRVRIRVJORVQgTUFDQ1IgQ29uZmlndXJhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLSovCisgIC8qIEdldCB0aGUgRVRIRVJORVQgTUFDQ1IgdmFsdWUgKi8KKyAgdG1wcmVnID0gKGhldGgtPkluc3RhbmNlKS0+TUFDQ1I7CisgIC8qIENsZWFyIFdELCBQQ0UsIFBTLCBURSBhbmQgUkUgYml0cyAqLworICB0bXByZWcgJj0gRVRIX01BQ0NSX0NMRUFSX01BU0s7CisgIC8qIFNldCB0aGUgV0QgYml0IGFjY29yZGluZyB0byBFVEggV2F0Y2hkb2cgdmFsdWUgKi8KKyAgLyogU2V0IHRoZSBKRDogYml0IGFjY29yZGluZyB0byBFVEggSmFiYmVyIHZhbHVlICovCisgIC8qIFNldCB0aGUgSUZHIGJpdCBhY2NvcmRpbmcgdG8gRVRIIEludGVyRnJhbWVHYXAgdmFsdWUgKi8KKyAgLyogU2V0IHRoZSBEQ1JTIGJpdCBhY2NvcmRpbmcgdG8gRVRIIENhcnJpZXJTZW5zZSB2YWx1ZSAqLworICAvKiBTZXQgdGhlIEZFUyBiaXQgYWNjb3JkaW5nIHRvIEVUSCBTcGVlZCB2YWx1ZSAqLworICAvKiBTZXQgdGhlIERPIGJpdCBhY2NvcmRpbmcgdG8gRVRIIFJlY2VpdmVPd24gdmFsdWUgKi8KKyAgLyogU2V0IHRoZSBMTSBiaXQgYWNjb3JkaW5nIHRvIEVUSCBMb29wYmFja01vZGUgdmFsdWUgKi8KKyAgLyogU2V0IHRoZSBETSBiaXQgYWNjb3JkaW5nIHRvIEVUSCBNb2RlIHZhbHVlICovCisgIC8qIFNldCB0aGUgSVBDTyBiaXQgYWNjb3JkaW5nIHRvIEVUSCBDaGVja3N1bU9mZmxvYWQgdmFsdWUgKi8KKyAgLyogU2V0IHRoZSBEUiBiaXQgYWNjb3JkaW5nIHRvIEVUSCBSZXRyeVRyYW5zbWlzc2lvbiB2YWx1ZSAqLworICAvKiBTZXQgdGhlIEFDUyBiaXQgYWNjb3JkaW5nIHRvIEVUSCBBdXRvbWF0aWNQYWRDUkNTdHJpcCB2YWx1ZSAqLworICAvKiBTZXQgdGhlIEJMIGJpdCBhY2NvcmRpbmcgdG8gRVRIIEJhY2tPZmZMaW1pdCB2YWx1ZSAqLworICAvKiBTZXQgdGhlIERDIGJpdCBhY2NvcmRpbmcgdG8gRVRIIERlZmVycmFsQ2hlY2sgdmFsdWUgKi8KKyAgdG1wcmVnIHw9ICh1aW50MzJfdCkobWFjaW5pdC5XYXRjaGRvZyB8CisgICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuSmFiYmVyIHwKKyAgICAgICAgICAgICAgICAgICAgICAgbWFjaW5pdC5JbnRlckZyYW1lR2FwIHwKKyAgICAgICAgICAgICAgICAgICAgICAgbWFjaW5pdC5DYXJyaWVyU2Vuc2UgfAorICAgICAgICAgICAgICAgICAgICAgICAoaGV0aC0+SW5pdCkuU3BlZWQgfAorICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0LlJlY2VpdmVPd24gfAorICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0Lkxvb3BiYWNrTW9kZSB8CisgICAgICAgICAgICAgICAgICAgICAgIChoZXRoLT5Jbml0KS5EdXBsZXhNb2RlIHwKKyAgICAgICAgICAgICAgICAgICAgICAgbWFjaW5pdC5DaGVja3N1bU9mZmxvYWQgfAorICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0LlJldHJ5VHJhbnNtaXNzaW9uIHwKKyAgICAgICAgICAgICAgICAgICAgICAgbWFjaW5pdC5BdXRvbWF0aWNQYWRDUkNTdHJpcCB8CisgICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuQmFja09mZkxpbWl0IHwKKyAgICAgICAgICAgICAgICAgICAgICAgbWFjaW5pdC5EZWZlcnJhbENoZWNrKTsKKworICAvKiBXcml0ZSB0byBFVEhFUk5FVCBNQUNDUiAqLworICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUiA9ICh1aW50MzJfdCl0bXByZWc7CisKKyAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50OgorICAgICBhdCBsZWFzdCBmb3VyIFRYX0NMSy9SWF9DTEsgY2xvY2sgY3ljbGVzICovCisgIHRtcHJlZyA9IChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSOworICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7CisgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSID0gdG1wcmVnOworCisgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRVRIRVJORVQgTUFDRkZSIENvbmZpZ3VyYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworICAvKiBTZXQgdGhlIFJBIGJpdCBhY2NvcmRpbmcgdG8gRVRIIFJlY2VpdmVBbGwgdmFsdWUgKi8KKyAgLyogU2V0IHRoZSBTQUYgYW5kIFNBSUYgYml0cyBhY2NvcmRpbmcgdG8gRVRIIFNvdXJjZUFkZHJGaWx0ZXIgdmFsdWUgKi8KKyAgLyogU2V0IHRoZSBQQ0YgYml0IGFjY29yZGluZyB0byBFVEggUGFzc0NvbnRyb2xGcmFtZXMgdmFsdWUgKi8KKyAgLyogU2V0IHRoZSBEQkYgYml0IGFjY29yZGluZyB0byBFVEggQnJvYWRjYXN0RnJhbWVzUmVjZXB0aW9uIHZhbHVlICovCisgIC8qIFNldCB0aGUgREFJRiBiaXQgYWNjb3JkaW5nIHRvIEVUSCBEZXN0aW5hdGlvbkFkZHJGaWx0ZXIgdmFsdWUgKi8KKyAgLyogU2V0IHRoZSBQUiBiaXQgYWNjb3JkaW5nIHRvIEVUSCBQcm9taXNjdW91c01vZGUgdmFsdWUgKi8KKyAgLyogU2V0IHRoZSBQTSwgSE1DIGFuZCBIUEYgYml0cyBhY2NvcmRpbmcgdG8gRVRIIE11bHRpY2FzdEZyYW1lc0ZpbHRlciB2YWx1ZSAqLworICAvKiBTZXQgdGhlIEhVQyBhbmQgSFBGIGJpdHMgYWNjb3JkaW5nIHRvIEVUSCBVbmljYXN0RnJhbWVzRmlsdGVyIHZhbHVlICovCisgIC8qIFdyaXRlIHRvIEVUSEVSTkVUIE1BQ0ZGUiAqLworICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNGRlIgPSAodWludDMyX3QpKG1hY2luaXQuUmVjZWl2ZUFsbCB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjaW5pdC5Tb3VyY2VBZGRyRmlsdGVyIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0LlBhc3NDb250cm9sRnJhbWVzIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0LkJyb2FkY2FzdEZyYW1lc1JlY2VwdGlvbiB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjaW5pdC5EZXN0aW5hdGlvbkFkZHJGaWx0ZXIgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuUHJvbWlzY3VvdXNNb2RlIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0Lk11bHRpY2FzdEZyYW1lc0ZpbHRlciB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjaW5pdC5VbmljYXN0RnJhbWVzRmlsdGVyKTsKKworICAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50OgorICAgICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLworICAgdG1wcmVnID0gKGhldGgtPkluc3RhbmNlKS0+TUFDRkZSOworICAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOworICAgKGhldGgtPkluc3RhbmNlKS0+TUFDRkZSID0gdG1wcmVnOworCisgICAvKi0tLS0tLS0tLS0tLS0tLSBFVEhFUk5FVCBNQUNIVEhSIGFuZCBNQUNIVExSIENvbmZpZ3VyYXRpb24gLS0tLS0tLS0tLS0tLS0qLworICAgLyogV3JpdGUgdG8gRVRIRVJORVQgTUFDSFRIUiAqLworICAgKGhldGgtPkluc3RhbmNlKS0+TUFDSFRIUiA9ICh1aW50MzJfdCltYWNpbml0Lkhhc2hUYWJsZUhpZ2g7CisKKyAgIC8qIFdyaXRlIHRvIEVUSEVSTkVUIE1BQ0hUTFIgKi8KKyAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0hUTFIgPSAodWludDMyX3QpbWFjaW5pdC5IYXNoVGFibGVMb3c7CisgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVUSEVSTkVUIE1BQ0ZDUiBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisgICAvKiBHZXQgdGhlIEVUSEVSTkVUIE1BQ0ZDUiB2YWx1ZSAqLworICAgdG1wcmVnID0gKGhldGgtPkluc3RhbmNlKS0+TUFDRkNSOworICAgLyogQ2xlYXIgeHggYml0cyAqLworICAgdG1wcmVnICY9IEVUSF9NQUNGQ1JfQ0xFQVJfTUFTSzsKKworICAgLyogU2V0IHRoZSBQVCBiaXQgYWNjb3JkaW5nIHRvIEVUSCBQYXVzZVRpbWUgdmFsdWUgKi8KKyAgIC8qIFNldCB0aGUgRFpQUSBiaXQgYWNjb3JkaW5nIHRvIEVUSCBaZXJvUXVhbnRhUGF1c2UgdmFsdWUgKi8KKyAgIC8qIFNldCB0aGUgUExUIGJpdCBhY2NvcmRpbmcgdG8gRVRIIFBhdXNlTG93VGhyZXNob2xkIHZhbHVlICovCisgICAvKiBTZXQgdGhlIFVQIGJpdCBhY2NvcmRpbmcgdG8gRVRIIFVuaWNhc3RQYXVzZUZyYW1lRGV0ZWN0IHZhbHVlICovCisgICAvKiBTZXQgdGhlIFJGRSBiaXQgYWNjb3JkaW5nIHRvIEVUSCBSZWNlaXZlRmxvd0NvbnRyb2wgdmFsdWUgKi8KKyAgIC8qIFNldCB0aGUgVEZFIGJpdCBhY2NvcmRpbmcgdG8gRVRIIFRyYW5zbWl0Rmxvd0NvbnRyb2wgdmFsdWUgKi8KKyAgIHRtcHJlZyB8PSAodWludDMyX3QpKChtYWNpbml0LlBhdXNlVGltZSA8PCAxNikgfAorICAgICAgICAgICAgICAgICAgICAgICAgbWFjaW5pdC5aZXJvUXVhbnRhUGF1c2UgfAorICAgICAgICAgICAgICAgICAgICAgICAgbWFjaW5pdC5QYXVzZUxvd1RocmVzaG9sZCB8CisgICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0LlVuaWNhc3RQYXVzZUZyYW1lRGV0ZWN0IHwKKyAgICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuUmVjZWl2ZUZsb3dDb250cm9sIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuVHJhbnNtaXRGbG93Q29udHJvbCk7CisKKyAgIC8qIFdyaXRlIHRvIEVUSEVSTkVUIE1BQ0ZDUiAqLworICAgKGhldGgtPkluc3RhbmNlKS0+TUFDRkNSID0gKHVpbnQzMl90KXRtcHJlZzsKKworICAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50OgorICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLworICAgdG1wcmVnID0gKGhldGgtPkluc3RhbmNlKS0+TUFDRkNSOworICAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOworICAgKGhldGgtPkluc3RhbmNlKS0+TUFDRkNSID0gdG1wcmVnOworCisgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVUSEVSTkVUIE1BQ1ZMQU5UUiBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0qLworICAgLyogU2V0IHRoZSBFVFYgYml0IGFjY29yZGluZyB0byBFVEggVkxBTlRhZ0NvbXBhcmlzb24gdmFsdWUgKi8KKyAgIC8qIFNldCB0aGUgVkwgYml0IGFjY29yZGluZyB0byBFVEggVkxBTlRhZ0lkZW50aWZpZXIgdmFsdWUgKi8KKyAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ1ZMQU5UUiA9ICh1aW50MzJfdCkobWFjaW5pdC5WTEFOVGFnQ29tcGFyaXNvbiB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuVkxBTlRhZ0lkZW50aWZpZXIpOworCisgICAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50OgorICAgICAgIGF0IGxlYXN0IGZvdXIgVFhfQ0xLL1JYX0NMSyBjbG9jayBjeWNsZXMgKi8KKyAgICB0bXByZWcgPSAoaGV0aC0+SW5zdGFuY2UpLT5NQUNWTEFOVFI7CisgICAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOworICAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ1ZMQU5UUiA9IHRtcHJlZzsKKworICAgIC8qIEV0aGVybmV0IERNQSBkZWZhdWx0IGluaXRpYWxpemF0aW9uICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAgICBkbWFpbml0LkRyb3BUQ1BJUENoZWNrc3VtRXJyb3JGcmFtZSA9IEVUSF9EUk9QVENQSVBDSEVDS1NVTUVSUk9SRlJBTUVfRU5BQkxFOworICAgIGRtYWluaXQuUmVjZWl2ZVN0b3JlRm9yd2FyZCA9IEVUSF9SRUNFSVZFU1RPUkVGT1JXQVJEX0VOQUJMRTsKKyAgICBkbWFpbml0LkZsdXNoUmVjZWl2ZWRGcmFtZSA9IEVUSF9GTFVTSFJFQ0VJVkVERlJBTUVfRU5BQkxFOworICAgIGRtYWluaXQuVHJhbnNtaXRTdG9yZUZvcndhcmQgPSBFVEhfVFJBTlNNSVRTVE9SRUZPUldBUkRfRU5BQkxFOworICAgIGRtYWluaXQuVHJhbnNtaXRUaHJlc2hvbGRDb250cm9sID0gRVRIX1RSQU5TTUlUVEhSRVNIT0xEQ09OVFJPTF82NEJZVEVTOworICAgIGRtYWluaXQuRm9yd2FyZEVycm9yRnJhbWVzID0gRVRIX0ZPUldBUkRFUlJPUkZSQU1FU19ESVNBQkxFOworICAgIGRtYWluaXQuRm9yd2FyZFVuZGVyc2l6ZWRHb29kRnJhbWVzID0gRVRIX0ZPUldBUkRVTkRFUlNJWkVER09PREZSQU1FU19ESVNBQkxFOworICAgIGRtYWluaXQuUmVjZWl2ZVRocmVzaG9sZENvbnRyb2wgPSBFVEhfUkVDRUlWRURUSFJFU0hPTERDT05UUk9MXzY0QllURVM7CisgICAgZG1haW5pdC5TZWNvbmRGcmFtZU9wZXJhdGUgPSBFVEhfU0VDT05ERlJBTUVPUEVSQVJURV9FTkFCTEU7CisgICAgZG1haW5pdC5BZGRyZXNzQWxpZ25lZEJlYXRzID0gRVRIX0FERFJFU1NBTElHTkVEQkVBVFNfRU5BQkxFOworICAgIGRtYWluaXQuRml4ZWRCdXJzdCA9IEVUSF9GSVhFREJVUlNUX0VOQUJMRTsKKyAgICBkbWFpbml0LlJ4RE1BQnVyc3RMZW5ndGggPSBFVEhfUlhETUFCVVJTVExFTkdUSF8zMkJFQVQ7CisgICAgZG1haW5pdC5UeERNQUJ1cnN0TGVuZ3RoID0gRVRIX1RYRE1BQlVSU1RMRU5HVEhfMzJCRUFUOworICAgIGRtYWluaXQuRW5oYW5jZWREZXNjcmlwdG9yRm9ybWF0ID0gRVRIX0RNQUVOSEFOQ0VEREVTQ1JJUFRPUl9FTkFCTEU7CisgICAgZG1haW5pdC5EZXNjcmlwdG9yU2tpcExlbmd0aCA9IDB4MDsKKyAgICBkbWFpbml0LkRNQUFyYml0cmF0aW9uID0gRVRIX0RNQUFSQklUUkFUSU9OX1JPVU5EUk9CSU5fUlhUWF8xXzE7CisKKyAgICAvKiBHZXQgdGhlIEVUSEVSTkVUIERNQU9NUiB2YWx1ZSAqLworICAgIHRtcHJlZyA9IChoZXRoLT5JbnN0YW5jZSktPkRNQU9NUjsKKyAgICAvKiBDbGVhciB4eCBiaXRzICovCisgICAgdG1wcmVnICY9IEVUSF9ETUFPTVJfQ0xFQVJfTUFTSzsKKworICAgIC8qIFNldCB0aGUgRFQgYml0IGFjY29yZGluZyB0byBFVEggRHJvcFRDUElQQ2hlY2tzdW1FcnJvckZyYW1lIHZhbHVlICovCisgICAgLyogU2V0IHRoZSBSU0YgYml0IGFjY29yZGluZyB0byBFVEggUmVjZWl2ZVN0b3JlRm9yd2FyZCB2YWx1ZSAqLworICAgIC8qIFNldCB0aGUgREZGIGJpdCBhY2NvcmRpbmcgdG8gRVRIIEZsdXNoUmVjZWl2ZWRGcmFtZSB2YWx1ZSAqLworICAgIC8qIFNldCB0aGUgVFNGIGJpdCBhY2NvcmRpbmcgdG8gRVRIIFRyYW5zbWl0U3RvcmVGb3J3YXJkIHZhbHVlICovCisgICAgLyogU2V0IHRoZSBUVEMgYml0IGFjY29yZGluZyB0byBFVEggVHJhbnNtaXRUaHJlc2hvbGRDb250cm9sIHZhbHVlICovCisgICAgLyogU2V0IHRoZSBGRUYgYml0IGFjY29yZGluZyB0byBFVEggRm9yd2FyZEVycm9yRnJhbWVzIHZhbHVlICovCisgICAgLyogU2V0IHRoZSBGVUYgYml0IGFjY29yZGluZyB0byBFVEggRm9yd2FyZFVuZGVyc2l6ZWRHb29kRnJhbWVzIHZhbHVlICovCisgICAgLyogU2V0IHRoZSBSVEMgYml0IGFjY29yZGluZyB0byBFVEggUmVjZWl2ZVRocmVzaG9sZENvbnRyb2wgdmFsdWUgKi8KKyAgICAvKiBTZXQgdGhlIE9TRiBiaXQgYWNjb3JkaW5nIHRvIEVUSCBTZWNvbmRGcmFtZU9wZXJhdGUgdmFsdWUgKi8KKyAgICB0bXByZWcgfD0gKHVpbnQzMl90KShkbWFpbml0LkRyb3BUQ1BJUENoZWNrc3VtRXJyb3JGcmFtZSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgZG1haW5pdC5SZWNlaXZlU3RvcmVGb3J3YXJkIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICBkbWFpbml0LkZsdXNoUmVjZWl2ZWRGcmFtZSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgZG1haW5pdC5UcmFuc21pdFN0b3JlRm9yd2FyZCB8CisgICAgICAgICAgICAgICAgICAgICAgICAgZG1haW5pdC5UcmFuc21pdFRocmVzaG9sZENvbnRyb2wgfAorICAgICAgICAgICAgICAgICAgICAgICAgIGRtYWluaXQuRm9yd2FyZEVycm9yRnJhbWVzIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICBkbWFpbml0LkZvcndhcmRVbmRlcnNpemVkR29vZEZyYW1lcyB8CisgICAgICAgICAgICAgICAgICAgICAgICAgZG1haW5pdC5SZWNlaXZlVGhyZXNob2xkQ29udHJvbCB8CisgICAgICAgICAgICAgICAgICAgICAgICAgZG1haW5pdC5TZWNvbmRGcmFtZU9wZXJhdGUpOworCisgICAgLyogV3JpdGUgdG8gRVRIRVJORVQgRE1BT01SICovCisgICAgKGhldGgtPkluc3RhbmNlKS0+RE1BT01SID0gKHVpbnQzMl90KXRtcHJlZzsKKworICAgIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudDoKKyAgICAgICBhdCBsZWFzdCBmb3VyIFRYX0NMSy9SWF9DTEsgY2xvY2sgY3ljbGVzICovCisgICAgdG1wcmVnID0gKGhldGgtPkluc3RhbmNlKS0+RE1BT01SOworICAgIEhBTF9EZWxheShFVEhfUkVHX1dSSVRFX0RFTEFZKTsKKyAgICAoaGV0aC0+SW5zdGFuY2UpLT5ETUFPTVIgPSB0bXByZWc7CisKKyAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVUSEVSTkVUIERNQUJNUiBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLSovCisgICAgLyogU2V0IHRoZSBBQUwgYml0IGFjY29yZGluZyB0byBFVEggQWRkcmVzc0FsaWduZWRCZWF0cyB2YWx1ZSAqLworICAgIC8qIFNldCB0aGUgRkIgYml0IGFjY29yZGluZyB0byBFVEggRml4ZWRCdXJzdCB2YWx1ZSAqLworICAgIC8qIFNldCB0aGUgUlBCTCBhbmQgNCpQQkwgYml0cyBhY2NvcmRpbmcgdG8gRVRIIFJ4RE1BQnVyc3RMZW5ndGggdmFsdWUgKi8KKyAgICAvKiBTZXQgdGhlIFBCTCBhbmQgNCpQQkwgYml0cyBhY2NvcmRpbmcgdG8gRVRIIFR4RE1BQnVyc3RMZW5ndGggdmFsdWUgKi8KKyAgICAvKiBTZXQgdGhlIEVuaGFuY2VkIERNQSBkZXNjcmlwdG9ycyBiaXQgYWNjb3JkaW5nIHRvIEVUSCBFbmhhbmNlZERlc2NyaXB0b3JGb3JtYXQgdmFsdWUqLworICAgIC8qIFNldCB0aGUgRFNMIGJpdCBhY2NvcmRpbmcgdG8gRVRIIERlc2NpcHRvclNraXBMZW5ndGggdmFsdWUgKi8KKyAgICAvKiBTZXQgdGhlIFBSIGFuZCBEQSBiaXRzIGFjY29yZGluZyB0byBFVEggRE1BQXJiaXRyYXRpb24gdmFsdWUgKi8KKyAgICAoaGV0aC0+SW5zdGFuY2UpLT5ETUFCTVIgPSAodWludDMyX3QpKGRtYWluaXQuQWRkcmVzc0FsaWduZWRCZWF0cyB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbWFpbml0LkZpeGVkQnVyc3QgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG1haW5pdC5SeERNQUJ1cnN0TGVuZ3RoIHwgICAgLyogISEgaWYgNHhQQkwgaXMgc2VsZWN0ZWQgZm9yIFR4IG9yIFJ4IGl0IGlzIGFwcGxpZWQgZm9yIHRoZSBvdGhlciAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG1haW5pdC5UeERNQUJ1cnN0TGVuZ3RoIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRtYWluaXQuRW5oYW5jZWREZXNjcmlwdG9yRm9ybWF0IHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkbWFpbml0LkRlc2NyaXB0b3JTa2lwTGVuZ3RoIDw8IDIpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRtYWluaXQuRE1BQXJiaXRyYXRpb24gfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX0RNQUJNUl9VU1ApOyAvKiBFbmFibGUgdXNlIG9mIHNlcGFyYXRlIFBCTCBmb3IgUnggYW5kIFR4ICovCisKKyAgICAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50OgorICAgICAgICBhdCBsZWFzdCBmb3VyIFRYX0NMSy9SWF9DTEsgY2xvY2sgY3ljbGVzICovCisgICAgIHRtcHJlZyA9IChoZXRoLT5JbnN0YW5jZSktPkRNQUJNUjsKKyAgICAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOworICAgICAoaGV0aC0+SW5zdGFuY2UpLT5ETUFCTVIgPSB0bXByZWc7CisKKyAgICAgaWYoKGhldGgtPkluaXQpLlJ4TW9kZSA9PSBFVEhfUlhJTlRFUlJVUFRfTU9ERSkKKyAgICAgeworICAgICAgIC8qIEVuYWJsZSB0aGUgRXRoZXJuZXQgUnggSW50ZXJydXB0ICovCisgICAgICAgX19IQUxfRVRIX0RNQV9FTkFCTEVfSVQoKGhldGgpLCBFVEhfRE1BX0lUX05JUyB8IEVUSF9ETUFfSVRfUik7CisgICAgIH0KKworICAgICAvKiBJbml0aWFsaXplIE1BQyBhZGRyZXNzIGluIGV0aGVybmV0IE1BQyAqLworICAgICBFVEhfTUFDQWRkcmVzc0NvbmZpZyhoZXRoLCBFVEhfTUFDX0FERFJFU1MwLCBoZXRoLT5Jbml0Lk1BQ0FkZHIpOworfQorCisvKioKKyAgKiBAYnJpZWYgIENvbmZpZ3VyZXMgdGhlIHNlbGVjdGVkIE1BQyBhZGRyZXNzLgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcGFyYW0gIE1hY0FkZHIgVGhlIE1BQyBhZGRyZXNzIHRvIGNvbmZpZ3VyZQorICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisgICogICAgICAgICAgICAgQGFyZyBFVEhfTUFDX0FkZHJlc3MwOiBNQUMgQWRkcmVzczAKKyAgKiAgICAgICAgICAgICBAYXJnIEVUSF9NQUNfQWRkcmVzczE6IE1BQyBBZGRyZXNzMQorICAqICAgICAgICAgICAgIEBhcmcgRVRIX01BQ19BZGRyZXNzMjogTUFDIEFkZHJlc3MyCisgICogICAgICAgICAgICAgQGFyZyBFVEhfTUFDX0FkZHJlc3MzOiBNQUMgQWRkcmVzczMKKyAgKiBAcGFyYW0gIEFkZHIgUG9pbnRlciB0byBNQUMgYWRkcmVzcyBidWZmZXIgZGF0YSAoNiBieXRlcykKKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK3N0YXRpYyB2b2lkIEVUSF9NQUNBZGRyZXNzQ29uZmlnKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCB1aW50MzJfdCBNYWNBZGRyLCB1aW50OF90ICpBZGRyKQoreworICB1aW50MzJfdCB0bXByZWc7CisKKyAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KKyAgYXNzZXJ0X3BhcmFtKElTX0VUSF9NQUNfQUREUkVTUzAxMjMoTWFjQWRkcikpOworCisgIC8qIENhbGN1bGF0ZSB0aGUgc2VsZWN0ZWQgTUFDIGFkZHJlc3MgaGlnaCByZWdpc3RlciAqLworICB0bXByZWcgPSAoKHVpbnQzMl90KUFkZHJbNV0gPDwgOCkgfCAodWludDMyX3QpQWRkcls0XTsKKyAgLyogTG9hZCB0aGUgc2VsZWN0ZWQgTUFDIGFkZHJlc3MgaGlnaCByZWdpc3RlciAqLworICAoKihfX0lPIHVpbnQzMl90ICopKCh1aW50MzJfdCkoRVRIX01BQ19BRERSX0hCQVNFICsgTWFjQWRkcikpKSA9IHRtcHJlZzsKKyAgLyogQ2FsY3VsYXRlIHRoZSBzZWxlY3RlZCBNQUMgYWRkcmVzcyBsb3cgcmVnaXN0ZXIgKi8KKyAgdG1wcmVnID0gKCh1aW50MzJfdClBZGRyWzNdIDw8IDI0KSB8ICgodWludDMyX3QpQWRkclsyXSA8PCAxNikgfCAoKHVpbnQzMl90KUFkZHJbMV0gPDwgOCkgfCBBZGRyWzBdOworCisgIC8qIExvYWQgdGhlIHNlbGVjdGVkIE1BQyBhZGRyZXNzIGxvdyByZWdpc3RlciAqLworICAoKihfX0lPIHVpbnQzMl90ICopKCh1aW50MzJfdCkoRVRIX01BQ19BRERSX0xCQVNFICsgTWFjQWRkcikpKSA9IHRtcHJlZzsKK30KKworLyoqCisgICogQGJyaWVmICBFbmFibGVzIHRoZSBNQUMgdHJhbnNtaXNzaW9uLgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK3N0YXRpYyB2b2lkIEVUSF9NQUNUcmFuc21pc3Npb25FbmFibGUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIF9fSU8gdWludDMyX3QgdG1wcmVnID0gMDsKKworICAvKiBFbmFibGUgdGhlIE1BQyB0cmFuc21pc3Npb24gKi8KKyAgKGhldGgtPkluc3RhbmNlKS0+TUFDQ1IgfD0gRVRIX01BQ0NSX1RFOworCisgIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudDoKKyAgICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLworICB0bXByZWcgPSAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUjsKKyAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOworICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUiA9IHRtcHJlZzsKK30KKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlcyB0aGUgTUFDIHRyYW5zbWlzc2lvbi4KKyAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHJldHZhbCBOb25lCisgICovCitzdGF0aWMgdm9pZCBFVEhfTUFDVHJhbnNtaXNzaW9uRGlzYWJsZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgX19JTyB1aW50MzJfdCB0bXByZWcgPSAwOworCisgIC8qIERpc2FibGUgdGhlIE1BQyB0cmFuc21pc3Npb24gKi8KKyAgKGhldGgtPkluc3RhbmNlKS0+TUFDQ1IgJj0gfkVUSF9NQUNDUl9URTsKKworICAvKiBXYWl0IHVudGlsIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQ6CisgICAgIGF0IGxlYXN0IGZvdXIgVFhfQ0xLL1JYX0NMSyBjbG9jayBjeWNsZXMgKi8KKyAgdG1wcmVnID0gKGhldGgtPkluc3RhbmNlKS0+TUFDQ1I7CisgIEhBTF9EZWxheShFVEhfUkVHX1dSSVRFX0RFTEFZKTsKKyAgKGhldGgtPkluc3RhbmNlKS0+TUFDQ1IgPSB0bXByZWc7Cit9CisKKy8qKgorICAqIEBicmllZiAgRW5hYmxlcyB0aGUgTUFDIHJlY2VwdGlvbi4KKyAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHJldHZhbCBOb25lCisgICovCitzdGF0aWMgdm9pZCBFVEhfTUFDUmVjZXB0aW9uRW5hYmxlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQoreworICBfX0lPIHVpbnQzMl90IHRtcHJlZyA9IDA7CisKKyAgLyogRW5hYmxlIHRoZSBNQUMgcmVjZXB0aW9uICovCisgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSIHw9IEVUSF9NQUNDUl9SRTsKKworICAvKiBXYWl0IHVudGlsIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQ6CisgICAgIGF0IGxlYXN0IGZvdXIgVFhfQ0xLL1JYX0NMSyBjbG9jayBjeWNsZXMgKi8KKyAgdG1wcmVnID0gKGhldGgtPkluc3RhbmNlKS0+TUFDQ1I7CisgIEhBTF9EZWxheShFVEhfUkVHX1dSSVRFX0RFTEFZKTsKKyAgKGhldGgtPkluc3RhbmNlKS0+TUFDQ1IgPSB0bXByZWc7Cit9CisKKy8qKgorICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIE1BQyByZWNlcHRpb24uCisgICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEByZXR2YWwgTm9uZQorICAqLworc3RhdGljIHZvaWQgRVRIX01BQ1JlY2VwdGlvbkRpc2FibGUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIF9fSU8gdWludDMyX3QgdG1wcmVnID0gMDsKKworICAvKiBEaXNhYmxlIHRoZSBNQUMgcmVjZXB0aW9uICovCisgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSICY9IH5FVEhfTUFDQ1JfUkU7CisKKyAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50OgorICAgICBhdCBsZWFzdCBmb3VyIFRYX0NMSy9SWF9DTEsgY2xvY2sgY3ljbGVzICovCisgIHRtcHJlZyA9IChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSOworICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7CisgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSID0gdG1wcmVnOworfQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIERNQSB0cmFuc21pc3Npb24uCisgICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEByZXR2YWwgTm9uZQorICAqLworc3RhdGljIHZvaWQgRVRIX0RNQVRyYW5zbWlzc2lvbkVuYWJsZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgLyogRW5hYmxlIHRoZSBETUEgdHJhbnNtaXNzaW9uICovCisgIChoZXRoLT5JbnN0YW5jZSktPkRNQU9NUiB8PSBFVEhfRE1BT01SX1NUOworfQorCisvKioKKyAgKiBAYnJpZWYgIERpc2FibGVzIHRoZSBETUEgdHJhbnNtaXNzaW9uLgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK3N0YXRpYyB2b2lkIEVUSF9ETUFUcmFuc21pc3Npb25EaXNhYmxlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQoreworICAvKiBEaXNhYmxlIHRoZSBETUEgdHJhbnNtaXNzaW9uICovCisgIChoZXRoLT5JbnN0YW5jZSktPkRNQU9NUiAmPSB+RVRIX0RNQU9NUl9TVDsKK30KKworLyoqCisgICogQGJyaWVmICBFbmFibGVzIHRoZSBETUEgcmVjZXB0aW9uLgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK3N0YXRpYyB2b2lkIEVUSF9ETUFSZWNlcHRpb25FbmFibGUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIC8qIEVuYWJsZSB0aGUgRE1BIHJlY2VwdGlvbiAqLworICAoaGV0aC0+SW5zdGFuY2UpLT5ETUFPTVIgfD0gRVRIX0RNQU9NUl9TUjsKK30KKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlcyB0aGUgRE1BIHJlY2VwdGlvbi4KKyAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHJldHZhbCBOb25lCisgICovCitzdGF0aWMgdm9pZCBFVEhfRE1BUmVjZXB0aW9uRGlzYWJsZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgLyogRGlzYWJsZSB0aGUgRE1BIHJlY2VwdGlvbiAqLworICAoaGV0aC0+SW5zdGFuY2UpLT5ETUFPTVIgJj0gfkVUSF9ETUFPTVJfU1I7Cit9CisKKy8qKgorICAqIEBicmllZiAgQ2xlYXJzIHRoZSBFVEhFUk5FVCB0cmFuc21pdCBGSUZPLgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK3N0YXRpYyB2b2lkIEVUSF9GbHVzaFRyYW5zbWl0RklGTyhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgX19JTyB1aW50MzJfdCB0bXByZWcgPSAwOworCisgIC8qIFNldCB0aGUgRmx1c2ggVHJhbnNtaXQgRklGTyBiaXQgKi8KKyAgKGhldGgtPkluc3RhbmNlKS0+RE1BT01SIHw9IEVUSF9ETUFPTVJfRlRGOworCisgIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudDoKKyAgICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLworICB0bXByZWcgPSAoaGV0aC0+SW5zdGFuY2UpLT5ETUFPTVI7CisgIEhBTF9EZWxheShFVEhfUkVHX1dSSVRFX0RFTEFZKTsKKyAgKGhldGgtPkluc3RhbmNlKS0+RE1BT01SID0gdG1wcmVnOworfQorCisjaWYgKFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQorc3RhdGljIHZvaWQgRVRIX0luaXRDYWxsYmFja3NUb0RlZmF1bHQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIC8qIEluaXQgdGhlIEVUSCBDYWxsYmFjayBzZXR0aW5ncyAqLworICBoZXRoLT5UeENwbHRDYWxsYmFjayAgICAgICA9IEhBTF9FVEhfVHhDcGx0Q2FsbGJhY2s7IC8qIExlZ2FjeSB3ZWFrIFR4Q3BsdENhbGxiYWNrICAgKi8KKyAgaGV0aC0+UnhDcGx0Q2FsbGJhY2sgICAgICAgPSBIQUxfRVRIX1J4Q3BsdENhbGxiYWNrOyAvKiBMZWdhY3kgd2VhayBSeENwbHRDYWxsYmFjayAgICovCisgIGhldGgtPkRNQUVycm9yQ2FsbGJhY2sgICAgID0gSEFMX0VUSF9FcnJvckNhbGxiYWNrOyAgLyogTGVnYWN5IHdlYWsgRE1BRXJyb3JDYWxsYmFjayAqLworfQorI2VuZGlmIC8qIFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyAqLworCisvKioKKyAgKiBAfQorICAqLworCisjZW5kaWYgLyogRVRIICovCisjZW5kaWYgLyogSEFMX0VUSF9MRUdBQ1lfTU9EVUxFX0VOQUJMRUQgKi8KKy8qKgorICAqIEB9CisgICovCisKKy8qKgorICAqIEB9CisgICovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmN3h4X2hhbC5jIGIvU3JjL3N0bTMyZjd4eF9oYWwuYwppbmRleCA5ZjgyZTM2Li5jMjdiY2UwIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmN3h4X2hhbC5jCisrKyBiL1NyYy9zdG0zMmY3eHhfaGFsLmMKQEAgLTUwLDExICs1MCwxMSBAQAogICAqIEB7CiAgICovCiAvKioKLSAqIEBicmllZiBTVE0zMkY3eHggSEFMIERyaXZlciB2ZXJzaW9uIG51bWJlciBWMS4yLjEwCisgKiBAYnJpZWYgU1RNMzJGN3h4IEhBTCBEcml2ZXIgdmVyc2lvbiBudW1iZXIgVjEuMy4wCiAgICAqLwogI2RlZmluZSBfX1NUTTMyRjd4eF9IQUxfVkVSU0lPTl9NQUlOICAgKDB4MDEpIC8qITwgWzMxOjI0XSBtYWluIHZlcnNpb24gKi8KLSNkZWZpbmUgX19TVE0zMkY3eHhfSEFMX1ZFUlNJT05fU1VCMSAgICgweDAyKSAvKiE8IFsyMzoxNl0gc3ViMSB2ZXJzaW9uICovCi0jZGVmaW5lIF9fU1RNMzJGN3h4X0hBTF9WRVJTSU9OX1NVQjIgICAoMHgwQSkgLyohPCBbMTU6OF0gIHN1YjIgdmVyc2lvbiAqLworI2RlZmluZSBfX1NUTTMyRjd4eF9IQUxfVkVSU0lPTl9TVUIxICAgKDB4MDMpIC8qITwgWzIzOjE2XSBzdWIxIHZlcnNpb24gKi8KKyNkZWZpbmUgX19TVE0zMkY3eHhfSEFMX1ZFUlNJT05fU1VCMiAgICgweDAwKSAvKiE8IFsxNTo4XSAgc3ViMiB2ZXJzaW9uICovCiAjZGVmaW5lIF9fU1RNMzJGN3h4X0hBTF9WRVJTSU9OX1JDICAgICAoMHgwMCkgLyohPCBbNzowXSAgcmVsZWFzZSBjYW5kaWRhdGUgKi8gCiAjZGVmaW5lIF9fU1RNMzJGN3h4X0hBTF9WRVJTSU9OICAgICAgICAgKChfX1NUTTMyRjd4eF9IQUxfVkVSU0lPTl9NQUlOIDw8IDI0KVwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8KF9fU1RNMzJGN3h4X0hBTF9WRVJTSU9OX1NVQjEgPDwgMTYpXApAQCAtMTM4LDkgKzEzOCw5IEBACiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfSW5pdCh2b2lkKQogewogICAvKiBDb25maWd1cmUgSW5zdHJ1Y3Rpb24gY2FjaGUgdGhyb3VnaCBBUlQgYWNjZWxlcmF0b3IgKi8gCi0jaWYgKEFSVF9BQ0NMRVJBVE9SX0VOQUJMRSAhPSAwKQorI2lmIChBUlRfQUNDRUxFUkFUT1JfRU5BQkxFICE9IDApCiAgIF9fSEFMX0ZMQVNIX0FSVF9FTkFCTEUoKTsKLSNlbmRpZiAvKiBBUlRfQUNDTEVSQVRPUl9FTkFCTEUgKi8KKyNlbmRpZiAvKiBBUlRfQUNDRUxFUkFUT1JfRU5BQkxFICovCiAKICAgLyogQ29uZmlndXJlIEZsYXNoIHByZWZldGNoICovCiAjaWYgKFBSRUZFVENIX0VOQUJMRSAhPSAwVSkKZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY3eHhfaGFsX2Nhbi5jIGIvU3JjL3N0bTMyZjd4eF9oYWxfY2FuLmMKaW5kZXggMzA1ZTNlZC4uYWZlM2Y2OCAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjd4eF9oYWxfY2FuLmMKKysrIGIvU3JjL3N0bTMyZjd4eF9oYWxfY2FuLmMKQEAgLTIyNiw4ICsyMjYsOCBAQAogI2lmZGVmIEhBTF9DQU5fTU9EVUxFX0VOQUJMRUQKIAogI2lmZGVmIEhBTF9DQU5fTEVHQUNZX01PRFVMRV9FTkFCTEVECi0gICNlcnJvciAiVGhlIENBTiBkcml2ZXIgY2Fubm90IGJlIHVzZWQgd2l0aCBpdHMgbGVnYWN5LCBQbGVhc2UgZW5hYmxlIG9ubHkgb25lIENBTiBtb2R1bGUgYXQgb25jZSIKLSNlbmRpZgorI2Vycm9yICJUaGUgQ0FOIGRyaXZlciBjYW5ub3QgYmUgdXNlZCB3aXRoIGl0cyBsZWdhY3ksIFBsZWFzZSBlbmFibGUgb25seSBvbmUgQ0FOIG1vZHVsZSBhdCBvbmNlIgorI2VuZGlmIC8qIEhBTF9DQU5fTEVHQUNZX01PRFVMRV9FTkFCTEVEICovCiAKIC8qIFByaXZhdGUgdHlwZWRlZiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKiBQcml2YXRlIGRlZmluZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtNTU1LDcgKzU1NSw4IEBACiAgICogQHBhcmFtICBwQ2FsbGJhY2sgcG9pbnRlciB0byB0aGUgQ2FsbGJhY2sgZnVuY3Rpb24KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9DQU5fUmVnaXN0ZXJDYWxsYmFjayhDQU5fSGFuZGxlVHlwZURlZiAqaGNhbiwgSEFMX0NBTl9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lELCB2b2lkICgqIHBDYWxsYmFjaykoQ0FOX0hhbmRsZVR5cGVEZWYgKl9oY2FuKSkKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9DQU5fUmVnaXN0ZXJDYWxsYmFjayhDQU5fSGFuZGxlVHlwZURlZiAqaGNhbiwgSEFMX0NBTl9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKCogcENhbGxiYWNrKShDQU5fSGFuZGxlVHlwZURlZiAqX2hjYW4pKQogewogICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfT0s7CiAKQEAgLTY3NSw3ICs2NzYsNyBAQAogCiAvKioKICAgKiBAYnJpZWYgIFVucmVnaXN0ZXIgYSBDQU4gQ2FsbEJhY2suCi0gICogICAgICAgICBDQU4gY2FsbGFiY2sgaXMgcmVkaXJlY3RlZCB0byB0aGUgd2VhayBwcmVkZWZpbmVkIGNhbGxiYWNrCisgICogICAgICAgICBDQU4gY2FsbGJhY2sgaXMgcmVkaXJlY3RlZCB0byB0aGUgd2VhayBwcmVkZWZpbmVkIGNhbGxiYWNrCiAgICogQHBhcmFtICBoY2FuIHBvaW50ZXIgdG8gYSBDQU5fSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIENBTiBtb2R1bGUKICAgKiBAcGFyYW0gIENhbGxiYWNrSUQgSUQgb2YgdGhlIGNhbGxiYWNrIHRvIGJlIHVucmVnaXN0ZXJlZApAQCAtODM1LDcgKzgzNiw3IEBACiAgICogICAgICAgICBjb250YWlucyB0aGUgZmlsdGVyIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24uCiAgICogQHJldHZhbCBOb25lCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfQ0FOX0NvbmZpZ0ZpbHRlcihDQU5fSGFuZGxlVHlwZURlZiAqaGNhbiwgQ0FOX0ZpbHRlclR5cGVEZWYgKnNGaWx0ZXJDb25maWcpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfQ0FOX0NvbmZpZ0ZpbHRlcihDQU5fSGFuZGxlVHlwZURlZiAqaGNhbiwgY29uc3QgQ0FOX0ZpbHRlclR5cGVEZWYgKnNGaWx0ZXJDb25maWcpCiB7CiAgIHVpbnQzMl90IGZpbHRlcm5icmJpdHBvczsKICAgQ0FOX1R5cGVEZWYgKmNhbl9pcCA9IGhjYW4tPkluc3RhbmNlOwpAQCAtMTIxNiw3ICsxMjE3LDcgQEAKICAgKiAgICAgICAgICAtIDAgOiBTbGVlcCBtb2RlIGlzIG5vdCBhY3RpdmUuCiAgICogICAgICAgICAgLSAxIDogU2xlZXAgbW9kZSBpcyBhY3RpdmUuCiAgICovCi11aW50MzJfdCBIQUxfQ0FOX0lzU2xlZXBBY3RpdmUoQ0FOX0hhbmRsZVR5cGVEZWYgKmhjYW4pCit1aW50MzJfdCBIQUxfQ0FOX0lzU2xlZXBBY3RpdmUoY29uc3QgQ0FOX0hhbmRsZVR5cGVEZWYgKmhjYW4pCiB7CiAgIHVpbnQzMl90IHN0YXR1cyA9IDBVOwogICBIQUxfQ0FOX1N0YXRlVHlwZURlZiBzdGF0ZSA9IGhjYW4tPlN0YXRlOwpAQCAtMTI0Nyw3ICsxMjQ4LDggQEAKICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEBhcmcgQ0FOX1R4X01haWxib3hlcy4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9DQU5fQWRkVHhNZXNzYWdlKENBTl9IYW5kbGVUeXBlRGVmICpoY2FuLCBDQU5fVHhIZWFkZXJUeXBlRGVmICpwSGVhZGVyLCB1aW50OF90IGFEYXRhW10sIHVpbnQzMl90ICpwVHhNYWlsYm94KQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0NBTl9BZGRUeE1lc3NhZ2UoQ0FOX0hhbmRsZVR5cGVEZWYgKmhjYW4sIGNvbnN0IENBTl9UeEhlYWRlclR5cGVEZWYgKnBIZWFkZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90IGFEYXRhW10sIHVpbnQzMl90ICpwVHhNYWlsYm94KQogewogICB1aW50MzJfdCB0cmFuc21pdG1haWxib3g7CiAgIEhBTF9DQU5fU3RhdGVUeXBlRGVmIHN0YXRlID0gaGNhbi0+U3RhdGU7CkBAIC0xMjc4LDE1ICsxMjgwLDYgQEAKICAgICAgIC8qIFNlbGVjdCBhbiBlbXB0eSB0cmFuc21pdCBtYWlsYm94ICovCiAgICAgICB0cmFuc21pdG1haWxib3ggPSAodHNyICYgQ0FOX1RTUl9DT0RFKSA+PiBDQU5fVFNSX0NPREVfUG9zOwogCi0gICAgICAvKiBDaGVjayB0cmFuc21pdCBtYWlsYm94IHZhbHVlICovCi0gICAgICBpZiAodHJhbnNtaXRtYWlsYm94ID4gMlUpCi0gICAgICB7Ci0gICAgICAgIC8qIFVwZGF0ZSBlcnJvciBjb2RlICovCi0gICAgICAgIGhjYW4tPkVycm9yQ29kZSB8PSBIQUxfQ0FOX0VSUk9SX0lOVEVSTkFMOwotCi0gICAgICAgIHJldHVybiBIQUxfRVJST1I7Ci0gICAgICB9Ci0KICAgICAgIC8qIFN0b3JlIHRoZSBUeCBtYWlsYm94ICovCiAgICAgICAqcFR4TWFpbGJveCA9ICh1aW50MzJfdCkxIDw8IHRyYW5zbWl0bWFpbGJveDsKIApAQCAtMTQwNCw3ICsxMzk3LDcgQEAKICAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciB0aGUgc3BlY2lmaWVkIENBTi4KICAgKiBAcmV0dmFsIE51bWJlciBvZiBmcmVlIFR4IE1haWxib3hlcy4KICAgKi8KLXVpbnQzMl90IEhBTF9DQU5fR2V0VHhNYWlsYm94ZXNGcmVlTGV2ZWwoQ0FOX0hhbmRsZVR5cGVEZWYgKmhjYW4pCit1aW50MzJfdCBIQUxfQ0FOX0dldFR4TWFpbGJveGVzRnJlZUxldmVsKGNvbnN0IENBTl9IYW5kbGVUeXBlRGVmICpoY2FuKQogewogICB1aW50MzJfdCBmcmVlbGV2ZWwgPSAwVTsKICAgSEFMX0NBTl9TdGF0ZVR5cGVEZWYgc3RhdGUgPSBoY2FuLT5TdGF0ZTsKQEAgLTE0NDcsNyArMTQ0MCw3IEBACiAgICogICAgICAgICAgLSAxIDogUGVuZGluZyB0cmFuc21pc3Npb24gcmVxdWVzdCBvbiBhdCBsZWFzdCBvbmUgb2YgdGhlIHNlbGVjdGVkCiAgICogICAgICAgICAgICAgICAgVHggTWFpbGJveC4KICAgKi8KLXVpbnQzMl90IEhBTF9DQU5fSXNUeE1lc3NhZ2VQZW5kaW5nKENBTl9IYW5kbGVUeXBlRGVmICpoY2FuLCB1aW50MzJfdCBUeE1haWxib3hlcykKK3VpbnQzMl90IEhBTF9DQU5fSXNUeE1lc3NhZ2VQZW5kaW5nKGNvbnN0IENBTl9IYW5kbGVUeXBlRGVmICpoY2FuLCB1aW50MzJfdCBUeE1haWxib3hlcykKIHsKICAgdWludDMyX3Qgc3RhdHVzID0gMFU7CiAgIEhBTF9DQU5fU3RhdGVUeXBlRGVmIHN0YXRlID0gaGNhbi0+U3RhdGU7CkBAIC0xNDc5LDcgKzE0NzIsNyBAQAogICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSB2YWx1ZSBvZiBAYXJnIENBTl9UeF9NYWlsYm94ZXMuCiAgICogQHJldHZhbCBUaW1lc3RhbXAgb2YgbWVzc2FnZSBzZW50IGZyb20gVHggTWFpbGJveC4KICAgKi8KLXVpbnQzMl90IEhBTF9DQU5fR2V0VHhUaW1lc3RhbXAoQ0FOX0hhbmRsZVR5cGVEZWYgKmhjYW4sIHVpbnQzMl90IFR4TWFpbGJveCkKK3VpbnQzMl90IEhBTF9DQU5fR2V0VHhUaW1lc3RhbXAoY29uc3QgQ0FOX0hhbmRsZVR5cGVEZWYgKmhjYW4sIHVpbnQzMl90IFR4TWFpbGJveCkKIHsKICAgdWludDMyX3QgdGltZXN0YW1wID0gMFU7CiAgIHVpbnQzMl90IHRyYW5zbWl0bWFpbGJveDsKQEAgLTE1MTMsNyArMTUwNiw4IEBACiAgICogQHBhcmFtICBhRGF0YSBhcnJheSB3aGVyZSB0aGUgcGF5bG9hZCBvZiB0aGUgUnggZnJhbWUgd2lsbCBiZSBzdG9yZWQuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfQ0FOX0dldFJ4TWVzc2FnZShDQU5fSGFuZGxlVHlwZURlZiAqaGNhbiwgdWludDMyX3QgUnhGaWZvLCBDQU5fUnhIZWFkZXJUeXBlRGVmICpwSGVhZGVyLCB1aW50OF90IGFEYXRhW10pCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfQ0FOX0dldFJ4TWVzc2FnZShDQU5fSGFuZGxlVHlwZURlZiAqaGNhbiwgdWludDMyX3QgUnhGaWZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FOX1J4SGVhZGVyVHlwZURlZiAqcEhlYWRlciwgdWludDhfdCBhRGF0YVtdKQogewogICBIQUxfQ0FOX1N0YXRlVHlwZURlZiBzdGF0ZSA9IGhjYW4tPlN0YXRlOwogCkBAIC0xNTU0LDcgKzE1NDgsOCBAQAogICAgIH0KICAgICBlbHNlCiAgICAgewotICAgICAgcEhlYWRlci0+RXh0SWQgPSAoKENBTl9SSTBSX0VYSUQgfCBDQU5fUkkwUl9TVElEKSAmIGhjYW4tPkluc3RhbmNlLT5zRklGT01haWxCb3hbUnhGaWZvXS5SSVIpID4+IENBTl9SSTBSX0VYSURfUG9zOworICAgICAgcEhlYWRlci0+RXh0SWQgPSAoKENBTl9SSTBSX0VYSUQgfCBDQU5fUkkwUl9TVElEKSAmCisgICAgICAgICAgICAgICAgICAgICAgICBoY2FuLT5JbnN0YW5jZS0+c0ZJRk9NYWlsQm94W1J4Rmlmb10uUklSKSA+PiBDQU5fUkkwUl9FWElEX1BvczsKICAgICB9CiAgICAgcEhlYWRlci0+UlRSID0gKENBTl9SSTBSX1JUUiAmIGhjYW4tPkluc3RhbmNlLT5zRklGT01haWxCb3hbUnhGaWZvXS5SSVIpOwogICAgIHBIZWFkZXItPkRMQyA9IChDQU5fUkRUMFJfRExDICYgaGNhbi0+SW5zdGFuY2UtPnNGSUZPTWFpbEJveFtSeEZpZm9dLlJEVFIpID4+IENBTl9SRFQwUl9ETENfUG9zOwpAQCAtMTYwMyw3ICsxNTk4LDcgQEAKICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEBhcmcgQ0FOX3JlY2VpdmVfRklGT19udW1iZXIuCiAgICogQHJldHZhbCBOdW1iZXIgb2YgbWVzc2FnZXMgYXZhaWxhYmxlIGluIFJ4IEZJRk8uCiAgICovCi11aW50MzJfdCBIQUxfQ0FOX0dldFJ4Rmlmb0ZpbGxMZXZlbChDQU5fSGFuZGxlVHlwZURlZiAqaGNhbiwgdWludDMyX3QgUnhGaWZvKQordWludDMyX3QgSEFMX0NBTl9HZXRSeEZpZm9GaWxsTGV2ZWwoY29uc3QgQ0FOX0hhbmRsZVR5cGVEZWYgKmhjYW4sIHVpbnQzMl90IFJ4RmlmbykKIHsKICAgdWludDMyX3QgZmlsbGxldmVsID0gMFU7CiAgIEhBTF9DQU5fU3RhdGVUeXBlRGVmIHN0YXRlID0gaGNhbi0+U3RhdGU7CkBAIC0yMzcxLDcgKzIzNjYsNyBAQAogICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIHRoZSBzcGVjaWZpZWQgQ0FOLgogICAqIEByZXR2YWwgSEFMIHN0YXRlCiAgICovCi1IQUxfQ0FOX1N0YXRlVHlwZURlZiBIQUxfQ0FOX0dldFN0YXRlKENBTl9IYW5kbGVUeXBlRGVmICpoY2FuKQorSEFMX0NBTl9TdGF0ZVR5cGVEZWYgSEFMX0NBTl9HZXRTdGF0ZShjb25zdCBDQU5fSGFuZGxlVHlwZURlZiAqaGNhbikKIHsKICAgSEFMX0NBTl9TdGF0ZVR5cGVEZWYgc3RhdGUgPSBoY2FuLT5TdGF0ZTsKIApAQCAtMjQwNiw3ICsyNDAxLDcgQEAKICAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciB0aGUgc3BlY2lmaWVkIENBTi4KICAgKiBAcmV0dmFsIENBTiBFcnJvciBDb2RlCiAgICovCi11aW50MzJfdCBIQUxfQ0FOX0dldEVycm9yKENBTl9IYW5kbGVUeXBlRGVmICpoY2FuKQordWludDMyX3QgSEFMX0NBTl9HZXRFcnJvcihjb25zdCBDQU5fSGFuZGxlVHlwZURlZiAqaGNhbikKIHsKICAgLyogUmV0dXJuIENBTiBlcnJvciBjb2RlICovCiAgIHJldHVybiBoY2FuLT5FcnJvckNvZGU7CmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmN3h4X2hhbF9jZWMuYyBiL1NyYy9zdG0zMmY3eHhfaGFsX2NlYy5jCmluZGV4IDBiOTIzNzUuLjNlMWMxODIgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY3eHhfaGFsX2NlYy5jCisrKyBiL1NyYy9zdG0zMmY3eHhfaGFsX2NlYy5jCkBAIC0yMzMsNyArMjMzLDggQEAKIAogICAvKiBXcml0ZSB0byBDRUMgQ29udHJvbCBSZWdpc3RlciAqLwogICBoY2VjLT5JbnN0YW5jZS0+Q0ZHUiA9IGhjZWMtPkluaXQuU2lnbmFsRnJlZVRpbWUgfCBoY2VjLT5Jbml0LlRvbGVyYW5jZSB8IGhjZWMtPkluaXQuQlJFUnhTdG9wIHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgIGhjZWMtPkluaXQuQlJFRXJyb3JCaXRHZW4gfCBoY2VjLT5Jbml0LkxCUEVFcnJvckJpdEdlbiB8IGhjZWMtPkluaXQuQnJvYWRjYXN0TXNnTm9FcnJvckJpdEdlbiB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBoY2VjLT5Jbml0LkJSRUVycm9yQml0R2VuIHwgaGNlYy0+SW5pdC5MQlBFRXJyb3JCaXRHZW4gfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgaGNlYy0+SW5pdC5Ccm9hZGNhc3RNc2dOb0Vycm9yQml0R2VuIHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgIGhjZWMtPkluaXQuU2lnbmFsRnJlZVRpbWVPcHRpb24gfCAoKHVpbnQzMl90KShoY2VjLT5Jbml0Lk93bkFkZHJlc3MpIDw8IDE2VSkgfCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgaGNlYy0+SW5pdC5MaXN0ZW5Nb2RlOwogCkBAIC00MTIsMTAgKzQxMywxMCBAQAogICAqIEBwYXJhbSAgaGNlYyBDRUMgaGFuZGxlCiAgICogQHBhcmFtICBDYWxsYmFja0lEIElEIG9mIHRoZSBjYWxsYmFjayB0byBiZSByZWdpc3RlcmVkCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgotICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfQ0VDX1RYX0NQTFRfQ0JfSUQgVHggQ29tcGxldGUgY2FsbGJhY2sgSUQKLSAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX0NFQ19FUlJPUl9DQl9JRCBFcnJvciBjYWxsYmFjayBJRAotICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfQ0VDX01TUElOSVRfQ0JfSUQgTXNwSW5pdCBjYWxsYmFjayBJRAotICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfQ0VDX01TUERFSU5JVF9DQl9JRCBNc3BEZUluaXQgY2FsbGJhY2sgSUQKKyAgKiAgICAgICAgICBAYXJnIEhBTF9DRUNfVFhfQ1BMVF9DQl9JRCBUeCBDb21wbGV0ZSBjYWxsYmFjayBJRAorICAqICAgICAgICAgIEBhcmcgSEFMX0NFQ19FUlJPUl9DQl9JRCBFcnJvciBjYWxsYmFjayBJRAorICAqICAgICAgICAgIEBhcmcgSEFMX0NFQ19NU1BJTklUX0NCX0lEIE1zcEluaXQgY2FsbGJhY2sgSUQKKyAgKiAgICAgICAgICBAYXJnIEhBTF9DRUNfTVNQREVJTklUX0NCX0lEIE1zcERlSW5pdCBjYWxsYmFjayBJRAogICAqIEBwYXJhbSAgcENhbGxiYWNrIHBvaW50ZXIgdG8gdGhlIENhbGxiYWNrIGZ1bmN0aW9uCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCkBAIC00OTcsMTQgKzQ5OCwxNCBAQAogCiAvKioKICAgKiBAYnJpZWYgIFVucmVnaXN0ZXIgYW4gQ0VDIENhbGxiYWNrCi0gICogICAgICAgICBDRUMgY2FsbGFiY2sgaXMgcmVkaXJlY3RlZCB0byB0aGUgd2VhayBwcmVkZWZpbmVkIGNhbGxiYWNrCisgICogICAgICAgICBDRUMgY2FsbGJhY2sgaXMgcmVkaXJlY3RlZCB0byB0aGUgd2VhayBwcmVkZWZpbmVkIGNhbGxiYWNrCiAgICogQHBhcmFtIGhjZWMgdWFydCBoYW5kbGUKICAgKiBAcGFyYW0gQ2FsbGJhY2tJRCBJRCBvZiB0aGUgY2FsbGJhY2sgdG8gYmUgdW5yZWdpc3RlcmVkCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgotICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfQ0VDX1RYX0NQTFRfQ0JfSUQgVHggQ29tcGxldGUgY2FsbGJhY2sgSUQKLSAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX0NFQ19FUlJPUl9DQl9JRCBFcnJvciBjYWxsYmFjayBJRAotICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfQ0VDX01TUElOSVRfQ0JfSUQgTXNwSW5pdCBjYWxsYmFjayBJRAotICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfQ0VDX01TUERFSU5JVF9DQl9JRCBNc3BEZUluaXQgY2FsbGJhY2sgSUQKKyAgKiAgICAgICAgICBAYXJnIEhBTF9DRUNfVFhfQ1BMVF9DQl9JRCBUeCBDb21wbGV0ZSBjYWxsYmFjayBJRAorICAqICAgICAgICAgIEBhcmcgSEFMX0NFQ19FUlJPUl9DQl9JRCBFcnJvciBjYWxsYmFjayBJRAorICAqICAgICAgICAgIEBhcmcgSEFMX0NFQ19NU1BJTklUX0NCX0lEIE1zcEluaXQgY2FsbGJhY2sgSUQKKyAgKiAgICAgICAgICBAYXJnIEhBTF9DRUNfTVNQREVJTklUX0NCX0lEIE1zcERlSW5pdCBjYWxsYmFjayBJRAogICAqIEByZXR2YWwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfQ0VDX1VuUmVnaXN0ZXJDYWxsYmFjayhDRUNfSGFuZGxlVHlwZURlZiAqaGNlYywgSEFMX0NFQ19DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lEKQpAQCAtNjk0LDcgKzY5NSw3IEBACiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfQ0VDX1RyYW5zbWl0X0lUKENFQ19IYW5kbGVUeXBlRGVmICpoY2VjLCB1aW50OF90IEluaXRpYXRvckFkZHJlc3MsIHVpbnQ4X3QgRGVzdGluYXRpb25BZGRyZXNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpwRGF0YSwgdWludDMyX3QgU2l6ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcERhdGEsIHVpbnQzMl90IFNpemUpCiB7CiAgIC8qIGlmIHRoZSBwZXJpcGhlcmFsIGlzbid0IGFscmVhZHkgYnVzeSBhbmQgaWYgdGhlcmUgaXMgbm8gcHJldmlvdXMgdHJhbnNtaXNzaW9uCiAgICAgIGFscmVhZHkgcGVuZGluZyBkdWUgdG8gYXJiaXRyYXRpb24gbG9zdCAqLwpAQCAtNzQ5LDcgKzc1MCw3IEBACiAgICogQHBhcmFtIGhjZWMgQ0VDIGhhbmRsZQogICAqIEByZXR2YWwgRnJhbWUgc2l6ZQogICAqLwotdWludDMyX3QgSEFMX0NFQ19HZXRMYXN0UmVjZWl2ZWRGcmFtZVNpemUoQ0VDX0hhbmRsZVR5cGVEZWYgKmhjZWMpCit1aW50MzJfdCBIQUxfQ0VDX0dldExhc3RSZWNlaXZlZEZyYW1lU2l6ZShjb25zdCBDRUNfSGFuZGxlVHlwZURlZiAqaGNlYykKIHsKICAgcmV0dXJuIGhjZWMtPlJ4WGZlclNpemU7CiB9CkBAIC03NzUsMTMgKzc3NiwxMyBAQAogewogCiAgIC8qIHNhdmUgaW50ZXJydXB0cyByZWdpc3RlciBmb3IgZnVydGhlciBlcnJvciBvciBpbnRlcnJ1cHRzIGhhbmRsaW5nIHB1cnBvc2VzICovCi0gIHVpbnQzMl90IHJlZzsKLSAgcmVnID0gaGNlYy0+SW5zdGFuY2UtPklTUjsKKyAgdWludDMyX3QgaXRmbGFnOworICBpdGZsYWcgPSBoY2VjLT5JbnN0YW5jZS0+SVNSOwogCiAKICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLUFyYml0cmF0aW9uIExvc3QgTWFuYWdlbWVudC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogICAvKiBDRUMgVFggYXJiaXRyYXRpb24gZXJyb3IgaW50ZXJydXB0IG9jY3VycmVkIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLSAgaWYgKChyZWcgJiBDRUNfRkxBR19BUkJMU1QpICE9IDBVKQorICBpZiAoSEFMX0lTX0JJVF9TRVQoaXRmbGFnLCBDRUNfRkxBR19BUkJMU1QpKQogICB7CiAgICAgaGNlYy0+RXJyb3JDb2RlID0gSEFMX0NFQ19FUlJPUl9BUkJMU1Q7CiAgICAgX19IQUxfQ0VDX0NMRUFSX0ZMQUcoaGNlYywgQ0VDX0ZMQUdfQVJCTFNUKTsKQEAgLTc4OSw3ICs3OTAsNyBAQAogCiAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1SeCBNYW5hZ2VtZW50LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgIC8qIENFQyBSWCBieXRlIHJlY2VpdmVkIGludGVycnVwdCAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLSAgaWYgKChyZWcgJiBDRUNfRkxBR19SWEJSKSAhPSAwVSkKKyAgaWYgKEhBTF9JU19CSVRfU0VUKGl0ZmxhZywgQ0VDX0ZMQUdfUlhCUikpCiAgIHsKICAgICAvKiByZWNlcHRpb24gaXMgc3RhcnRpbmcgKi8KICAgICBoY2VjLT5SeFN0YXRlID0gSEFMX0NFQ19TVEFURV9CVVNZX1JYOwpAQCAtODAxLDcgKzgwMiw3IEBACiAgIH0KIAogICAvKiBDRUMgUlggZW5kIHJlY2VpdmVkIGludGVycnVwdCAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLSAgaWYgKChyZWcgJiBDRUNfRkxBR19SWEVORCkgIT0gMFUpCisgIGlmIChIQUxfSVNfQklUX1NFVChpdGZsYWcsIENFQ19GTEFHX1JYRU5EKSkKICAgewogICAgIC8qIGNsZWFyIElUICovCiAgICAgX19IQUxfQ0VDX0NMRUFSX0ZMQUcoaGNlYywgQ0VDX0ZMQUdfUlhFTkQpOwpAQCAtODIwLDcgKzgyMSw3IEBACiAKICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVR4IE1hbmFnZW1lbnQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICAgLyogQ0VDIFRYIGJ5dGUgcmVxdWVzdCBpbnRlcnJ1cHQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLSAgaWYgKChyZWcgJiBDRUNfRkxBR19UWEJSKSAhPSAwVSkKKyAgaWYgKEhBTF9JU19CSVRfU0VUKGl0ZmxhZywgQ0VDX0ZMQUdfVFhCUikpCiAgIHsKICAgICAtLWhjZWMtPlR4WGZlckNvdW50OwogICAgIGlmIChoY2VjLT5UeFhmZXJDb3VudCA9PSAwVSkKQEAgLTgyOSwxNCArODMwLDE0IEBACiAgICAgICBfX0hBTF9DRUNfTEFTVF9CWVRFX1RYX1NFVChoY2VjKTsKICAgICB9CiAgICAgLyogSW4gYWxsIGNhc2VzIHRyYW5zbWl0IHRoZSBieXRlICovCi0gICAgaGNlYy0+SW5zdGFuY2UtPlRYRFIgPSAqaGNlYy0+cFR4QnVmZlB0cjsKKyAgICBoY2VjLT5JbnN0YW5jZS0+VFhEUiA9ICh1aW50OF90KSpoY2VjLT5wVHhCdWZmUHRyOwogICAgIGhjZWMtPnBUeEJ1ZmZQdHIrKzsKICAgICAvKiBjbGVhciBUeC1CeXRlIHJlcXVlc3QgZmxhZyAqLwogICAgIF9fSEFMX0NFQ19DTEVBUl9GTEFHKGhjZWMsIENFQ19GTEFHX1RYQlIpOwogICB9CiAKICAgLyogQ0VDIFRYIGVuZCBpbnRlcnJ1cHQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLSAgaWYgKChyZWcgJiBDRUNfRkxBR19UWEVORCkgIT0gMFUpCisgIGlmIChIQUxfSVNfQklUX1NFVChpdGZsYWcsIENFQ19GTEFHX1RYRU5EKSkKICAgewogICAgIF9fSEFMX0NFQ19DTEVBUl9GTEFHKGhjZWMsIENFQ19GTEFHX1RYRU5EKTsKIApAQCAtODU0LDIxICs4NTUsMjEgQEAKICAgfQogCiAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1SeC9UeCBFcnJvciBNYW5hZ2VtZW50LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0gIGlmICgocmVnICYgKENFQ19JU1JfUlhPVlIgfCBDRUNfSVNSX0JSRSB8IENFQ19JU1JfU0JQRSB8IENFQ19JU1JfTEJQRSB8IENFQ19JU1JfUlhBQ0tFIHwgQ0VDX0lTUl9UWFVEUiB8IENFQ19JU1JfVFhFUlIgfAotICAgICAgICAgICAgICBDRUNfSVNSX1RYQUNLRSkpICE9IDBVKQorICBpZiAoKGl0ZmxhZyAmIChDRUNfSVNSX1JYT1ZSIHwgQ0VDX0lTUl9CUkUgfCBDRUNfSVNSX1NCUEUgfCBDRUNfSVNSX0xCUEUgfCBDRUNfSVNSX1JYQUNLRSB8IENFQ19JU1JfVFhVRFIgfAorICAgICAgICAgICAgICBDRUNfSVNSX1RYRVJSIHwgQ0VDX0lTUl9UWEFDS0UpKSAhPSAwVSkKICAgewotICAgIGhjZWMtPkVycm9yQ29kZSA9IHJlZzsKKyAgICBoY2VjLT5FcnJvckNvZGUgPSBpdGZsYWc7CiAgICAgX19IQUxfQ0VDX0NMRUFSX0ZMQUcoaGNlYywgSEFMX0NFQ19FUlJPUl9SWE9WUiB8IEhBTF9DRUNfRVJST1JfQlJFIHwgQ0VDX0ZMQUdfTEJQRSB8IENFQ19GTEFHX1NCUEUgfAogICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9DRUNfRVJST1JfUlhBQ0tFIHwgSEFMX0NFQ19FUlJPUl9UWFVEUiB8IEhBTF9DRUNfRVJST1JfVFhFUlIgfCBIQUxfQ0VDX0VSUk9SX1RYQUNLRSk7CiAKIAotICAgIGlmICgocmVnICYgKENFQ19JU1JfUlhPVlIgfCBDRUNfSVNSX0JSRSB8IENFQ19JU1JfU0JQRSB8IENFQ19JU1JfTEJQRSB8IENFQ19JU1JfUlhBQ0tFKSkgIT0gMFUpCisgICAgaWYgKChpdGZsYWcgJiAoQ0VDX0lTUl9SWE9WUiB8IENFQ19JU1JfQlJFIHwgQ0VDX0lTUl9TQlBFIHwgQ0VDX0lTUl9MQlBFIHwgQ0VDX0lTUl9SWEFDS0UpKSAhPSAwVSkKICAgICB7CiAgICAgICBoY2VjLT5Jbml0LlJ4QnVmZmVyIC09IGhjZWMtPlJ4WGZlclNpemU7CiAgICAgICBoY2VjLT5SeFhmZXJTaXplID0gMFU7CiAgICAgICBoY2VjLT5SeFN0YXRlID0gSEFMX0NFQ19TVEFURV9SRUFEWTsKICAgICB9Ci0gICAgZWxzZSBpZiAoKChyZWcgJiBDRUNfSVNSX0FSQkxTVCkgPT0gMFUpICYmICgocmVnICYgKENFQ19JU1JfVFhVRFIgfCBDRUNfSVNSX1RYRVJSIHwgQ0VDX0lTUl9UWEFDS0UpKSAhPSAwVSkpCisgICAgZWxzZSBpZiAoKChpdGZsYWcgJiBDRUNfSVNSX0FSQkxTVCkgPT0gMFUpICYmICgoaXRmbGFnICYgKENFQ19JU1JfVFhVRFIgfCBDRUNfSVNSX1RYRVJSIHwgQ0VDX0lTUl9UWEFDS0UpKSAhPSAwVSkpCiAgICAgewogICAgICAgLyogU2V0IHRoZSBDRUMgc3RhdGUgcmVhZHkgdG8gYmUgYWJsZSB0byBzdGFydCBhZ2FpbiB0aGUgcHJvY2VzcyAqLwogICAgICAgaGNlYy0+Z1N0YXRlID0gSEFMX0NFQ19TVEFURV9SRUFEWTsKQEAgLTk1Nyw5ICs5NTgsMTAgQEAKICAgKiAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIHRoZSBzcGVjaWZpZWQgQ0VDIG1vZHVsZS4KICAgKiBAcmV0dmFsIEhBTCBzdGF0ZQogICAqLwotSEFMX0NFQ19TdGF0ZVR5cGVEZWYgSEFMX0NFQ19HZXRTdGF0ZShDRUNfSGFuZGxlVHlwZURlZiAqaGNlYykKK0hBTF9DRUNfU3RhdGVUeXBlRGVmIEhBTF9DRUNfR2V0U3RhdGUoY29uc3QgQ0VDX0hhbmRsZVR5cGVEZWYgKmhjZWMpCiB7Ci0gIHVpbnQzMl90IHRlbXAxLCB0ZW1wMjsKKyAgdWludDMyX3QgdGVtcDE7CisgIHVpbnQzMl90IHRlbXAyOwogICB0ZW1wMSA9IGhjZWMtPmdTdGF0ZTsKICAgdGVtcDIgPSBoY2VjLT5SeFN0YXRlOwogCkBAIC05NzIsNyArOTc0LDcgQEAKICAgKiAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIHRoZSBzcGVjaWZpZWQgQ0VDLgogICAqIEByZXR2YWwgQ0VDIEVycm9yIENvZGUKICAgKi8KLXVpbnQzMl90IEhBTF9DRUNfR2V0RXJyb3IoQ0VDX0hhbmRsZVR5cGVEZWYgKmhjZWMpCit1aW50MzJfdCBIQUxfQ0VDX0dldEVycm9yKGNvbnN0IENFQ19IYW5kbGVUeXBlRGVmICpoY2VjKQogewogICByZXR1cm4gaGNlYy0+RXJyb3JDb2RlOwogfQpAQCAtOTkzLDQgKzk5NSwzIEBACiAvKioKICAgKiBAfQogICAqLwotCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmN3h4X2hhbF9ldGguYyBiL1NyYy9zdG0zMmY3eHhfaGFsX2V0aC5jCmluZGV4IDk0MDFhY2MuLjBjNzY5N2EgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY3eHhfaGFsX2V0aC5jCisrKyBiL1NyYy9zdG0zMmY3eHhfaGFsX2V0aC5jCkBAIC0xOTQsNDQgKzE5NCw0NCBAQAogLyoqIEBhZGR0b2dyb3VwIEVUSF9Qcml2YXRlX0NvbnN0YW50cyBFVEggUHJpdmF0ZSBDb25zdGFudHMKICAgKiBAewogICAqLwotI2RlZmluZSBFVEhfTUFDQ1JfTUFTSyAgICAgICAoKHVpbnQzMl90KTB4RkZGQjdGN0NVKQotI2RlZmluZSBFVEhfTUFDRUNSX01BU0sgICAgICAoKHVpbnQzMl90KTB4M0YwNzdGRkZVKQotI2RlZmluZSBFVEhfTUFDRkZSX01BU0sgICAgICAoKHVpbnQzMl90KTB4ODAwMDA3RkZVKQotI2RlZmluZSBFVEhfTUFDV1RSX01BU0sgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMEZVKQotI2RlZmluZSBFVEhfTUFDVEZDUl9NQVNLICAgICAoKHVpbnQzMl90KTB4RkZGRjAwRjJVKQotI2RlZmluZSBFVEhfTUFDUkZDUl9NQVNLICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDNVKQotI2RlZmluZSBFVEhfTVRMVFFPTVJfTUFTSyAgICAoKHVpbnQzMl90KTB4MDAwMDAwNzJVKQotI2RlZmluZSBFVEhfTVRMUlFPTVJfTUFTSyAgICAoKHVpbnQzMl90KTB4MDAwMDAwN0JVKQotCi0jZGVmaW5lIEVUSF9ETUFNUl9NQVNLICAgICAgICgodWludDMyX3QpMHgwMDAwNzgwMlUpCi0jZGVmaW5lIEVUSF9ETUFTQk1SX01BU0sgICAgICgodWludDMyX3QpMHgwMDAwRDAwMVUpCi0jZGVmaW5lIEVUSF9ETUFDQ1JfTUFTSyAgICAgICgodWludDMyX3QpMHgwMDAxM0ZGRlUpCi0jZGVmaW5lIEVUSF9ETUFDVENSX01BU0sgICAgICgodWludDMyX3QpMHgwMDNGMTAxMFUpCi0jZGVmaW5lIEVUSF9ETUFDUkNSX01BU0sgICAgICgodWludDMyX3QpMHg4MDNGMDAwMFUpCi0jZGVmaW5lIEVUSF9NQUNQTVRDU1JfTUFTSyAgIChFVEhfTUFDUE1UQ1NSX1BEIHwgRVRIX01BQ1BNVENTUl9XRkUgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVEhfTUFDUE1UQ1NSX01QRSB8IEVUSF9NQUNQTVRDU1JfR1UpCisjZGVmaW5lIEVUSF9NQUNDUl9NQVNLICAgICAgICAgIDB4RkZGQjdGN0NVCisjZGVmaW5lIEVUSF9NQUNFQ1JfTUFTSyAgICAgICAgIDB4M0YwNzdGRkZVCisjZGVmaW5lIEVUSF9NQUNGRlJfTUFTSyAgICAgICAgIDB4ODAwMDA3RkZVCisjZGVmaW5lIEVUSF9NQUNXVFJfTUFTSyAgICAgICAgIDB4MDAwMDAxMEZVCisjZGVmaW5lIEVUSF9NQUNURkNSX01BU0sgICAgICAgIDB4RkZGRjAwRjJVCisjZGVmaW5lIEVUSF9NQUNSRkNSX01BU0sgICAgICAgIDB4MDAwMDAwMDNVCisjZGVmaW5lIEVUSF9NVExUUU9NUl9NQVNLICAgICAgIDB4MDAwMDAwNzJVCisjZGVmaW5lIEVUSF9NVExSUU9NUl9NQVNLICAgICAgIDB4MDAwMDAwN0JVCisJCQkJCQkJICAgIAorI2RlZmluZSBFVEhfRE1BTVJfTUFTSyAgICAgICAgICAweDAwMDA3ODAyVQorI2RlZmluZSBFVEhfRE1BU0JNUl9NQVNLICAgICAgICAweDAwMDBEMDAxVQorI2RlZmluZSBFVEhfRE1BQ0NSX01BU0sgICAgICAgICAweDAwMDEzRkZGVQorI2RlZmluZSBFVEhfRE1BQ1RDUl9NQVNLICAgICAgICAweDAwM0YxMDEwVQorI2RlZmluZSBFVEhfRE1BQ1JDUl9NQVNLICAgICAgICAweDgwM0YwMDAwVQorI2RlZmluZSBFVEhfTUFDUE1UQ1NSX01BU0sgICAgICAoRVRIX01BQ1BNVENTUl9QRCB8IEVUSF9NQUNQTVRDU1JfV0ZFIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX01BQ1BNVENTUl9NUEUgfCBFVEhfTUFDUE1UQ1NSX0dVKQogCiAvKiBUaW1lb3V0IHZhbHVlcyAqLwotI2RlZmluZSBFVEhfU1dSRVNFVF9USU1FT1VUICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTUwMFUpCi0jZGVmaW5lIEVUSF9NRElPX0JVU19USU1FT1VUICAgICAgICAgICAgICAgICgodWludDMyX3QpMTAwMFUpCisjZGVmaW5lIEVUSF9TV1JFU0VUX1RJTUVPVVQgICAgIDUwMFUKKyNkZWZpbmUgRVRIX01ESU9fQlVTX1RJTUVPVVQgICAgMTAwMFUKIAogI2RlZmluZSBFVEhfRE1BUlhERVNDX0VSUk9SU19NQVNLICgodWludDMyX3QpKEVUSF9ETUFSWERFU0NfREJFIHwgRVRIX0RNQVJYREVTQ19SRSB8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVEhfRE1BUlhERVNDX09FICB8IEVUSF9ETUFSWERFU0NfUldUIHxcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX0RNQVJYREVTQ19MQyB8IEVUSF9ETUFSWERFU0NfQ0UgfFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVEhfRE1BUlhERVNDX0RFIHwgRVRIX0RNQVJYREVTQ19JUFY0SENFKSkKIAotI2RlZmluZSBFVEhfTUFDX1VTX1RJQ0sgICAgICAgICAgICAgICAoKHVpbnQzMl90KTEwMDAwMDBVKQorI2RlZmluZSBFVEhfTUFDX1VTX1RJQ0sgICAgICAgICAxMDAwMDAwVQogCi0jZGVmaW5lIEVUSF9NQUNUU0NSX01BU0sgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDg3RkYyRlUpCisjZGVmaW5lIEVUSF9NQUNUU0NSX01BU0sgICAgICAgIDB4MDA4N0ZGMkZVCiAKLSNkZWZpbmUgRVRIX1BUUFRTSFJfVkFMVUUgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKQotI2RlZmluZSBFVEhfUFRQVFNMUl9WQUxVRSAgICAgICAgICAgICgodWludDMyX3QpMHhCQjlBQ0EwMFUpCisjZGVmaW5lIEVUSF9QVFBUU0hSX1ZBTFVFICAgICAgIDB4RkZGRkZGRkZVCisjZGVmaW5lIEVUSF9QVFBUU0xSX1ZBTFVFICAgICAgIDB4QkI5QUNBMDBVCiAKIC8qIEV0aGVybmV0IE1BQ01JSUFSIHJlZ2lzdGVyIE1hc2sgKi8KLSNkZWZpbmUgRVRIX01BQ01JSUFSX0NSX01BU0sgICAgKCh1aW50MzJfdCkweEZGRkZGRkUzVSkKKyNkZWZpbmUgRVRIX01BQ01JSUFSX0NSX01BU0sgICAgMHhGRkZGRkZFM1UKIAogLyogRGVsYXkgdG8gd2FpdCB3aGVuIHdyaXRpbmcgdG8gc29tZSBFdGhlcm5ldCByZWdpc3RlcnMgKi8KLSNkZWZpbmUgRVRIX1JFR19XUklURV9ERUxBWSAoKHVpbnQzMl90KTB4MDAwMDAwMDFVKQorI2RlZmluZSBFVEhfUkVHX1dSSVRFX0RFTEFZICAgICAweDAwMDAwMDAxVQogCiAvKiBFVEhFUk5FVCBNQUNDUiByZWdpc3RlciBNYXNrICovCiAjZGVmaW5lIEVUSF9NQUNDUl9DTEVBUl9NQVNLICAgIDB4RkYyMDgxMEZVCkBAIC0yNDMsOCArMjQzLDggQEAKICNkZWZpbmUgRVRIX0RNQU9NUl9DTEVBUl9NQVNLICAgMHhGOERFM0YyM1UKIAogLyogRVRIRVJORVQgTUFDIGFkZHJlc3Mgb2Zmc2V0cyAqLwotI2RlZmluZSBFVEhfTUFDX0FERFJfSEJBU0UgICAgKHVpbnQzMl90KShFVEhfTUFDX0JBU0UgKyAweDQwVSkgIC8qIEVUSEVSTkVUIE1BQyBhZGRyZXNzIGhpZ2ggb2Zmc2V0ICovCi0jZGVmaW5lIEVUSF9NQUNfQUREUl9MQkFTRSAgICAodWludDMyX3QpKEVUSF9NQUNfQkFTRSArIDB4NDRVKSAgLyogRVRIRVJORVQgTUFDIGFkZHJlc3MgbG93IG9mZnNldCAqLworI2RlZmluZSBFVEhfTUFDX0FERFJfSEJBU0UgICAgICAodWludDMyX3QpKEVUSF9NQUNfQkFTRSArIDB4NDBVKSAgLyogRVRIRVJORVQgTUFDIGFkZHJlc3MgaGlnaCBvZmZzZXQgKi8KKyNkZWZpbmUgRVRIX01BQ19BRERSX0xCQVNFICAgICAgKHVpbnQzMl90KShFVEhfTUFDX0JBU0UgKyAweDQ0VSkgIC8qIEVUSEVSTkVUIE1BQyBhZGRyZXNzIGxvdyBvZmZzZXQgKi8KIAogLyogRVRIRVJORVQgRE1BIFJ4IGRlc2NyaXB0b3JzIEZyYW1lIGxlbmd0aCBTaGlmdCAqLwogI2RlZmluZSAgRVRIX0RNQVJYREVTQ19GUkFNRUxFTkdUSFNISUZUICAgICAgICAgICAgMTZVCkBAIC02OTYsNiArNjk2LDggQEAKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfU3RhcnQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCiB7CisgIHVpbnQzMl90IHRtcHJlZzE7CisKICAgaWYgKGhldGgtPmdTdGF0ZSA9PSBIQUxfRVRIX1NUQVRFX1JFQURZKQogICB7CiAgICAgaGV0aC0+Z1N0YXRlID0gSEFMX0VUSF9TVEFURV9CVVNZOwpAQCAtNzA5LDkgKzcxMSwyMSBAQAogICAgIC8qIEVuYWJsZSB0aGUgTUFDIHRyYW5zbWlzc2lvbiAqLwogICAgIFNFVF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0NSLCBFVEhfTUFDQ1JfVEUpOwogCisgICAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50IDoKKyAgICBhdCBsZWFzdCBmb3VyIFRYX0NMSy9SWF9DTEsgY2xvY2sgY3ljbGVzICovCisgICAgdG1wcmVnMSA9IChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSOworICAgIEhBTF9EZWxheShFVEhfUkVHX1dSSVRFX0RFTEFZKTsKKyAgICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUiA9IHRtcHJlZzE7CisKICAgICAvKiBFbmFibGUgdGhlIE1BQyByZWNlcHRpb24gKi8KICAgICBTRVRfQklUKGhldGgtPkluc3RhbmNlLT5NQUNDUiwgRVRIX01BQ0NSX1JFKTsKIAorICAgIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudCA6CisgICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLworICAgIHRtcHJlZzEgPSAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUjsKKyAgICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7CisgICAgKGhldGgtPkluc3RhbmNlKS0+TUFDQ1IgPSB0bXByZWcxOworCiAgICAgLyogRmx1c2ggVHJhbnNtaXQgRklGTyAqLwogICAgIEVUSF9GbHVzaFRyYW5zbWl0RklGTyhoZXRoKTsKIApAQCAtNzM5LDYgKzc1Myw4IEBACiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1N0YXJ0X0lUKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQogeworICB1aW50MzJfdCB0bXByZWcxOworCiAgIGlmIChoZXRoLT5nU3RhdGUgPT0gSEFMX0VUSF9TVEFURV9SRUFEWSkKICAgewogICAgIGhldGgtPmdTdGF0ZSA9IEhBTF9FVEhfU1RBVEVfQlVTWTsKQEAgLTc2NSw5ICs3ODEsMjEgQEAKICAgICAvKiBFbmFibGUgdGhlIE1BQyB0cmFuc21pc3Npb24gKi8KICAgICBTRVRfQklUKGhldGgtPkluc3RhbmNlLT5NQUNDUiwgRVRIX01BQ0NSX1RFKTsKIAorICAgIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudCA6CisgICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLworICAgIHRtcHJlZzEgPSAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUjsKKyAgICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7CisgICAgKGhldGgtPkluc3RhbmNlKS0+TUFDQ1IgPSB0bXByZWcxOworCiAgICAgLyogRW5hYmxlIHRoZSBNQUMgcmVjZXB0aW9uICovCiAgICAgU0VUX0JJVChoZXRoLT5JbnN0YW5jZS0+TUFDQ1IsIEVUSF9NQUNDUl9SRSk7CiAKKyAgICAvKiBXYWl0IHVudGlsIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQgOgorICAgIGF0IGxlYXN0IGZvdXIgVFhfQ0xLL1JYX0NMSyBjbG9jayBjeWNsZXMgKi8KKyAgICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDQ1I7CisgICAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOworICAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSID0gdG1wcmVnMTsKKwogICAgIC8qIEZsdXNoIFRyYW5zbWl0IEZJRk8gKi8KICAgICBFVEhfRmx1c2hUcmFuc21pdEZJRk8oaGV0aCk7CiAKQEAgLTgwMiwxMiArODMwLDE0IEBACiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1N0b3AoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCiB7CisgIHVpbnQzMl90IHRtcHJlZzE7CisKICAgaWYgKGhldGgtPmdTdGF0ZSA9PSBIQUxfRVRIX1NUQVRFX1NUQVJURUQpCiAgIHsKICAgICAvKiBTZXQgdGhlIEVUSCBwZXJpcGhlcmFsIHN0YXRlIHRvIEJVU1kgKi8KICAgICBoZXRoLT5nU3RhdGUgPSBIQUxfRVRIX1NUQVRFX0JVU1k7CiAgICAgLyogRGlzYWJsZSB0aGUgRE1BIHRyYW5zbWlzc2lvbiAqLwotICAgIENMRUFSX0JJVChoZXRoLT5JbnN0YW5jZS0+TUFDQ1IsIEVUSF9NQUNDUl9URSk7CisgICAgQ0xFQVJfQklUKGhldGgtPkluc3RhbmNlLT5ETUFPTVIsIEVUSF9ETUFPTVJfU1QpOwogCiAgICAgLyogRGlzYWJsZSB0aGUgRE1BIHJlY2VwdGlvbiAqLwogICAgIENMRUFSX0JJVChoZXRoLT5JbnN0YW5jZS0+RE1BT01SLCBFVEhfRE1BT01SX1NSKTsKQEAgLTgxNSwxMiArODQ1LDI0IEBACiAgICAgLyogRGlzYWJsZSB0aGUgTUFDIHJlY2VwdGlvbiAqLwogICAgIENMRUFSX0JJVChoZXRoLT5JbnN0YW5jZS0+TUFDQ1IsIEVUSF9NQUNDUl9SRSk7CiAKKyAgICAvKiBXYWl0IHVudGlsIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQgOgorICAgIGF0IGxlYXN0IGZvdXIgVFhfQ0xLL1JYX0NMSyBjbG9jayBjeWNsZXMgKi8KKyAgICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDQ1I7CisgICAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOworICAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSID0gdG1wcmVnMTsKKwogICAgIC8qIEZsdXNoIFRyYW5zbWl0IEZJRk8gKi8KICAgICBFVEhfRmx1c2hUcmFuc21pdEZJRk8oaGV0aCk7CiAKICAgICAvKiBEaXNhYmxlIHRoZSBNQUMgdHJhbnNtaXNzaW9uICovCiAgICAgQ0xFQVJfQklUKGhldGgtPkluc3RhbmNlLT5NQUNDUiwgRVRIX01BQ0NSX1RFKTsKIAorICAgIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudCA6CisgICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLworICAgIHRtcHJlZzEgPSAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUjsKKyAgICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7CisgICAgKGhldGgtPkluc3RhbmNlKS0+TUFDQ1IgPSB0bXByZWcxOworCiAgICAgaGV0aC0+Z1N0YXRlID0gSEFMX0VUSF9TVEFURV9SRUFEWTsKIAogICAgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KQEAgLTg0Miw2ICs4ODQsNyBAQAogewogICBFVEhfRE1BRGVzY1R5cGVEZWYgKmRtYXJ4ZGVzYzsKICAgdWludDMyX3QgZGVzY2luZGV4OworICB1aW50MzJfdCB0bXByZWcxOwogCiAgIGlmIChoZXRoLT5nU3RhdGUgPT0gSEFMX0VUSF9TVEFURV9TVEFSVEVEKQogICB7CkBAIC04NTIsMTkgKzg5NSwzMiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX0RNQUlFUl9GQkVJRSB8IEVUSF9ETUFJRVJfQUlTRSB8IEVUSF9ETUFJRVJfUkJVSUUpKTsKIAogICAgIC8qIERpc2FibGUgdGhlIERNQSB0cmFuc21pc3Npb24gKi8KLSAgICBDTEVBUl9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0NSLCBFVEhfTUFDQ1JfVEUpOworICAgIENMRUFSX0JJVChoZXRoLT5JbnN0YW5jZS0+RE1BT01SLCBFVEhfRE1BT01SX1NUKTsKIAogICAgIC8qIERpc2FibGUgdGhlIERNQSByZWNlcHRpb24gKi8KICAgICBDTEVBUl9CSVQoaGV0aC0+SW5zdGFuY2UtPkRNQU9NUiwgRVRIX0RNQU9NUl9TUik7CiAKICAgICAvKiBEaXNhYmxlIHRoZSBNQUMgcmVjZXB0aW9uICovCiAgICAgQ0xFQVJfQklUKGhldGgtPkluc3RhbmNlLT5NQUNDUiwgRVRIX01BQ0NSX1JFKTsKKworICAgIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudCA6CisgICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLworICAgIHRtcHJlZzEgPSAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUjsKKyAgICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7CisgICAgKGhldGgtPkluc3RhbmNlKS0+TUFDQ1IgPSB0bXByZWcxOworCiAgICAgLyogRmx1c2ggVHJhbnNtaXQgRklGTyAqLwogICAgIEVUSF9GbHVzaFRyYW5zbWl0RklGTyhoZXRoKTsKIAogICAgIC8qIERpc2FibGUgdGhlIE1BQyB0cmFuc21pc3Npb24gKi8KICAgICBDTEVBUl9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0NSLCBFVEhfTUFDQ1JfVEUpOwogCisgICAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50IDoKKyAgICBhdCBsZWFzdCBmb3VyIFRYX0NMSy9SWF9DTEsgY2xvY2sgY3ljbGVzICovCisgICAgdG1wcmVnMSA9IChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSOworICAgIEhBTF9EZWxheShFVEhfUkVHX1dSSVRFX0RFTEFZKTsKKyAgICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUiA9IHRtcHJlZzE7CisKICAgICAvKiBDbGVhciBJT0MgYml0IHRvIGFsbCBSeCBkZXNjcmlwdG9ycyAqLwogICAgIGZvciAoZGVzY2luZGV4ID0gMDsgZGVzY2luZGV4IDwgKHVpbnQzMl90KUVUSF9SWF9ERVNDX0NOVDsgZGVzY2luZGV4KyspCiAgICAgewpAQCAtMTE3MywxMSArMTIyOSw2IEBACiAKICAgICBpZiAoYWxsb2NTdGF0dXMgIT0gMFUpCiAgICAgewotICAgICAgLyogRW5zdXJlIHJlc3Qgb2YgZGVzY3JpcHRvciBpcyB3cml0dGVuIHRvIFJBTSBiZWZvcmUgdGhlIE9XTiBiaXQgKi8KLSAgICAgIF9fRE1CKCk7Ci0KLSAgICAgIFdSSVRFX1JFRyhkbWFyeGRlc2MtPkRFU0MwLCBFVEhfRE1BUlhERVNDX09XTik7Ci0KICAgICAgIGlmIChoZXRoLT5SeERlc2NMaXN0Lkl0TW9kZSA9PSAwVSkKICAgICAgIHsKICAgICAgICAgV1JJVEVfUkVHKGRtYXJ4ZGVzYy0+REVTQzEsIEVUSF9ETUFSWERFU0NfRElDIHwgRVRIX1JYX0JVRl9TSVpFIHwgRVRIX0RNQVJYREVTQ19SQ0gpOwpAQCAtMTE4Nyw2ICsxMjM4LDE0IEBACiAgICAgICAgIFdSSVRFX1JFRyhkbWFyeGRlc2MtPkRFU0MxLCBFVEhfUlhfQlVGX1NJWkUgfCBFVEhfRE1BUlhERVNDX1JDSCk7CiAgICAgICB9CiAKKyAgICAgIC8qIEJlZm9yZSB0cmFuc2ZlcnJpbmcgdGhlIG93bmVyc2hpcCB0byBETUEsIG1ha2Ugc3VyZSB0aGF0IHRoZSBSWCBkZXNjcmlwdG9ycyBiaXRzIHdyaXRpbmcKKyAgICAgICAgIGlzIGZ1bGx5IHBlcmZvcm1lZC4KKyAgICAgICAgIFRoZSBfX0RNQigpIGluc3RydWN0aW9uIGlzIGFkZGVkIHRvIGF2b2lkIGFueSBwb3RlbnRpYWwgY29tcGlsZXIgb3B0aW1pemF0aW9uIHRoYXQKKyAgICAgICAgIG1heSBsZWFkIHRvIGFibm9ybWFsIGJlaGF2aW9yLiAqLworICAgICAgX19ETUIoKTsKKworICAgICAgU0VUX0JJVChkbWFyeGRlc2MtPkRFU0MwLCBFVEhfRE1BUlhERVNDX09XTik7CisKICAgICAgIC8qIEluY3JlbWVudCBjdXJyZW50IHJ4IGRlc2NyaXB0b3IgaW5kZXggKi8KICAgICAgIElOQ1JfUlhfREVTQ19JTkRFWChkZXNjaWR4LCAxVSk7CiAgICAgICAvKiBHZXQgY3VycmVudCBkZXNjcmlwdG9yIGFkZHJlc3MgKi8KQEAgLTIxNDYsMTUgKzIyMDUsMTUgQEAKICAgbWFjY29uZi0+V2F0Y2hkb2cgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5NQUNDUiwgRVRIX01BQ0NSX1dEKSA+PiAyMykgPT0gMFUpID8gRU5BQkxFIDogRElTQUJMRTsKICAgbWFjY29uZi0+QXV0b21hdGljUGFkQ1JDU3RyaXAgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5NQUNDUiwgRVRIX01BQ0NSX0FQQ1MpID4+IDcpID4gMFUpID8gRU5BQkxFIDogRElTQUJMRTsKICAgbWFjY29uZi0+SW50ZXJQYWNrZXRHYXBWYWwgPSBSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+TUFDQ1IsIEVUSF9NQUNDUl9JRkcpOwotICBtYWNjb25mLT5DaGVja3N1bU9mZmxvYWQgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5NQUNDUiwgRVRIX01BQ0NSX0lQQ08pID4+IDI3KSA+IDBVKSA/IEVOQUJMRSA6IERJU0FCTEU7CisgIG1hY2NvbmYtPkNoZWNrc3VtT2ZmbG9hZCA9ICgoUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0NSLCBFVEhfTUFDQ1JfSVBDTykgPj4gMTBVKSA+IDBVKSA/IEVOQUJMRSA6IERJU0FCTEU7CiAKIAogICBtYWNjb25mLT5UcmFuc21pdEZsb3dDb250cm9sID0gKChSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+TUFDRkNSLCBFVEhfTUFDRkNSX1RGQ0UpID4+IDEpID4gMFUpID8gRU5BQkxFIDogRElTQUJMRTsKICAgbWFjY29uZi0+WmVyb1F1YW50YVBhdXNlID0gKChSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+TUFDRkNSLCBFVEhfTUFDRkNSX1pRUEQpID4+IDcpID09IDBVKSA/IEVOQUJMRSA6IERJU0FCTEU7CiAgIG1hY2NvbmYtPlBhdXNlTG93VGhyZXNob2xkID0gUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0ZDUiwgRVRIX01BQ0ZDUl9QTFQpOwogICBtYWNjb25mLT5QYXVzZVRpbWUgPSAoUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0ZDUiwgRVRIX01BQ0ZDUl9QVCkgPj4gMTYpOwotICBtYWNjb25mLT5SZWNlaXZlRmxvd0NvbnRyb2wgPSAoUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0ZDUiwgRVRIX01BQ0ZDUl9SRkNFKSA+IDBVKSA/IEVOQUJMRSA6IERJU0FCTEU7Ci0gIG1hY2NvbmYtPlVuaWNhc3RQYXVzZVBhY2tldERldGVjdCA9ICgoUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0ZDUiwgRVRIX01BQ0ZDUl9VUEZEKSA+PiAxKSA+IDBVKQorICBtYWNjb25mLT5SZWNlaXZlRmxvd0NvbnRyb2wgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5NQUNGQ1IsIEVUSF9NQUNGQ1JfUkZDRSkgPj4gMlUpID4gMFUpID8gRU5BQkxFIDogRElTQUJMRTsKKyAgbWFjY29uZi0+VW5pY2FzdFBhdXNlUGFja2V0RGV0ZWN0ID0gKChSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+TUFDRkNSLCBFVEhfTUFDRkNSX1VQRkQpID4+IDNVKSA+IDBVKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IEVOQUJMRSA6IERJU0FCTEU7CiAKICAgcmV0dXJuIEhBTF9PSzsKQEAgLTIxNzUsOCArMjIzNCw5IEBACiAgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgfQogCi0gIGRtYWNvbmYtPkRNQUFyYml0cmF0aW9uID0gUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPkRNQUJNUiwgRVRIX0RNQUJNUl9EU0wpID4+IDI7Ci0gIGRtYWNvbmYtPkFkZHJlc3NBbGlnbmVkQmVhdHMgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5ETUFCTVIsIEVUSF9ETUFCTVJfQUFCKSA+PiAxMikgPiAwVSkgPyBFTkFCTEUgOiBESVNBQkxFOworICBkbWFjb25mLT5ETUFBcmJpdHJhdGlvbiA9IFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5ETUFCTVIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoRVRIX0RNQUFSQklUUkFUSU9OX1JYUFJJT1JUWCB8IEVUSF9ETUFBUkJJVFJBVElPTl9ST1VORFJPQklOX1JYVFhfNF8xKSk7CisgIGRtYWNvbmYtPkFkZHJlc3NBbGlnbmVkQmVhdHMgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5ETUFCTVIsIEVUSF9ETUFCTVJfQUFCKSA+PiAyNVUpID4gMFUpID8gRU5BQkxFIDogRElTQUJMRTsKICAgZG1hY29uZi0+QnVyc3RNb2RlID0gUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPkRNQUJNUiwgRVRIX0RNQUJNUl9GQiB8IEVUSF9ETUFCTVJfTUIpOwogICBkbWFjb25mLT5SeERNQUJ1cnN0TGVuZ3RoID0gUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPkRNQUJNUiwgRVRIX0RNQUJNUl9SRFApOwogICBkbWFjb25mLT5UeERNQUJ1cnN0TGVuZ3RoID0gUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPkRNQUJNUiwgRVRIX0RNQUJNUl9QQkwpOwpAQCAtMjMxMiw2ICsyMzcyLDcgQEAKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfU2V0TUFDRmlsdGVyQ29uZmlnKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBFVEhfTUFDRmlsdGVyQ29uZmlnVHlwZURlZiAqcEZpbHRlckNvbmZpZykKIHsKICAgdWludDMyX3QgZmlsdGVyY29uZmlnOworICB1aW50MzJfdCB0bXByZWcxOwogCiAgIGlmIChwRmlsdGVyQ29uZmlnID09IE5VTEwpCiAgIHsKQEAgLTIzMzIsNiArMjM5MywxMiBAQAogCiAgIE1PRElGWV9SRUcoaGV0aC0+SW5zdGFuY2UtPk1BQ0ZGUiwgRVRIX01BQ0ZGUl9NQVNLLCBmaWx0ZXJjb25maWcpOwogCisgIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudCA6CisgIGF0IGxlYXN0IGZvdXIgVFhfQ0xLL1JYX0NMSyBjbG9jayBjeWNsZXMgKi8KKyAgdG1wcmVnMSA9IChoZXRoLT5JbnN0YW5jZSktPk1BQ0ZGUjsKKyAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOworICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNGRlIgPSB0bXByZWcxOworCiAgIHJldHVybiBIQUxfT0s7CiB9CiAKQEAgLTI0MTcsMTQgKzI0ODQsMjggQEAKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfU2V0SGFzaFRhYmxlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCB1aW50MzJfdCAqcEhhc2hUYWJsZSkKIHsKKyAgdWludDMyX3QgdG1wcmVnMTsKICAgaWYgKHBIYXNoVGFibGUgPT0gTlVMTCkKICAgewogICAgIHJldHVybiBIQUxfRVJST1I7CiAgIH0KIAogICBoZXRoLT5JbnN0YW5jZS0+TUFDSFRIUiA9IHBIYXNoVGFibGVbMF07CisKKyAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50IDoKKyAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLworICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDSFRIUjsKKyAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOworICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNIVEhSID0gdG1wcmVnMTsKKwogICBoZXRoLT5JbnN0YW5jZS0+TUFDSFRMUiA9IHBIYXNoVGFibGVbMV07CiAKKyAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50IDoKKyAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLworICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDSFRMUjsKKyAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOworICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNIVExSID0gdG1wcmVnMTsKKwogICByZXR1cm4gSEFMX09LOwogfQogCkBAIC0yNDM5LDYgKzI1MjAsNyBAQAogICAqLwogdm9pZCBIQUxfRVRIX1NldFJ4VkxBTklkZW50aWZpZXIoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIHVpbnQzMl90IENvbXBhcmlzb25CaXRzLCB1aW50MzJfdCBWTEFOSWRlbnRpZmllcikKIHsKKyAgdWludDMyX3QgdG1wcmVnMTsKICAgTU9ESUZZX1JFRyhoZXRoLT5JbnN0YW5jZS0+TUFDVkxBTlRSLCBFVEhfTUFDVkxBTlRSX1ZMQU5USSwgVkxBTklkZW50aWZpZXIpOwogICBpZiAoQ29tcGFyaXNvbkJpdHMgPT0gRVRIX1ZMQU5UQUdDT01QQVJJU09OXzE2QklUKQogICB7CkBAIC0yNDQ4LDYgKzI1MzAsMTIgQEAKICAgewogICAgIFNFVF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ1ZMQU5UUiwgRVRIX01BQ1ZMQU5UUl9WTEFOVEMpOwogICB9CisKKyAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50IDoKKyAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLworICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDVkxBTlRSOworICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7CisgIChoZXRoLT5JbnN0YW5jZSktPk1BQ1ZMQU5UUiA9IHRtcHJlZzE7CiB9CiAKIC8qKgpAQCAtMjQ3OCwxMyArMjU2NiwyNyBAQAogICAqLwogdm9pZCBIQUxfRVRIX0V4aXRQb3dlckRvd25Nb2RlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQogeworICB1aW50MzJfdCB0bXByZWcxOworCiAgIC8qIGNsZWFyIHdha2UgdXAgc291cmNlcyAqLwogICBDTEVBUl9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ1BNVENTUiwgRVRIX01BQ1BNVENTUl9XRkUgfCBFVEhfTUFDUE1UQ1NSX01QRSB8IEVUSF9NQUNQTVRDU1JfR1UpOwogCisgIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudCA6CisgIGF0IGxlYXN0IGZvdXIgVFhfQ0xLL1JYX0NMSyBjbG9jayBjeWNsZXMgKi8KKyAgdG1wcmVnMSA9IChoZXRoLT5JbnN0YW5jZSktPk1BQ1BNVENTUjsKKyAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOworICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNQTVRDU1IgPSB0bXByZWcxOworCiAgIGlmIChSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+TUFDUE1UQ1NSLCBFVEhfTUFDUE1UQ1NSX1BEKSAhPSAwVSkKICAgewogICAgIC8qIEV4aXQgcG93ZXIgZG93biBtb2RlICovCiAgICAgQ0xFQVJfQklUKGhldGgtPkluc3RhbmNlLT5NQUNQTVRDU1IsIEVUSF9NQUNQTVRDU1JfUEQpOworCisgICAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50IDoKKyAgICBhdCBsZWFzdCBmb3VyIFRYX0NMSy9SWF9DTEsgY2xvY2sgY3ljbGVzICovCisgICAgdG1wcmVnMSA9IChoZXRoLT5JbnN0YW5jZSktPk1BQ1BNVENTUjsKKyAgICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7CisgICAgKGhldGgtPkluc3RhbmNlKS0+TUFDUE1UQ1NSID0gdG1wcmVnMTsKICAgfQogCiAgIC8qIERpc2FibGUgUE1UIGludGVycnVwdCAqLwpAQCAtMjY3MCwxMSArMjc3MiwxMSBAQAogICB0bXByZWcxICY9IEVUSF9NQUNGQ1JfQ0xFQVJfTUFTSzsKIAogICB0bXByZWcxIHw9ICh1aW50MzJfdCkoKG1hY2NvbmYtPlBhdXNlVGltZSA8PCAxNlUpIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdCltYWNjb25mLT5aZXJvUXVhbnRhUGF1c2UgfAorICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkoKG1hY2NvbmYtPlplcm9RdWFudGFQYXVzZSA9PSBESVNBQkxFKSA/IDFVIDogMFUpIDw8IDdVKSB8CiAgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5QYXVzZUxvd1RocmVzaG9sZCB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3QpbWFjY29uZi0+VW5pY2FzdFNsb3dQcm90b2NvbFBhY2tldERldGVjdCB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3QpbWFjY29uZi0+UmVjZWl2ZUZsb3dDb250cm9sIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdCltYWNjb25mLT5UcmFuc21pdEZsb3dDb250cm9sKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpKChtYWNjb25mLT5VbmljYXN0UGF1c2VQYWNrZXREZXRlY3QgPT0gRU5BQkxFKSA/IDFVIDogMFUpIDw8IDNVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KSgobWFjY29uZi0+UmVjZWl2ZUZsb3dDb250cm9sID09IEVOQUJMRSkgPyAxVSA6IDBVKSA8PCAyVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkoKG1hY2NvbmYtPlRyYW5zbWl0Rmxvd0NvbnRyb2wgPT0gRU5BQkxFKSA/IDFVIDogMFUpIDw8IDFVKSk7CiAKICAgLyogV3JpdGUgdG8gRVRIRVJORVQgTUFDRkNSICovCiAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0ZDUiA9ICh1aW50MzJfdCl0bXByZWcxOwpAQCAtMjc2NCw3ICsyODY2LDcgQEAKICAgbWFjRGVmYXVsdENvbmYuVHJhbnNtaXRGbG93Q29udHJvbCA9IERJU0FCTEU7CiAgIG1hY0RlZmF1bHRDb25mLlNwZWVkID0gRVRIX1NQRUVEXzEwME07CiAgIG1hY0RlZmF1bHRDb25mLkR1cGxleE1vZGUgPSBFVEhfRlVMTERVUExFWF9NT0RFOwotICBtYWNEZWZhdWx0Q29uZi5VbmljYXN0U2xvd1Byb3RvY29sUGFja2V0RGV0ZWN0ID0gRElTQUJMRTsKKyAgbWFjRGVmYXVsdENvbmYuVW5pY2FzdFBhdXNlUGFja2V0RGV0ZWN0ID0gRElTQUJMRTsKIAogICAvKiBNQUMgZGVmYXVsdCBjb25maWd1cmF0aW9uICovCiAgIEVUSF9TZXRNQUNDb25maWcoaGV0aCwgJm1hY0RlZmF1bHRDb25mKTsKZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY3eHhfaGFsX2hjZC5jIGIvU3JjL3N0bTMyZjd4eF9oYWxfaGNkLmMKaW5kZXggNTM5MWIyYi4uMWY4YjExOCAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjd4eF9oYWxfaGNkLmMKKysrIGIvU3JjL3N0bTMyZjd4eF9oYWxfaGNkLmMKQEAgLTE5NywxMyArMTk3LDggQEAKICAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBmcm9tIDAgdG8zMksKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9IQ0RfSENfSW5pdChIQ0RfSGFuZGxlVHlwZURlZiAqaGhjZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGNoX251bSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGVwbnVtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgZGV2X2FkZHJlc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBzcGVlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGVwX3R5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgbXBzKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0hDRF9IQ19Jbml0KEhDRF9IYW5kbGVUeXBlRGVmICpoaGNkLCB1aW50OF90IGNoX251bSwgdWludDhfdCBlcG51bSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90IGRldl9hZGRyZXNzLCB1aW50OF90IHNwZWVkLCB1aW50OF90IGVwX3R5cGUsIHVpbnQxNl90IG1wcykKIHsKICAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzOwogCkBAIC0yMjYsMTMgKzIyMSw5IEBACiAKICAgaGhjZC0+aGNbY2hfbnVtXS5zcGVlZCA9IHNwZWVkOwogCi0gIHN0YXR1cyA9ICBVU0JfSENfSW5pdChoaGNkLT5JbnN0YW5jZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoX251bSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGVwbnVtLAotICAgICAgICAgICAgICAgICAgICAgICAgZGV2X2FkZHJlc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICBzcGVlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgIGVwX3R5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBtcHMpOworICBzdGF0dXMgPSAgVVNCX0hDX0luaXQoaGhjZC0+SW5zdGFuY2UsIGNoX251bSwgZXBudW0sCisgICAgICAgICAgICAgICAgICAgICAgICBkZXZfYWRkcmVzcywgc3BlZWQsIGVwX3R5cGUsIG1wcyk7CisKICAgX19IQUxfVU5MT0NLKGhoY2QpOwogCiAgIHJldHVybiBzdGF0dXM7CkBAIC0xMTg5LDM1ICsxMTgwLDMxIEBACiAKICAgdWludDMyX3QgdG1wcmVnOwogCi0gIGlmICgoVVNCeF9IQyhjaF9udW0pLT5IQ0lOVCAmIFVTQl9PVEdfSENJTlRfQUhCRVJSKSA9PSBVU0JfT1RHX0hDSU5UX0FIQkVSUikKKyAgaWYgKF9fSEFMX0hDRF9HRVRfQ0hfRkxBRyhoaGNkLCBjaF9udW0sIFVTQl9PVEdfSENJTlRfQUhCRVJSKSkKICAgewogICAgIF9fSEFMX0hDRF9DTEVBUl9IQ19JTlQoY2hfbnVtLCBVU0JfT1RHX0hDSU5UX0FIQkVSUik7CiAgICAgaGhjZC0+aGNbY2hfbnVtXS5zdGF0ZSA9IEhDX1hBQ1RFUlI7CiAgICAgKHZvaWQpVVNCX0hDX0hhbHQoaGhjZC0+SW5zdGFuY2UsICh1aW50OF90KWNoX251bSk7CiAgIH0KLSAgZWxzZSBpZiAoKFVTQnhfSEMoY2hfbnVtKS0+SENJTlQgJiBVU0JfT1RHX0hDSU5UX0JCRVJSKSA9PSBVU0JfT1RHX0hDSU5UX0JCRVJSKQorICBlbHNlIGlmIChfX0hBTF9IQ0RfR0VUX0NIX0ZMQUcoaGhjZCwgY2hfbnVtLCBVU0JfT1RHX0hDSU5UX0JCRVJSKSkKICAgewogICAgIF9fSEFMX0hDRF9DTEVBUl9IQ19JTlQoY2hfbnVtLCBVU0JfT1RHX0hDSU5UX0JCRVJSKTsKICAgICBoaGNkLT5oY1tjaF9udW1dLnN0YXRlID0gSENfQkJMRVJSOwogICAgICh2b2lkKVVTQl9IQ19IYWx0KGhoY2QtPkluc3RhbmNlLCAodWludDhfdCljaF9udW0pOwogICB9Ci0gIGVsc2UgaWYgKChVU0J4X0hDKGNoX251bSktPkhDSU5UICYgVVNCX09UR19IQ0lOVF9BQ0spID09IFVTQl9PVEdfSENJTlRfQUNLKQotICB7Ci0gICAgX19IQUxfSENEX0NMRUFSX0hDX0lOVChjaF9udW0sIFVTQl9PVEdfSENJTlRfQUNLKTsKLSAgfQotICBlbHNlIGlmICgoVVNCeF9IQyhjaF9udW0pLT5IQ0lOVCAmIFVTQl9PVEdfSENJTlRfU1RBTEwpID09IFVTQl9PVEdfSENJTlRfU1RBTEwpCisgIGVsc2UgaWYgKF9fSEFMX0hDRF9HRVRfQ0hfRkxBRyhoaGNkLCBjaF9udW0sIFVTQl9PVEdfSENJTlRfU1RBTEwpKQogICB7CiAgICAgX19IQUxfSENEX0NMRUFSX0hDX0lOVChjaF9udW0sIFVTQl9PVEdfSENJTlRfU1RBTEwpOwogICAgIGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPSBIQ19TVEFMTDsKICAgICAodm9pZClVU0JfSENfSGFsdChoaGNkLT5JbnN0YW5jZSwgKHVpbnQ4X3QpY2hfbnVtKTsKICAgfQotICBlbHNlIGlmICgoVVNCeF9IQyhjaF9udW0pLT5IQ0lOVCAmIFVTQl9PVEdfSENJTlRfRFRFUlIpID09IFVTQl9PVEdfSENJTlRfRFRFUlIpCisgIGVsc2UgaWYgKF9fSEFMX0hDRF9HRVRfQ0hfRkxBRyhoaGNkLCBjaF9udW0sIFVTQl9PVEdfSENJTlRfRFRFUlIpKQogICB7CiAgICAgX19IQUxfSENEX0NMRUFSX0hDX0lOVChjaF9udW0sIFVTQl9PVEdfSENJTlRfRFRFUlIpOwogICAgIGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPSBIQ19EQVRBVEdMRVJSOwogICAgICh2b2lkKVVTQl9IQ19IYWx0KGhoY2QtPkluc3RhbmNlLCAodWludDhfdCljaF9udW0pOwogICB9Ci0gIGVsc2UgaWYgKChVU0J4X0hDKGNoX251bSktPkhDSU5UICYgVVNCX09UR19IQ0lOVF9UWEVSUikgPT0gVVNCX09UR19IQ0lOVF9UWEVSUikKKyAgZWxzZSBpZiAoX19IQUxfSENEX0dFVF9DSF9GTEFHKGhoY2QsIGNoX251bSwgVVNCX09UR19IQ0lOVF9UWEVSUikpCiAgIHsKICAgICBfX0hBTF9IQ0RfQ0xFQVJfSENfSU5UKGNoX251bSwgVVNCX09UR19IQ0lOVF9UWEVSUik7CiAgICAgaGhjZC0+aGNbY2hfbnVtXS5zdGF0ZSA9IEhDX1hBQ1RFUlI7CkBAIC0xMjI4LDEzICsxMjE1LDE2IEBACiAgICAgLyogLi4uICovCiAgIH0KIAotICBpZiAoKFVTQnhfSEMoY2hfbnVtKS0+SENJTlQgJiBVU0JfT1RHX0hDSU5UX0ZSTU9SKSA9PSBVU0JfT1RHX0hDSU5UX0ZSTU9SKQorICBpZiAoX19IQUxfSENEX0dFVF9DSF9GTEFHKGhoY2QsIGNoX251bSwgVVNCX09UR19IQ0lOVF9GUk1PUikpCiAgIHsKICAgICAodm9pZClVU0JfSENfSGFsdChoaGNkLT5JbnN0YW5jZSwgKHVpbnQ4X3QpY2hfbnVtKTsKICAgICBfX0hBTF9IQ0RfQ0xFQVJfSENfSU5UKGNoX251bSwgVVNCX09UR19IQ0lOVF9GUk1PUik7CiAgIH0KLSAgZWxzZSBpZiAoKFVTQnhfSEMoY2hfbnVtKS0+SENJTlQgJiBVU0JfT1RHX0hDSU5UX1hGUkMpID09IFVTQl9PVEdfSENJTlRfWEZSQykKKyAgZWxzZSBpZiAoX19IQUxfSENEX0dFVF9DSF9GTEFHKGhoY2QsIGNoX251bSwgVVNCX09UR19IQ0lOVF9YRlJDKSkKICAgeworICAgIC8qIENsZWFyIGFueSBwZW5kaW5nIEFDSyBJVCAqLworICAgIF9fSEFMX0hDRF9DTEVBUl9IQ19JTlQoY2hfbnVtLCBVU0JfT1RHX0hDSU5UX0FDSyk7CisKICAgICBpZiAoaGhjZC0+SW5pdC5kbWFfZW5hYmxlICE9IDBVKQogICAgIHsKICAgICAgIGhoY2QtPmhjW2NoX251bV0ueGZlcl9jb3VudCA9IGhoY2QtPmhjW2NoX251bV0uWGZlclNpemUgLSBcCkBAIC0xMjgwLDE5ICsxMjcwLDI3IEBACiAgICAgICBoaGNkLT5oY1tjaF9udW1dLnRvZ2dsZV9pbiBePSAxVTsKICAgICB9CiAgIH0KLSAgZWxzZSBpZiAoKFVTQnhfSEMoY2hfbnVtKS0+SENJTlQgJiBVU0JfT1RHX0hDSU5UX0NISCkgPT0gVVNCX09UR19IQ0lOVF9DSEgpCisgIGVsc2UgaWYgKF9fSEFMX0hDRF9HRVRfQ0hfRkxBRyhoaGNkLCBjaF9udW0sIFVTQl9PVEdfSENJTlRfQUNLKSkKICAgeworICAgIF9fSEFMX0hDRF9DTEVBUl9IQ19JTlQoY2hfbnVtLCBVU0JfT1RHX0hDSU5UX0FDSyk7CisgIH0KKyAgZWxzZSBpZiAoX19IQUxfSENEX0dFVF9DSF9GTEFHKGhoY2QsIGNoX251bSwgVVNCX09UR19IQ0lOVF9DSEgpKQorICB7CisgICAgX19IQUxfSENEX0NMRUFSX0hDX0lOVChjaF9udW0sIFVTQl9PVEdfSENJTlRfQ0hIKTsKICAgICBpZiAoaGhjZC0+aGNbY2hfbnVtXS5zdGF0ZSA9PSBIQ19YRlJDKQogICAgIHsKKyAgICAgIGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPSBIQ19IQUxURUQ7CiAgICAgICBoaGNkLT5oY1tjaF9udW1dLnVyYl9zdGF0ZSA9IFVSQl9ET05FOwogICAgIH0KICAgICBlbHNlIGlmIChoaGNkLT5oY1tjaF9udW1dLnN0YXRlID09IEhDX1NUQUxMKQogICAgIHsKKyAgICAgIGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPSBIQ19IQUxURUQ7CiAgICAgICBoaGNkLT5oY1tjaF9udW1dLnVyYl9zdGF0ZSA9IFVSQl9TVEFMTDsKICAgICB9CiAgICAgZWxzZSBpZiAoKGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPT0gSENfWEFDVEVSUikgfHwKICAgICAgICAgICAgICAoaGhjZC0+aGNbY2hfbnVtXS5zdGF0ZSA9PSBIQ19EQVRBVEdMRVJSKSkKICAgICB7CisgICAgICBoaGNkLT5oY1tjaF9udW1dLnN0YXRlID0gSENfSEFMVEVEOwogICAgICAgaGhjZC0+aGNbY2hfbnVtXS5FcnJDbnQrKzsKICAgICAgIGlmIChoaGNkLT5oY1tjaF9udW1dLkVyckNudCA+IDJVKQogICAgICAgewpAQCAtMTMxMCwyNiArMTMwOCw0MiBAQAogICAgICAgICBVU0J4X0hDKGNoX251bSktPkhDQ0hBUiA9IHRtcHJlZzsKICAgICAgIH0KICAgICB9CisgICAgZWxzZSBpZiAoaGhjZC0+aGNbY2hfbnVtXS5zdGF0ZSA9PSBIQ19OWUVUKQorICAgIHsKKyAgICAgIGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPSBIQ19IQUxURUQ7CisgICAgfQorICAgIGVsc2UgaWYgKGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPT0gSENfQUNLKQorICAgIHsKKyAgICAgIGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPSBIQ19IQUxURUQ7CisgICAgfQogICAgIGVsc2UgaWYgKGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPT0gSENfTkFLKQogICAgIHsKLSAgICAgIGhoY2QtPmhjW2NoX251bV0udXJiX3N0YXRlICA9IFVSQl9OT1RSRUFEWTsKKyAgICAgIGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPSBIQ19IQUxURUQ7CisgICAgICBoaGNkLT5oY1tjaF9udW1dLnVyYl9zdGF0ZSA9IFVSQl9OT1RSRUFEWTsKIAotICAgICAgLyogcmUtYWN0aXZhdGUgdGhlIGNoYW5uZWwgKi8KLSAgICAgIHRtcHJlZyA9IFVTQnhfSEMoY2hfbnVtKS0+SENDSEFSOwotICAgICAgdG1wcmVnICY9IH5VU0JfT1RHX0hDQ0hBUl9DSERJUzsKLSAgICAgIHRtcHJlZyB8PSBVU0JfT1RHX0hDQ0hBUl9DSEVOQTsKLSAgICAgIFVTQnhfSEMoY2hfbnVtKS0+SENDSEFSID0gdG1wcmVnOworICAgICAgaWYgKChoaGNkLT5oY1tjaF9udW1dLmVwX3R5cGUgPT0gRVBfVFlQRV9DVFJMKSB8fAorICAgICAgICAgIChoaGNkLT5oY1tjaF9udW1dLmVwX3R5cGUgPT0gRVBfVFlQRV9CVUxLKSkKKyAgICAgIHsKKyAgICAgICAgLyogcmUtYWN0aXZhdGUgdGhlIGNoYW5uZWwgKi8KKyAgICAgICAgdG1wcmVnID0gVVNCeF9IQyhjaF9udW0pLT5IQ0NIQVI7CisgICAgICAgIHRtcHJlZyAmPSB+VVNCX09UR19IQ0NIQVJfQ0hESVM7CisgICAgICAgIHRtcHJlZyB8PSBVU0JfT1RHX0hDQ0hBUl9DSEVOQTsKKyAgICAgICAgVVNCeF9IQyhjaF9udW0pLT5IQ0NIQVIgPSB0bXByZWc7CisgICAgICB9CiAgICAgfQogICAgIGVsc2UgaWYgKGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPT0gSENfQkJMRVJSKQogICAgIHsKKyAgICAgIGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPSBIQ19IQUxURUQ7CiAgICAgICBoaGNkLT5oY1tjaF9udW1dLkVyckNudCsrOwogICAgICAgaGhjZC0+aGNbY2hfbnVtXS51cmJfc3RhdGUgPSBVUkJfRVJST1I7CiAgICAgfQogICAgIGVsc2UKICAgICB7Ci0gICAgICAvKiAuLi4gKi8KKyAgICAgIGlmIChoaGNkLT5oY1tjaF9udW1dLnN0YXRlID09IEhDX0hBTFRFRCkKKyAgICAgIHsKKyAgICAgICAgcmV0dXJuOworICAgICAgfQogICAgIH0KLSAgICBfX0hBTF9IQ0RfQ0xFQVJfSENfSU5UKGNoX251bSwgVVNCX09UR19IQ0lOVF9DSEgpOwogCiAjaWYgKFVTRV9IQUxfSENEX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxVSkKICAgICBoaGNkLT5IQ19Ob3RpZnlVUkJDaGFuZ2VDYWxsYmFjayhoaGNkLCAodWludDhfdCljaF9udW0sIGhoY2QtPmhjW2NoX251bV0udXJiX3N0YXRlKTsKQEAgLTEzMzcsMTEgKzEzNTEsMjAgQEAKICAgICBIQUxfSENEX0hDX05vdGlmeVVSQkNoYW5nZV9DYWxsYmFjayhoaGNkLCAodWludDhfdCljaF9udW0sIGhoY2QtPmhjW2NoX251bV0udXJiX3N0YXRlKTsKICNlbmRpZiAvKiBVU0VfSEFMX0hDRF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KICAgfQotICBlbHNlIGlmICgoVVNCeF9IQyhjaF9udW0pLT5IQ0lOVCAmIFVTQl9PVEdfSENJTlRfTkFLKSA9PSBVU0JfT1RHX0hDSU5UX05BSykKKyAgZWxzZSBpZiAoX19IQUxfSENEX0dFVF9DSF9GTEFHKGhoY2QsIGNoX251bSwgVVNCX09UR19IQ0lOVF9OWUVUKSkKKyAgeworICAgIF9fSEFMX0hDRF9DTEVBUl9IQ19JTlQoY2hfbnVtLCBVU0JfT1RHX0hDSU5UX05ZRVQpOworICAgIGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPSBIQ19OWUVUOworICAgIGhoY2QtPmhjW2NoX251bV0uRXJyQ250ID0gMFU7CisKKyAgICAodm9pZClVU0JfSENfSGFsdChoaGNkLT5JbnN0YW5jZSwgKHVpbnQ4X3QpY2hfbnVtKTsKKyAgfQorICBlbHNlIGlmIChfX0hBTF9IQ0RfR0VUX0NIX0ZMQUcoaGhjZCwgY2hfbnVtLCBVU0JfT1RHX0hDSU5UX05BSykpCiAgIHsKICAgICBpZiAoaGhjZC0+aGNbY2hfbnVtXS5lcF90eXBlID09IEVQX1RZUEVfSU5UUikKICAgICB7CiAgICAgICBoaGNkLT5oY1tjaF9udW1dLkVyckNudCA9IDBVOworICAgICAgaGhjZC0+aGNbY2hfbnVtXS5zdGF0ZSA9IEhDX05BSzsKICAgICAgICh2b2lkKVVTQl9IQ19IYWx0KGhoY2QtPkluc3RhbmNlLCAodWludDhfdCljaF9udW0pOwogICAgIH0KICAgICBlbHNlIGlmICgoaGhjZC0+aGNbY2hfbnVtXS5lcF90eXBlID09IEVQX1RZUEVfQ1RSTCkgfHwKQEAgLTEzODIsMTMgKzE0MDUsMTMgQEAKICAgdWludDMyX3QgdG1wcmVnOwogICB1aW50MzJfdCBudW1fcGFja2V0czsKIAotICBpZiAoKFVTQnhfSEMoY2hfbnVtKS0+SENJTlQgJiBVU0JfT1RHX0hDSU5UX0FIQkVSUikgPT0gVVNCX09UR19IQ0lOVF9BSEJFUlIpCisgIGlmIChfX0hBTF9IQ0RfR0VUX0NIX0ZMQUcoaGhjZCwgY2hfbnVtLCBVU0JfT1RHX0hDSU5UX0FIQkVSUikpCiAgIHsKICAgICBfX0hBTF9IQ0RfQ0xFQVJfSENfSU5UKGNoX251bSwgVVNCX09UR19IQ0lOVF9BSEJFUlIpOwogICAgIGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPSBIQ19YQUNURVJSOwogICAgICh2b2lkKVVTQl9IQ19IYWx0KGhoY2QtPkluc3RhbmNlLCAodWludDhfdCljaF9udW0pOwogICB9Ci0gIGVsc2UgaWYgKChVU0J4X0hDKGNoX251bSktPkhDSU5UICYgVVNCX09UR19IQ0lOVF9BQ0spID09IFVTQl9PVEdfSENJTlRfQUNLKQorICBlbHNlIGlmIChfX0hBTF9IQ0RfR0VUX0NIX0ZMQUcoaGhjZCwgY2hfbnVtLCBVU0JfT1RHX0hDSU5UX0FDSykpCiAgIHsKICAgICBfX0hBTF9IQ0RfQ0xFQVJfSENfSU5UKGNoX251bSwgVVNCX09UR19IQ0lOVF9BQ0spOwogCkBAIC0xMzk2LDIwICsxNDE5LDIxIEBACiAgICAgewogICAgICAgaGhjZC0+aGNbY2hfbnVtXS5kb19waW5nID0gMFU7CiAgICAgICBoaGNkLT5oY1tjaF9udW1dLnVyYl9zdGF0ZSA9IFVSQl9OT1RSRUFEWTsKKyAgICAgIGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPSBIQ19BQ0s7CiAgICAgICAodm9pZClVU0JfSENfSGFsdChoaGNkLT5JbnN0YW5jZSwgKHVpbnQ4X3QpY2hfbnVtKTsKICAgICB9CiAgIH0KLSAgZWxzZSBpZiAoKFVTQnhfSEMoY2hfbnVtKS0+SENJTlQgJiBVU0JfT1RHX0hDSU5UX0ZSTU9SKSA9PSBVU0JfT1RHX0hDSU5UX0ZSTU9SKQorICBlbHNlIGlmIChfX0hBTF9IQ0RfR0VUX0NIX0ZMQUcoaGhjZCwgY2hfbnVtLCBVU0JfT1RHX0hDSU5UX0ZSTU9SKSkKICAgewogICAgIF9fSEFMX0hDRF9DTEVBUl9IQ19JTlQoY2hfbnVtLCBVU0JfT1RHX0hDSU5UX0ZSTU9SKTsKICAgICAodm9pZClVU0JfSENfSGFsdChoaGNkLT5JbnN0YW5jZSwgKHVpbnQ4X3QpY2hfbnVtKTsKICAgfQotICBlbHNlIGlmICgoVVNCeF9IQyhjaF9udW0pLT5IQ0lOVCAmIFVTQl9PVEdfSENJTlRfWEZSQykgPT0gVVNCX09UR19IQ0lOVF9YRlJDKQorICBlbHNlIGlmIChfX0hBTF9IQ0RfR0VUX0NIX0ZMQUcoaGhjZCwgY2hfbnVtLCBVU0JfT1RHX0hDSU5UX1hGUkMpKQogICB7CiAgICAgaGhjZC0+aGNbY2hfbnVtXS5FcnJDbnQgPSAwVTsKIAogICAgIC8qIHRyYW5zYWN0aW9uIGNvbXBsZXRlZCB3aXRoIE5ZRVQgc3RhdGUsIHVwZGF0ZSBkbyBwaW5nIHN0YXRlICovCi0gICAgaWYgKChVU0J4X0hDKGNoX251bSktPkhDSU5UICYgVVNCX09UR19IQ0lOVF9OWUVUKSA9PSBVU0JfT1RHX0hDSU5UX05ZRVQpCisgICAgaWYgKF9fSEFMX0hDRF9HRVRfQ0hfRkxBRyhoaGNkLCBjaF9udW0sIFVTQl9PVEdfSENJTlRfTllFVCkpCiAgICAgewogICAgICAgaGhjZC0+aGNbY2hfbnVtXS5kb19waW5nID0gMVU7CiAgICAgICBfX0hBTF9IQ0RfQ0xFQVJfSENfSU5UKGNoX251bSwgVVNCX09UR19IQ0lOVF9OWUVUKTsKQEAgLTE0MTgsNyArMTQ0Miw3IEBACiAgICAgaGhjZC0+aGNbY2hfbnVtXS5zdGF0ZSA9IEhDX1hGUkM7CiAgICAgKHZvaWQpVVNCX0hDX0hhbHQoaGhjZC0+SW5zdGFuY2UsICh1aW50OF90KWNoX251bSk7CiAgIH0KLSAgZWxzZSBpZiAoKFVTQnhfSEMoY2hfbnVtKS0+SENJTlQgJiBVU0JfT1RHX0hDSU5UX05ZRVQpID09IFVTQl9PVEdfSENJTlRfTllFVCkKKyAgZWxzZSBpZiAoX19IQUxfSENEX0dFVF9DSF9GTEFHKGhoY2QsIGNoX251bSwgVVNCX09UR19IQ0lOVF9OWUVUKSkKICAgewogICAgIGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPSBIQ19OWUVUOwogICAgIGhoY2QtPmhjW2NoX251bV0uZG9fcGluZyA9IDFVOwpAQCAtMTQyNiwxMyArMTQ1MCwxMyBAQAogICAgICh2b2lkKVVTQl9IQ19IYWx0KGhoY2QtPkluc3RhbmNlLCAodWludDhfdCljaF9udW0pOwogICAgIF9fSEFMX0hDRF9DTEVBUl9IQ19JTlQoY2hfbnVtLCBVU0JfT1RHX0hDSU5UX05ZRVQpOwogICB9Ci0gIGVsc2UgaWYgKChVU0J4X0hDKGNoX251bSktPkhDSU5UICYgVVNCX09UR19IQ0lOVF9TVEFMTCkgPT0gVVNCX09UR19IQ0lOVF9TVEFMTCkKKyAgZWxzZSBpZiAoX19IQUxfSENEX0dFVF9DSF9GTEFHKGhoY2QsIGNoX251bSwgVVNCX09UR19IQ0lOVF9TVEFMTCkpCiAgIHsKICAgICBfX0hBTF9IQ0RfQ0xFQVJfSENfSU5UKGNoX251bSwgVVNCX09UR19IQ0lOVF9TVEFMTCk7CiAgICAgaGhjZC0+aGNbY2hfbnVtXS5zdGF0ZSA9IEhDX1NUQUxMOwogICAgICh2b2lkKVVTQl9IQ19IYWx0KGhoY2QtPkluc3RhbmNlLCAodWludDhfdCljaF9udW0pOwogICB9Ci0gIGVsc2UgaWYgKChVU0J4X0hDKGNoX251bSktPkhDSU5UICYgVVNCX09UR19IQ0lOVF9OQUspID09IFVTQl9PVEdfSENJTlRfTkFLKQorICBlbHNlIGlmIChfX0hBTF9IQ0RfR0VUX0NIX0ZMQUcoaGhjZCwgY2hfbnVtLCBVU0JfT1RHX0hDSU5UX05BSykpCiAgIHsKICAgICBoaGNkLT5oY1tjaF9udW1dLkVyckNudCA9IDBVOwogICAgIGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPSBIQ19OQUs7CkBAIC0xNDQ4LDcgKzE0NzIsNyBAQAogICAgICh2b2lkKVVTQl9IQ19IYWx0KGhoY2QtPkluc3RhbmNlLCAodWludDhfdCljaF9udW0pOwogICAgIF9fSEFMX0hDRF9DTEVBUl9IQ19JTlQoY2hfbnVtLCBVU0JfT1RHX0hDSU5UX05BSyk7CiAgIH0KLSAgZWxzZSBpZiAoKFVTQnhfSEMoY2hfbnVtKS0+SENJTlQgJiBVU0JfT1RHX0hDSU5UX1RYRVJSKSA9PSBVU0JfT1RHX0hDSU5UX1RYRVJSKQorICBlbHNlIGlmIChfX0hBTF9IQ0RfR0VUX0NIX0ZMQUcoaGhjZCwgY2hfbnVtLCBVU0JfT1RHX0hDSU5UX1RYRVJSKSkKICAgewogICAgIGlmIChoaGNkLT5Jbml0LmRtYV9lbmFibGUgPT0gMFUpCiAgICAgewpAQCAtMTQ3NiwxNiArMTUwMCwxOCBAQAogICAgIH0KICAgICBfX0hBTF9IQ0RfQ0xFQVJfSENfSU5UKGNoX251bSwgVVNCX09UR19IQ0lOVF9UWEVSUik7CiAgIH0KLSAgZWxzZSBpZiAoKFVTQnhfSEMoY2hfbnVtKS0+SENJTlQgJiBVU0JfT1RHX0hDSU5UX0RURVJSKSA9PSBVU0JfT1RHX0hDSU5UX0RURVJSKQorICBlbHNlIGlmIChfX0hBTF9IQ0RfR0VUX0NIX0ZMQUcoaGhjZCwgY2hfbnVtLCBVU0JfT1RHX0hDSU5UX0RURVJSKSkKICAgewogICAgIGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPSBIQ19EQVRBVEdMRVJSOwogICAgICh2b2lkKVVTQl9IQ19IYWx0KGhoY2QtPkluc3RhbmNlLCAodWludDhfdCljaF9udW0pOwogICAgIF9fSEFMX0hDRF9DTEVBUl9IQ19JTlQoY2hfbnVtLCBVU0JfT1RHX0hDSU5UX0RURVJSKTsKICAgfQotICBlbHNlIGlmICgoVVNCeF9IQyhjaF9udW0pLT5IQ0lOVCAmIFVTQl9PVEdfSENJTlRfQ0hIKSA9PSBVU0JfT1RHX0hDSU5UX0NISCkKKyAgZWxzZSBpZiAoX19IQUxfSENEX0dFVF9DSF9GTEFHKGhoY2QsIGNoX251bSwgVVNCX09UR19IQ0lOVF9DSEgpKQogICB7CisgICAgX19IQUxfSENEX0NMRUFSX0hDX0lOVChjaF9udW0sIFVTQl9PVEdfSENJTlRfQ0hIKTsKICAgICBpZiAoaGhjZC0+aGNbY2hfbnVtXS5zdGF0ZSA9PSBIQ19YRlJDKQogICAgIHsKKyAgICAgIGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPSBIQ19IQUxURUQ7CiAgICAgICBoaGNkLT5oY1tjaF9udW1dLnVyYl9zdGF0ZSAgPSBVUkJfRE9ORTsKICAgICAgIGlmICgoaGhjZC0+aGNbY2hfbnVtXS5lcF90eXBlID09IEVQX1RZUEVfQlVMSykgfHwKICAgICAgICAgICAoaGhjZC0+aGNbY2hfbnVtXS5lcF90eXBlID09IEVQX1RZUEVfSU5UUikpCkBAIC0xNTA2LDIxICsxNTMyLDI5IEBACiAgICAgICAgIH0KICAgICAgIH0KICAgICB9CisgICAgZWxzZSBpZiAoaGhjZC0+aGNbY2hfbnVtXS5zdGF0ZSA9PSBIQ19BQ0spCisgICAgeworICAgICAgaGhjZC0+aGNbY2hfbnVtXS5zdGF0ZSA9IEhDX0hBTFRFRDsKKyAgICB9CiAgICAgZWxzZSBpZiAoaGhjZC0+aGNbY2hfbnVtXS5zdGF0ZSA9PSBIQ19OQUspCiAgICAgeworICAgICAgaGhjZC0+aGNbY2hfbnVtXS5zdGF0ZSA9IEhDX0hBTFRFRDsKICAgICAgIGhoY2QtPmhjW2NoX251bV0udXJiX3N0YXRlID0gVVJCX05PVFJFQURZOwogICAgIH0KICAgICBlbHNlIGlmIChoaGNkLT5oY1tjaF9udW1dLnN0YXRlID09IEhDX05ZRVQpCiAgICAgeworICAgICAgaGhjZC0+aGNbY2hfbnVtXS5zdGF0ZSA9IEhDX0hBTFRFRDsKICAgICAgIGhoY2QtPmhjW2NoX251bV0udXJiX3N0YXRlICA9IFVSQl9OT1RSRUFEWTsKICAgICB9CiAgICAgZWxzZSBpZiAoaGhjZC0+aGNbY2hfbnVtXS5zdGF0ZSA9PSBIQ19TVEFMTCkKICAgICB7CisgICAgICBoaGNkLT5oY1tjaF9udW1dLnN0YXRlID0gSENfSEFMVEVEOwogICAgICAgaGhjZC0+aGNbY2hfbnVtXS51cmJfc3RhdGUgID0gVVJCX1NUQUxMOwogICAgIH0KICAgICBlbHNlIGlmICgoaGhjZC0+aGNbY2hfbnVtXS5zdGF0ZSA9PSBIQ19YQUNURVJSKSB8fAogICAgICAgICAgICAgIChoaGNkLT5oY1tjaF9udW1dLnN0YXRlID09IEhDX0RBVEFUR0xFUlIpKQogICAgIHsKKyAgICAgIGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPSBIQ19IQUxURUQ7CiAgICAgICBoaGNkLT5oY1tjaF9udW1dLkVyckNudCsrOwogICAgICAgaWYgKGhoY2QtPmhjW2NoX251bV0uRXJyQ250ID4gMlUpCiAgICAgICB7CkBAIC0xNTQwLDExICsxNTc0LDkgQEAKICAgICB9CiAgICAgZWxzZQogICAgIHsKLSAgICAgIC8qIC4uLiAqLworICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIF9fSEFMX0hDRF9DTEVBUl9IQ19JTlQoY2hfbnVtLCBVU0JfT1RHX0hDSU5UX0NISCk7Ci0KICNpZiAoVVNFX0hBTF9IQ0RfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDFVKQogICAgIGhoY2QtPkhDX05vdGlmeVVSQkNoYW5nZUNhbGxiYWNrKGhoY2QsICh1aW50OF90KWNoX251bSwgaGhjZC0+aGNbY2hfbnVtXS51cmJfc3RhdGUpOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY3eHhfaGFsX2kyYy5jIGIvU3JjL3N0bTMyZjd4eF9oYWxfaTJjLmMKaW5kZXggYzVlYzlhMS4uMDQ5ZGI1OCAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjd4eF9oYWxfaTJjLmMKKysrIGIvU3JjL3N0bTMyZjd4eF9oYWxfaTJjLmMKQEAgLTQzOCwxMCArNDM4LDE0IEBACiAvKiBQcml2YXRlIGZ1bmN0aW9ucyBmb3IgSTJDIHRyYW5zZmVyIElSUSBoYW5kbGVyICovCiBzdGF0aWMgSEFMX1N0YXR1c1R5cGVEZWYgSTJDX01hc3Rlcl9JU1JfSVQoc3RydWN0IF9fSTJDX0hhbmRsZVR5cGVEZWYgKmhpMmMsIHVpbnQzMl90IElURmxhZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgSVRTb3VyY2VzKTsKK3N0YXRpYyBIQUxfU3RhdHVzVHlwZURlZiBJMkNfTWVtX0lTUl9JVChzdHJ1Y3QgX19JMkNfSGFuZGxlVHlwZURlZiAqaGkyYywgdWludDMyX3QgSVRGbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBJVFNvdXJjZXMpOwogc3RhdGljIEhBTF9TdGF0dXNUeXBlRGVmIEkyQ19TbGF2ZV9JU1JfSVQoc3RydWN0IF9fSTJDX0hhbmRsZVR5cGVEZWYgKmhpMmMsIHVpbnQzMl90IElURmxhZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBJVFNvdXJjZXMpOwogc3RhdGljIEhBTF9TdGF0dXNUeXBlRGVmIEkyQ19NYXN0ZXJfSVNSX0RNQShzdHJ1Y3QgX19JMkNfSGFuZGxlVHlwZURlZiAqaGkyYywgdWludDMyX3QgSVRGbGFncywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgSVRTb3VyY2VzKTsKK3N0YXRpYyBIQUxfU3RhdHVzVHlwZURlZiBJMkNfTWVtX0lTUl9ETUEoc3RydWN0IF9fSTJDX0hhbmRsZVR5cGVEZWYgKmhpMmMsIHVpbnQzMl90IElURmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IElUU291cmNlcyk7CiBzdGF0aWMgSEFMX1N0YXR1c1R5cGVEZWYgSTJDX1NsYXZlX0lTUl9ETUEoc3RydWN0IF9fSTJDX0hhbmRsZVR5cGVEZWYgKmhpMmMsIHVpbnQzMl90IElURmxhZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgSVRTb3VyY2VzKTsKIApAQCAtNzA3LDYgKzcxMSw4IEBACiAvKioKICAgKiBAYnJpZWYgIFJlZ2lzdGVyIGEgVXNlciBJMkMgQ2FsbGJhY2sKICAgKiAgICAgICAgIFRvIGJlIHVzZWQgaW5zdGVhZCBvZiB0aGUgd2VhayBwcmVkZWZpbmVkIGNhbGxiYWNrCisgICogQG5vdGUgICBUaGUgSEFMX0kyQ19SZWdpc3RlckNhbGxiYWNrKCkgbWF5IGJlIGNhbGxlZCBiZWZvcmUgSEFMX0kyQ19Jbml0KCkgaW4gSEFMX0kyQ19TVEFURV9SRVNFVAorICAqICAgICAgICAgdG8gcmVnaXN0ZXIgY2FsbGJhY2tzIGZvciBIQUxfSTJDX01TUElOSVRfQ0JfSUQgYW5kIEhBTF9JMkNfTVNQREVJTklUX0NCX0lELgogICAqIEBwYXJhbSAgaGkyYyBQb2ludGVyIHRvIGEgSTJDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBJMkMuCiAgICogQHBhcmFtICBDYWxsYmFja0lEIElEIG9mIHRoZSBjYWxsYmFjayB0byBiZSByZWdpc3RlcmVkCkBAIC03MzcsOCArNzQzLDYgQEAKIAogICAgIHJldHVybiBIQUxfRVJST1I7CiAgIH0KLSAgLyogUHJvY2VzcyBsb2NrZWQgKi8KLSAgX19IQUxfTE9DSyhoaTJjKTsKIAogICBpZiAoSEFMX0kyQ19TVEFURV9SRUFEWSA9PSBoaTJjLT5TdGF0ZSkKICAgewpAQCAtODI3LDE0ICs4MzEsMTQgQEAKICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOwogICB9CiAKLSAgLyogUmVsZWFzZSBMb2NrICovCi0gIF9fSEFMX1VOTE9DSyhoaTJjKTsKICAgcmV0dXJuIHN0YXR1czsKIH0KIAogLyoqCiAgICogQGJyaWVmICBVbnJlZ2lzdGVyIGFuIEkyQyBDYWxsYmFjawogICAqICAgICAgICAgSTJDIGNhbGxiYWNrIGlzIHJlZGlyZWN0ZWQgdG8gdGhlIHdlYWsgcHJlZGVmaW5lZCBjYWxsYmFjaworICAqIEBub3RlICAgVGhlIEhBTF9JMkNfVW5SZWdpc3RlckNhbGxiYWNrKCkgbWF5IGJlIGNhbGxlZCBiZWZvcmUgSEFMX0kyQ19Jbml0KCkgaW4gSEFMX0kyQ19TVEFURV9SRVNFVCAKKyAgKiAgICAgICAgIHRvIHVuLXJlZ2lzdGVyIGNhbGxiYWNrcyBmb3IgSEFMX0kyQ19NU1BJTklUX0NCX0lEIGFuZCBIQUxfSTJDX01TUERFSU5JVF9DQl9JRC4KICAgKiBAcGFyYW0gIGhpMmMgUG9pbnRlciB0byBhIEkyQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIHRoZSBzcGVjaWZpZWQgSTJDLgogICAqIEBwYXJhbSAgQ2FsbGJhY2tJRCBJRCBvZiB0aGUgY2FsbGJhY2sgdG8gYmUgdW5yZWdpc3RlcmVkCkBAIC04NTcsOSArODYxLDYgQEAKIHsKICAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzID0gSEFMX09LOwogCi0gIC8qIFByb2Nlc3MgbG9ja2VkICovCi0gIF9fSEFMX0xPQ0soaGkyYyk7Ci0KICAgaWYgKEhBTF9JMkNfU1RBVEVfUkVBRFkgPT0gaGkyYy0+U3RhdGUpCiAgIHsKICAgICBzd2l0Y2ggKENhbGxiYWNrSUQpCkBAIC05NDcsOCArOTQ4LDYgQEAKICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOwogICB9CiAKLSAgLyogUmVsZWFzZSBMb2NrICovCi0gIF9fSEFMX1VOTE9DSyhoaTJjKTsKICAgcmV0dXJuIHN0YXR1czsKIH0KIApAQCAtOTcxLDggKzk3MCw2IEBACiAKICAgICByZXR1cm4gSEFMX0VSUk9SOwogICB9Ci0gIC8qIFByb2Nlc3MgbG9ja2VkICovCi0gIF9fSEFMX0xPQ0soaGkyYyk7CiAKICAgaWYgKEhBTF9JMkNfU1RBVEVfUkVBRFkgPT0gaGkyYy0+U3RhdGUpCiAgIHsKQEAgLTk4Nyw4ICs5ODQsNiBAQAogICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7CiAgIH0KIAotICAvKiBSZWxlYXNlIExvY2sgKi8KLSAgX19IQUxfVU5MT0NLKGhpMmMpOwogICByZXR1cm4gc3RhdHVzOwogfQogCkBAIC0xMDAzLDkgKzk5OCw2IEBACiB7CiAgIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1cyA9IEhBTF9PSzsKIAotICAvKiBQcm9jZXNzIGxvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhpMmMpOwotCiAgIGlmIChIQUxfSTJDX1NUQVRFX1JFQURZID09IGhpMmMtPlN0YXRlKQogICB7CiAgICAgaGkyYy0+QWRkckNhbGxiYWNrID0gSEFMX0kyQ19BZGRyQ2FsbGJhY2s7IC8qIExlZ2FjeSB3ZWFrIEFkZHJDYWxsYmFjayAgKi8KQEAgLTEwMTksOCArMTAxMSw2IEBACiAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKICAgfQogCi0gIC8qIFJlbGVhc2UgTG9jayAqLwotICBfX0hBTF9VTkxPQ0soaGkyYyk7CiAgIHJldHVybiBzdGF0dXM7CiB9CiAKQEAgLTI2NDcsOSArMjYzNyw2IEBACiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfSTJDX01lbV9Xcml0ZV9JVChJMkNfSGFuZGxlVHlwZURlZiAqaGkyYywgdWludDE2X3QgRGV2QWRkcmVzcywgdWludDE2X3QgTWVtQWRkcmVzcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IE1lbUFkZFNpemUsIHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplKQogewotICB1aW50MzJfdCB0aWNrc3RhcnQ7Ci0gIHVpbnQzMl90IHhmZXJtb2RlOwotCiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19JMkNfTUVNQUREX1NJWkUoTWVtQWRkU2l6ZSkpOwogCkBAIC0yNjY5LDkgKzI2NTYsNiBAQAogICAgIC8qIFByb2Nlc3MgTG9ja2VkICovCiAgICAgX19IQUxfTE9DSyhoaTJjKTsKIAotICAgIC8qIEluaXQgdGlja3N0YXJ0IGZvciB0aW1lb3V0IG1hbmFnZW1lbnQqLwotICAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7Ci0KICAgICBoaTJjLT5TdGF0ZSAgICAgICA9IEhBTF9JMkNfU1RBVEVfQlVTWV9UWDsKICAgICBoaTJjLT5Nb2RlICAgICAgICA9IEhBTF9JMkNfTU9ERV9NRU07CiAgICAgaGkyYy0+RXJyb3JDb2RlICAgPSBIQUxfSTJDX0VSUk9SX05PTkU7CkBAIC0yNjgwLDMwICsyNjY0LDI5IEBACiAgICAgaGkyYy0+cEJ1ZmZQdHIgICAgPSBwRGF0YTsKICAgICBoaTJjLT5YZmVyQ291bnQgICA9IFNpemU7CiAgICAgaGkyYy0+WGZlck9wdGlvbnMgPSBJMkNfTk9fT1BUSU9OX0ZSQU1FOwotICAgIGhpMmMtPlhmZXJJU1IgICAgID0gSTJDX01hc3Rlcl9JU1JfSVQ7CisgICAgaGkyYy0+WGZlcklTUiAgICAgPSBJMkNfTWVtX0lTUl9JVDsKKyAgICBoaTJjLT5EZXZhZGRyZXNzICA9IERldkFkZHJlc3M7CiAKLSAgICBpZiAoaGkyYy0+WGZlckNvdW50ID4gTUFYX05CWVRFX1NJWkUpCisgICAgLyogSWYgTWVtb3J5IGFkZHJlc3Mgc2l6ZSBpcyA4Qml0ICovCisgICAgaWYgKE1lbUFkZFNpemUgPT0gSTJDX01FTUFERF9TSVpFXzhCSVQpCiAgICAgewotICAgICAgaGkyYy0+WGZlclNpemUgPSBNQVhfTkJZVEVfU0laRTsKLSAgICAgIHhmZXJtb2RlID0gSTJDX1JFTE9BRF9NT0RFOworICAgICAgLyogUHJlZmV0Y2ggTWVtb3J5IEFkZHJlc3MgKi8KKyAgICAgIGhpMmMtPkluc3RhbmNlLT5UWERSID0gSTJDX01FTV9BRERfTFNCKE1lbUFkZHJlc3MpOworCisgICAgICAvKiBSZXNldCBNZW1hZGRyZXNzIGNvbnRlbnQgKi8KKyAgICAgIGhpMmMtPk1lbWFkZHJlc3MgPSAweEZGRkZGRkZGVTsKICAgICB9CisgICAgLyogSWYgTWVtb3J5IGFkZHJlc3Mgc2l6ZSBpcyAxNkJpdCAqLwogICAgIGVsc2UKICAgICB7Ci0gICAgICBoaTJjLT5YZmVyU2l6ZSA9IGhpMmMtPlhmZXJDb3VudDsKLSAgICAgIHhmZXJtb2RlID0gSTJDX0FVVE9FTkRfTU9ERTsKLSAgICB9CisgICAgICAvKiBQcmVmZXRjaCBNZW1vcnkgQWRkcmVzcyAoTVNCIHBhcnQsIExTQiB3aWxsIGJlIG1hbmFnZSB0aHJvdWdoIGludGVycnVwdCkgKi8KKyAgICAgIGhpMmMtPkluc3RhbmNlLT5UWERSID0gSTJDX01FTV9BRERfTVNCKE1lbUFkZHJlc3MpOwogCisgICAgICAvKiBQcmVwYXJlIE1lbWFkZHJlc3MgYnVmZmVyIGZvciBMU0IgcGFydCAqLworICAgICAgaGkyYy0+TWVtYWRkcmVzcyA9IEkyQ19NRU1fQUREX0xTQihNZW1BZGRyZXNzKTsKKyAgICB9CiAgICAgLyogU2VuZCBTbGF2ZSBBZGRyZXNzIGFuZCBNZW1vcnkgQWRkcmVzcyAqLwotICAgIGlmIChJMkNfUmVxdWVzdE1lbW9yeVdyaXRlKGhpMmMsIERldkFkZHJlc3MsIE1lbUFkZHJlc3MsIE1lbUFkZFNpemUsIEkyQ19USU1FT1VUX0ZMQUcsIHRpY2tzdGFydCkKLSAgICAgICAgIT0gSEFMX09LKQotICAgIHsKLSAgICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgICAgIF9fSEFMX1VOTE9DSyhoaTJjKTsKLSAgICAgIHJldHVybiBIQUxfRVJST1I7Ci0gICAgfQotCi0gICAgLyogU2V0IE5CWVRFUyB0byB3cml0ZSBhbmQgcmVsb2FkIGlmIGhpMmMtPlhmZXJDb3VudCA+IE1BWF9OQllURV9TSVpFIGFuZCBnZW5lcmF0ZSBSRVNUQVJUICovCi0gICAgSTJDX1RyYW5zZmVyQ29uZmlnKGhpMmMsIERldkFkZHJlc3MsICh1aW50OF90KWhpMmMtPlhmZXJTaXplLCB4ZmVybW9kZSwgSTJDX05PX1NUQVJUU1RPUCk7CisgICAgSTJDX1RyYW5zZmVyQ29uZmlnKGhpMmMsIERldkFkZHJlc3MsICh1aW50OF90KU1lbUFkZFNpemUsIEkyQ19SRUxPQURfTU9ERSwgSTJDX0dFTkVSQVRFX1NUQVJUX1dSSVRFKTsKIAogICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KICAgICBfX0hBTF9VTkxPQ0soaGkyYyk7CkBAIC0yNzQxLDkgKzI3MjQsNiBAQAogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0kyQ19NZW1fUmVhZF9JVChJMkNfSGFuZGxlVHlwZURlZiAqaGkyYywgdWludDE2X3QgRGV2QWRkcmVzcywgdWludDE2X3QgTWVtQWRkcmVzcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgTWVtQWRkU2l6ZSwgdWludDhfdCAqcERhdGEsIHVpbnQxNl90IFNpemUpCiB7Ci0gIHVpbnQzMl90IHRpY2tzdGFydDsKLSAgdWludDMyX3QgeGZlcm1vZGU7Ci0KICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX0kyQ19NRU1BRERfU0laRShNZW1BZGRTaXplKSk7CiAKQEAgLTI3NjMsOSArMjc0Myw2IEBACiAgICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KICAgICBfX0hBTF9MT0NLKGhpMmMpOwogCi0gICAgLyogSW5pdCB0aWNrc3RhcnQgZm9yIHRpbWVvdXQgbWFuYWdlbWVudCovCi0gICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKLQogICAgIGhpMmMtPlN0YXRlICAgICAgID0gSEFMX0kyQ19TVEFURV9CVVNZX1JYOwogICAgIGhpMmMtPk1vZGUgICAgICAgID0gSEFMX0kyQ19NT0RFX01FTTsKICAgICBoaTJjLT5FcnJvckNvZGUgICA9IEhBTF9JMkNfRVJST1JfTk9ORTsKQEAgLTI3NzQsMjkgKzI3NTEsMjkgQEAKICAgICBoaTJjLT5wQnVmZlB0ciAgICA9IHBEYXRhOwogICAgIGhpMmMtPlhmZXJDb3VudCAgID0gU2l6ZTsKICAgICBoaTJjLT5YZmVyT3B0aW9ucyA9IEkyQ19OT19PUFRJT05fRlJBTUU7Ci0gICAgaGkyYy0+WGZlcklTUiAgICAgPSBJMkNfTWFzdGVyX0lTUl9JVDsKKyAgICBoaTJjLT5YZmVySVNSICAgICA9IEkyQ19NZW1fSVNSX0lUOworICAgIGhpMmMtPkRldmFkZHJlc3MgID0gRGV2QWRkcmVzczsKIAotICAgIGlmIChoaTJjLT5YZmVyQ291bnQgPiBNQVhfTkJZVEVfU0laRSkKKyAgICAvKiBJZiBNZW1vcnkgYWRkcmVzcyBzaXplIGlzIDhCaXQgKi8KKyAgICBpZiAoTWVtQWRkU2l6ZSA9PSBJMkNfTUVNQUREX1NJWkVfOEJJVCkKICAgICB7Ci0gICAgICBoaTJjLT5YZmVyU2l6ZSA9IE1BWF9OQllURV9TSVpFOwotICAgICAgeGZlcm1vZGUgPSBJMkNfUkVMT0FEX01PREU7CisgICAgICAvKiBQcmVmZXRjaCBNZW1vcnkgQWRkcmVzcyAqLworICAgICAgaGkyYy0+SW5zdGFuY2UtPlRYRFIgPSBJMkNfTUVNX0FERF9MU0IoTWVtQWRkcmVzcyk7CisKKyAgICAgIC8qIFJlc2V0IE1lbWFkZHJlc3MgY29udGVudCAqLworICAgICAgaGkyYy0+TWVtYWRkcmVzcyA9IDB4RkZGRkZGRkZVOwogICAgIH0KKyAgICAvKiBJZiBNZW1vcnkgYWRkcmVzcyBzaXplIGlzIDE2Qml0ICovCiAgICAgZWxzZQogICAgIHsKLSAgICAgIGhpMmMtPlhmZXJTaXplID0gaGkyYy0+WGZlckNvdW50OwotICAgICAgeGZlcm1vZGUgPSBJMkNfQVVUT0VORF9NT0RFOwotICAgIH0KKyAgICAgIC8qIFByZWZldGNoIE1lbW9yeSBBZGRyZXNzIChNU0IgcGFydCwgTFNCIHdpbGwgYmUgbWFuYWdlIHRocm91Z2ggaW50ZXJydXB0KSAqLworICAgICAgaGkyYy0+SW5zdGFuY2UtPlRYRFIgPSBJMkNfTUVNX0FERF9NU0IoTWVtQWRkcmVzcyk7CiAKKyAgICAgIC8qIFByZXBhcmUgTWVtYWRkcmVzcyBidWZmZXIgZm9yIExTQiBwYXJ0ICovCisgICAgICBoaTJjLT5NZW1hZGRyZXNzID0gSTJDX01FTV9BRERfTFNCKE1lbUFkZHJlc3MpOworICAgIH0KICAgICAvKiBTZW5kIFNsYXZlIEFkZHJlc3MgYW5kIE1lbW9yeSBBZGRyZXNzICovCi0gICAgaWYgKEkyQ19SZXF1ZXN0TWVtb3J5UmVhZChoaTJjLCBEZXZBZGRyZXNzLCBNZW1BZGRyZXNzLCBNZW1BZGRTaXplLCBJMkNfVElNRU9VVF9GTEFHLCB0aWNrc3RhcnQpICE9IEhBTF9PSykKLSAgICB7Ci0gICAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCi0gICAgICBfX0hBTF9VTkxPQ0soaGkyYyk7Ci0gICAgICByZXR1cm4gSEFMX0VSUk9SOwotICAgIH0KLQotICAgIC8qIFNldCBOQllURVMgdG8gd3JpdGUgYW5kIHJlbG9hZCBpZiBoaTJjLT5YZmVyQ291bnQgPiBNQVhfTkJZVEVfU0laRSBhbmQgZ2VuZXJhdGUgUkVTVEFSVCAqLwotICAgIEkyQ19UcmFuc2ZlckNvbmZpZyhoaTJjLCBEZXZBZGRyZXNzLCAodWludDhfdCloaTJjLT5YZmVyU2l6ZSwgeGZlcm1vZGUsIEkyQ19HRU5FUkFURV9TVEFSVF9SRUFEKTsKKyAgICBJMkNfVHJhbnNmZXJDb25maWcoaGkyYywgRGV2QWRkcmVzcywgKHVpbnQ4X3QpTWVtQWRkU2l6ZSwgSTJDX1NPRlRFTkRfTU9ERSwgSTJDX0dFTkVSQVRFX1NUQVJUX1dSSVRFKTsKIAogICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KICAgICBfX0hBTF9VTkxPQ0soaGkyYyk7CkBAIC0yODA5LDcgKzI3ODYsNyBAQAogICAgIC8qIHBvc3NpYmxlIHRvIGVuYWJsZSBhbGwgb2YgdGhlc2UgKi8KICAgICAvKiBJMkNfSVRfRVJSSSB8IEkyQ19JVF9UQ0kgfCBJMkNfSVRfU1RPUEkgfCBJMkNfSVRfTkFDS0kgfAogICAgICAgSTJDX0lUX0FERFJJIHwgSTJDX0lUX1JYSSB8IEkyQ19JVF9UWEkgKi8KLSAgICBJMkNfRW5hYmxlX0lSUShoaTJjLCBJMkNfWEZFUl9SWF9JVCk7CisgICAgSTJDX0VuYWJsZV9JUlEoaGkyYywgKEkyQ19YRkVSX1RYX0lUIHwgSTJDX1hGRVJfUlhfSVQpKTsKIAogICAgIHJldHVybiBIQUxfT0s7CiAgIH0KQEAgLTI4MzMsOCArMjgxMCw2IEBACiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfSTJDX01lbV9Xcml0ZV9ETUEoSTJDX0hhbmRsZVR5cGVEZWYgKmhpMmMsIHVpbnQxNl90IERldkFkZHJlc3MsIHVpbnQxNl90IE1lbUFkZHJlc3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgTWVtQWRkU2l6ZSwgdWludDhfdCAqcERhdGEsIHVpbnQxNl90IFNpemUpCiB7Ci0gIHVpbnQzMl90IHRpY2tzdGFydDsKLSAgdWludDMyX3QgeGZlcm1vZGU7CiAgIEhBTF9TdGF0dXNUeXBlRGVmIGRtYXhmZXJzdGF0dXM7CiAKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KQEAgLTI4NTYsOSArMjgzMSw2IEBACiAgICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KICAgICBfX0hBTF9MT0NLKGhpMmMpOwogCi0gICAgLyogSW5pdCB0aWNrc3RhcnQgZm9yIHRpbWVvdXQgbWFuYWdlbWVudCovCi0gICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKLQogICAgIGhpMmMtPlN0YXRlICAgICAgID0gSEFMX0kyQ19TVEFURV9CVVNZX1RYOwogICAgIGhpMmMtPk1vZGUgICAgICAgID0gSEFMX0kyQ19NT0RFX01FTTsKICAgICBoaTJjLT5FcnJvckNvZGUgICA9IEhBTF9JMkNfRVJST1JfTk9ORTsKQEAgLTI4NjcsMjggKzI4MzksMzYgQEAKICAgICBoaTJjLT5wQnVmZlB0ciAgICA9IHBEYXRhOwogICAgIGhpMmMtPlhmZXJDb3VudCAgID0gU2l6ZTsKICAgICBoaTJjLT5YZmVyT3B0aW9ucyA9IEkyQ19OT19PUFRJT05fRlJBTUU7Ci0gICAgaGkyYy0+WGZlcklTUiAgICAgPSBJMkNfTWFzdGVyX0lTUl9ETUE7CisgICAgaGkyYy0+WGZlcklTUiAgICAgPSBJMkNfTWVtX0lTUl9ETUE7CisgICAgaGkyYy0+RGV2YWRkcmVzcyAgPSBEZXZBZGRyZXNzOwogCiAgICAgaWYgKGhpMmMtPlhmZXJDb3VudCA+IE1BWF9OQllURV9TSVpFKQogICAgIHsKICAgICAgIGhpMmMtPlhmZXJTaXplID0gTUFYX05CWVRFX1NJWkU7Ci0gICAgICB4ZmVybW9kZSA9IEkyQ19SRUxPQURfTU9ERTsKICAgICB9CiAgICAgZWxzZQogICAgIHsKICAgICAgIGhpMmMtPlhmZXJTaXplID0gaGkyYy0+WGZlckNvdW50OwotICAgICAgeGZlcm1vZGUgPSBJMkNfQVVUT0VORF9NT0RFOwogICAgIH0KIAotICAgIC8qIFNlbmQgU2xhdmUgQWRkcmVzcyBhbmQgTWVtb3J5IEFkZHJlc3MgKi8KLSAgICBpZiAoSTJDX1JlcXVlc3RNZW1vcnlXcml0ZShoaTJjLCBEZXZBZGRyZXNzLCBNZW1BZGRyZXNzLCBNZW1BZGRTaXplLCBJMkNfVElNRU9VVF9GTEFHLCB0aWNrc3RhcnQpCi0gICAgICAgICE9IEhBTF9PSykKKyAgICAvKiBJZiBNZW1vcnkgYWRkcmVzcyBzaXplIGlzIDhCaXQgKi8KKyAgICBpZiAoTWVtQWRkU2l6ZSA9PSBJMkNfTUVNQUREX1NJWkVfOEJJVCkKICAgICB7Ci0gICAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCi0gICAgICBfX0hBTF9VTkxPQ0soaGkyYyk7Ci0gICAgICByZXR1cm4gSEFMX0VSUk9SOwotICAgIH0KKyAgICAgIC8qIFByZWZldGNoIE1lbW9yeSBBZGRyZXNzICovCisgICAgICBoaTJjLT5JbnN0YW5jZS0+VFhEUiA9IEkyQ19NRU1fQUREX0xTQihNZW1BZGRyZXNzKTsKIAorICAgICAgLyogUmVzZXQgTWVtYWRkcmVzcyBjb250ZW50ICovCisgICAgICBoaTJjLT5NZW1hZGRyZXNzID0gMHhGRkZGRkZGRlU7CisgICAgfQorICAgIC8qIElmIE1lbW9yeSBhZGRyZXNzIHNpemUgaXMgMTZCaXQgKi8KKyAgICBlbHNlCisgICAgeworICAgICAgLyogUHJlZmV0Y2ggTWVtb3J5IEFkZHJlc3MgKE1TQiBwYXJ0LCBMU0Igd2lsbCBiZSBtYW5hZ2UgdGhyb3VnaCBpbnRlcnJ1cHQpICovCisgICAgICBoaTJjLT5JbnN0YW5jZS0+VFhEUiA9IEkyQ19NRU1fQUREX01TQihNZW1BZGRyZXNzKTsKKworICAgICAgLyogUHJlcGFyZSBNZW1hZGRyZXNzIGJ1ZmZlciBmb3IgTFNCIHBhcnQgKi8KKyAgICAgIGhpMmMtPk1lbWFkZHJlc3MgPSBJMkNfTUVNX0FERF9MU0IoTWVtQWRkcmVzcyk7CisgICAgfQogCiAgICAgaWYgKGhpMmMtPmhkbWF0eCAhPSBOVUxMKQogICAgIHsKQEAgLTI5MjMsMTIgKzI5MDMsOCBAQAogCiAgICAgaWYgKGRtYXhmZXJzdGF0dXMgPT0gSEFMX09LKQogICAgIHsKLSAgICAgIC8qIFNlbmQgU2xhdmUgQWRkcmVzcyAqLwotICAgICAgLyogU2V0IE5CWVRFUyB0byB3cml0ZSBhbmQgcmVsb2FkIGlmIGhpMmMtPlhmZXJDb3VudCA+IE1BWF9OQllURV9TSVpFIGFuZCBnZW5lcmF0ZSBSRVNUQVJUICovCi0gICAgICBJMkNfVHJhbnNmZXJDb25maWcoaGkyYywgRGV2QWRkcmVzcywgKHVpbnQ4X3QpaGkyYy0+WGZlclNpemUsIHhmZXJtb2RlLCBJMkNfTk9fU1RBUlRTVE9QKTsKLQotICAgICAgLyogVXBkYXRlIFhmZXJDb3VudCB2YWx1ZSAqLwotICAgICAgaGkyYy0+WGZlckNvdW50IC09IGhpMmMtPlhmZXJTaXplOworICAgICAgLyogU2VuZCBTbGF2ZSBBZGRyZXNzIGFuZCBNZW1vcnkgQWRkcmVzcyAqLworICAgICAgSTJDX1RyYW5zZmVyQ29uZmlnKGhpMmMsIERldkFkZHJlc3MsICh1aW50OF90KU1lbUFkZFNpemUsIEkyQ19SRUxPQURfTU9ERSwgSTJDX0dFTkVSQVRFX1NUQVJUX1dSSVRFKTsKIAogICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwogICAgICAgX19IQUxfVU5MT0NLKGhpMmMpOwpAQCAtMjkzNiwxMSArMjkxMiwxMSBAQAogICAgICAgLyogTm90ZSA6IFRoZSBJMkMgaW50ZXJydXB0cyBtdXN0IGJlIGVuYWJsZWQgYWZ0ZXIgdW5sb2NraW5nIGN1cnJlbnQgcHJvY2VzcwogICAgICAgICAgICAgICAgIHRvIGF2b2lkIHRoZSByaXNrIG9mIEkyQyBpbnRlcnJ1cHQgaGFuZGxlIGV4ZWN1dGlvbiBiZWZvcmUgY3VycmVudAogICAgICAgICAgICAgICAgIHByb2Nlc3MgdW5sb2NrICovCi0gICAgICAvKiBFbmFibGUgRVJSIGFuZCBOQUNLIGludGVycnVwdHMgKi8KLSAgICAgIEkyQ19FbmFibGVfSVJRKGhpMmMsIEkyQ19YRkVSX0VSUk9SX0lUKTsKLQotICAgICAgLyogRW5hYmxlIERNQSBSZXF1ZXN0ICovCi0gICAgICBoaTJjLT5JbnN0YW5jZS0+Q1IxIHw9IEkyQ19DUjFfVFhETUFFTjsKKyAgICAgIC8qIEVuYWJsZSBFUlIsIFRDLCBTVE9QLCBOQUNLLCBUWEkgaW50ZXJydXB0ICovCisgICAgICAvKiBwb3NzaWJsZSB0byBlbmFibGUgYWxsIG9mIHRoZXNlICovCisgICAgICAvKiBJMkNfSVRfRVJSSSB8IEkyQ19JVF9UQ0kgfCBJMkNfSVRfU1RPUEkgfCBJMkNfSVRfTkFDS0kgfAorICAgICAgICBJMkNfSVRfQUREUkkgfCBJMkNfSVRfUlhJIHwgSTJDX0lUX1RYSSAqLworICAgICAgSTJDX0VuYWJsZV9JUlEoaGkyYywgSTJDX1hGRVJfVFhfSVQpOwogICAgIH0KICAgICBlbHNlCiAgICAgewpAQCAtMjk4MCw4ICsyOTU2LDYgQEAKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9JMkNfTWVtX1JlYWRfRE1BKEkyQ19IYW5kbGVUeXBlRGVmICpoaTJjLCB1aW50MTZfdCBEZXZBZGRyZXNzLCB1aW50MTZfdCBNZW1BZGRyZXNzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgTWVtQWRkU2l6ZSwgdWludDhfdCAqcERhdGEsIHVpbnQxNl90IFNpemUpCiB7Ci0gIHVpbnQzMl90IHRpY2tzdGFydDsKLSAgdWludDMyX3QgeGZlcm1vZGU7CiAgIEhBTF9TdGF0dXNUeXBlRGVmIGRtYXhmZXJzdGF0dXM7CiAKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KQEAgLTMwMDMsOSArMjk3Nyw2IEBACiAgICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KICAgICBfX0hBTF9MT0NLKGhpMmMpOwogCi0gICAgLyogSW5pdCB0aWNrc3RhcnQgZm9yIHRpbWVvdXQgbWFuYWdlbWVudCovCi0gICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKLQogICAgIGhpMmMtPlN0YXRlICAgICAgID0gSEFMX0kyQ19TVEFURV9CVVNZX1JYOwogICAgIGhpMmMtPk1vZGUgICAgICAgID0gSEFMX0kyQ19NT0RFX01FTTsKICAgICBoaTJjLT5FcnJvckNvZGUgICA9IEhBTF9JMkNfRVJST1JfTk9ORTsKQEAgLTMwMTQsMjUgKzI5ODUsMzUgQEAKICAgICBoaTJjLT5wQnVmZlB0ciAgICA9IHBEYXRhOwogICAgIGhpMmMtPlhmZXJDb3VudCAgID0gU2l6ZTsKICAgICBoaTJjLT5YZmVyT3B0aW9ucyA9IEkyQ19OT19PUFRJT05fRlJBTUU7Ci0gICAgaGkyYy0+WGZlcklTUiAgICAgPSBJMkNfTWFzdGVyX0lTUl9ETUE7CisgICAgaGkyYy0+WGZlcklTUiAgICAgPSBJMkNfTWVtX0lTUl9ETUE7CisgICAgaGkyYy0+RGV2YWRkcmVzcyAgPSBEZXZBZGRyZXNzOwogCiAgICAgaWYgKGhpMmMtPlhmZXJDb3VudCA+IE1BWF9OQllURV9TSVpFKQogICAgIHsKICAgICAgIGhpMmMtPlhmZXJTaXplID0gTUFYX05CWVRFX1NJWkU7Ci0gICAgICB4ZmVybW9kZSA9IEkyQ19SRUxPQURfTU9ERTsKICAgICB9CiAgICAgZWxzZQogICAgIHsKICAgICAgIGhpMmMtPlhmZXJTaXplID0gaGkyYy0+WGZlckNvdW50OwotICAgICAgeGZlcm1vZGUgPSBJMkNfQVVUT0VORF9NT0RFOwogICAgIH0KIAotICAgIC8qIFNlbmQgU2xhdmUgQWRkcmVzcyBhbmQgTWVtb3J5IEFkZHJlc3MgKi8KLSAgICBpZiAoSTJDX1JlcXVlc3RNZW1vcnlSZWFkKGhpMmMsIERldkFkZHJlc3MsIE1lbUFkZHJlc3MsIE1lbUFkZFNpemUsIEkyQ19USU1FT1VUX0ZMQUcsIHRpY2tzdGFydCkgIT0gSEFMX09LKQorICAgIC8qIElmIE1lbW9yeSBhZGRyZXNzIHNpemUgaXMgOEJpdCAqLworICAgIGlmIChNZW1BZGRTaXplID09IEkyQ19NRU1BRERfU0laRV84QklUKQogICAgIHsKLSAgICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgICAgIF9fSEFMX1VOTE9DSyhoaTJjKTsKLSAgICAgIHJldHVybiBIQUxfRVJST1I7CisgICAgICAvKiBQcmVmZXRjaCBNZW1vcnkgQWRkcmVzcyAqLworICAgICAgaGkyYy0+SW5zdGFuY2UtPlRYRFIgPSBJMkNfTUVNX0FERF9MU0IoTWVtQWRkcmVzcyk7CisKKyAgICAgIC8qIFJlc2V0IE1lbWFkZHJlc3MgY29udGVudCAqLworICAgICAgaGkyYy0+TWVtYWRkcmVzcyA9IDB4RkZGRkZGRkZVOworICAgIH0KKyAgICAvKiBJZiBNZW1vcnkgYWRkcmVzcyBzaXplIGlzIDE2Qml0ICovCisgICAgZWxzZQorICAgIHsKKyAgICAgIC8qIFByZWZldGNoIE1lbW9yeSBBZGRyZXNzIChNU0IgcGFydCwgTFNCIHdpbGwgYmUgbWFuYWdlIHRocm91Z2ggaW50ZXJydXB0KSAqLworICAgICAgaGkyYy0+SW5zdGFuY2UtPlRYRFIgPSBJMkNfTUVNX0FERF9NU0IoTWVtQWRkcmVzcyk7CisKKyAgICAgIC8qIFByZXBhcmUgTWVtYWRkcmVzcyBidWZmZXIgZm9yIExTQiBwYXJ0ICovCisgICAgICBoaTJjLT5NZW1hZGRyZXNzID0gSTJDX01FTV9BRERfTFNCKE1lbUFkZHJlc3MpOwogICAgIH0KIAogICAgIGlmIChoaTJjLT5oZG1hcnggIT0gTlVMTCkKQEAgLTMwNjgsMTEgKzMwNDksOCBAQAogCiAgICAgaWYgKGRtYXhmZXJzdGF0dXMgPT0gSEFMX09LKQogICAgIHsKLSAgICAgIC8qIFNldCBOQllURVMgdG8gd3JpdGUgYW5kIHJlbG9hZCBpZiBoaTJjLT5YZmVyQ291bnQgPiBNQVhfTkJZVEVfU0laRSBhbmQgZ2VuZXJhdGUgUkVTVEFSVCAqLwotICAgICAgSTJDX1RyYW5zZmVyQ29uZmlnKGhpMmMsIERldkFkZHJlc3MsICh1aW50OF90KWhpMmMtPlhmZXJTaXplLCB4ZmVybW9kZSwgSTJDX0dFTkVSQVRFX1NUQVJUX1JFQUQpOwotCi0gICAgICAvKiBVcGRhdGUgWGZlckNvdW50IHZhbHVlICovCi0gICAgICBoaTJjLT5YZmVyQ291bnQgLT0gaGkyYy0+WGZlclNpemU7CisgICAgICAvKiBTZW5kIFNsYXZlIEFkZHJlc3MgYW5kIE1lbW9yeSBBZGRyZXNzICovCisgICAgICBJMkNfVHJhbnNmZXJDb25maWcoaGkyYywgRGV2QWRkcmVzcywgKHVpbnQ4X3QpTWVtQWRkU2l6ZSwgSTJDX1NPRlRFTkRfTU9ERSwgSTJDX0dFTkVSQVRFX1NUQVJUX1dSSVRFKTsKIAogICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwogICAgICAgX19IQUxfVU5MT0NLKGhpMmMpOwpAQCAtMzA4MCwxMSArMzA1OCwxMSBAQAogICAgICAgLyogTm90ZSA6IFRoZSBJMkMgaW50ZXJydXB0cyBtdXN0IGJlIGVuYWJsZWQgYWZ0ZXIgdW5sb2NraW5nIGN1cnJlbnQgcHJvY2VzcwogICAgICAgICAgICAgICAgIHRvIGF2b2lkIHRoZSByaXNrIG9mIEkyQyBpbnRlcnJ1cHQgaGFuZGxlIGV4ZWN1dGlvbiBiZWZvcmUgY3VycmVudAogICAgICAgICAgICAgICAgIHByb2Nlc3MgdW5sb2NrICovCi0gICAgICAvKiBFbmFibGUgRVJSIGFuZCBOQUNLIGludGVycnVwdHMgKi8KLSAgICAgIEkyQ19FbmFibGVfSVJRKGhpMmMsIEkyQ19YRkVSX0VSUk9SX0lUKTsKLQotICAgICAgLyogRW5hYmxlIERNQSBSZXF1ZXN0ICovCi0gICAgICBoaTJjLT5JbnN0YW5jZS0+Q1IxIHw9IEkyQ19DUjFfUlhETUFFTjsKKyAgICAgIC8qIEVuYWJsZSBFUlIsIFRDLCBTVE9QLCBOQUNLLCBUWEkgaW50ZXJydXB0ICovCisgICAgICAvKiBwb3NzaWJsZSB0byBlbmFibGUgYWxsIG9mIHRoZXNlICovCisgICAgICAvKiBJMkNfSVRfRVJSSSB8IEkyQ19JVF9UQ0kgfCBJMkNfSVRfU1RPUEkgfCBJMkNfSVRfTkFDS0kgfAorICAgICAgICBJMkNfSVRfQUREUkkgfCBJMkNfSVRfUlhJIHwgSTJDX0lUX1RYSSAqLworICAgICAgSTJDX0VuYWJsZV9JUlEoaGkyYywgSTJDX1hGRVJfVFhfSVQpOwogICAgIH0KICAgICBlbHNlCiAgICAgewpAQCAtMzMyNyw2ICszMzA1LDEwIEBACiAgICAgLyogTm90ZSA6IFRoZSBJMkMgaW50ZXJydXB0cyBtdXN0IGJlIGVuYWJsZWQgYWZ0ZXIgdW5sb2NraW5nIGN1cnJlbnQgcHJvY2VzcwogICAgICAgICAgICAgICB0byBhdm9pZCB0aGUgcmlzayBvZiBJMkMgaW50ZXJydXB0IGhhbmRsZSBleGVjdXRpb24gYmVmb3JlIGN1cnJlbnQKICAgICAgICAgICAgICAgcHJvY2VzcyB1bmxvY2sgKi8KKyAgICAvKiBFbmFibGUgRVJSLCBUQywgU1RPUCwgTkFDSywgVFhJIGludGVycnVwdCAqLworICAgIC8qIHBvc3NpYmxlIHRvIGVuYWJsZSBhbGwgb2YgdGhlc2UgKi8KKyAgICAvKiBJMkNfSVRfRVJSSSB8IEkyQ19JVF9UQ0kgfCBJMkNfSVRfU1RPUEkgfCBJMkNfSVRfTkFDS0kgfAorICAgICAgIEkyQ19JVF9BRERSSSB8IEkyQ19JVF9SWEkgfCBJMkNfSVRfVFhJICovCiAgICAgSTJDX0VuYWJsZV9JUlEoaGkyYywgSTJDX1hGRVJfVFhfSVQpOwogCiAgICAgcmV0dXJuIEhBTF9PSzsKQEAgLTM3NzMsNiArMzc1NSw5IEBACiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfSTJDX1NsYXZlX1NlcV9UcmFuc21pdF9JVChJMkNfSGFuZGxlVHlwZURlZiAqaGkyYywgdWludDhfdCAqcERhdGEsIHVpbnQxNl90IFNpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBYZmVyT3B0aW9ucykKIHsKKyAgLyogRGVjbGFyYXRpb24gb2YgdG1wIHRvIHByZXZlbnQgdW5kZWZpbmVkIGJlaGF2aW9yIG9mIHZvbGF0aWxlIHVzYWdlICovCisgIEZsYWdTdGF0dXMgdG1wOworCiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19JMkNfVFJBTlNGRVJfT1BUSU9OU19SRVFVRVNUKFhmZXJPcHRpb25zKSk7CiAKQEAgLTM4MzIsNyArMzgxNyw4IEBACiAgICAgaGkyYy0+WGZlck9wdGlvbnMgPSBYZmVyT3B0aW9uczsKICAgICBoaTJjLT5YZmVySVNSICAgICA9IEkyQ19TbGF2ZV9JU1JfSVQ7CiAKLSAgICBpZiAoSTJDX0dFVF9ESVIoaGkyYykgPT0gSTJDX0RJUkVDVElPTl9SRUNFSVZFKQorICAgIHRtcCA9IF9fSEFMX0kyQ19HRVRfRkxBRyhoaTJjLCBJMkNfRkxBR19BRERSKTsKKyAgICBpZiAoKEkyQ19HRVRfRElSKGhpMmMpID09IEkyQ19ESVJFQ1RJT05fUkVDRUlWRSkgJiYgKHRtcCAhPSBSRVNFVCkpCiAgICAgewogICAgICAgLyogQ2xlYXIgQUREUiBmbGFnIGFmdGVyIHByZXBhcmUgdGhlIHRyYW5zZmVyIHBhcmFtZXRlcnMgKi8KICAgICAgIC8qIFRoaXMgYWN0aW9uIHdpbGwgZ2VuZXJhdGUgYW4gYWNrbm93bGVkZ2UgdG8gdGhlIE1hc3RlciAqLwpAQCAtMzg2OSw2ICszODU1LDggQEAKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9JMkNfU2xhdmVfU2VxX1RyYW5zbWl0X0RNQShJMkNfSGFuZGxlVHlwZURlZiAqaGkyYywgdWludDhfdCAqcERhdGEsIHVpbnQxNl90IFNpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgWGZlck9wdGlvbnMpCiB7CisgIC8qIERlY2xhcmF0aW9uIG9mIHRtcCB0byBwcmV2ZW50IHVuZGVmaW5lZCBiZWhhdmlvciBvZiB2b2xhdGlsZSB1c2FnZSAqLworICBGbGFnU3RhdHVzIHRtcDsKICAgSEFMX1N0YXR1c1R5cGVEZWYgZG1heGZlcnN0YXR1czsKIAogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwpAQCAtNDAxMCw3ICszOTk4LDggQEAKICAgICAgIHJldHVybiBIQUxfRVJST1I7CiAgICAgfQogCi0gICAgaWYgKEkyQ19HRVRfRElSKGhpMmMpID09IEkyQ19ESVJFQ1RJT05fUkVDRUlWRSkKKyAgICB0bXAgPSBfX0hBTF9JMkNfR0VUX0ZMQUcoaGkyYywgSTJDX0ZMQUdfQUREUik7CisgICAgaWYgKChJMkNfR0VUX0RJUihoaTJjKSA9PSBJMkNfRElSRUNUSU9OX1JFQ0VJVkUpICYmICh0bXAgIT0gUkVTRVQpKQogICAgIHsKICAgICAgIC8qIENsZWFyIEFERFIgZmxhZyBhZnRlciBwcmVwYXJlIHRoZSB0cmFuc2ZlciBwYXJhbWV0ZXJzICovCiAgICAgICAvKiBUaGlzIGFjdGlvbiB3aWxsIGdlbmVyYXRlIGFuIGFja25vd2xlZGdlIHRvIHRoZSBNYXN0ZXIgKi8KQEAgLTQwNTAsNiArNDAzOSw5IEBACiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfSTJDX1NsYXZlX1NlcV9SZWNlaXZlX0lUKEkyQ19IYW5kbGVUeXBlRGVmICpoaTJjLCB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgWGZlck9wdGlvbnMpCiB7CisgIC8qIERlY2xhcmF0aW9uIG9mIHRtcCB0byBwcmV2ZW50IHVuZGVmaW5lZCBiZWhhdmlvciBvZiB2b2xhdGlsZSB1c2FnZSAqLworICBGbGFnU3RhdHVzIHRtcDsKKwogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfSTJDX1RSQU5TRkVSX09QVElPTlNfUkVRVUVTVChYZmVyT3B0aW9ucykpOwogCkBAIC00MTA5LDcgKzQxMDEsOCBAQAogICAgIGhpMmMtPlhmZXJPcHRpb25zID0gWGZlck9wdGlvbnM7CiAgICAgaGkyYy0+WGZlcklTUiAgICAgPSBJMkNfU2xhdmVfSVNSX0lUOwogCi0gICAgaWYgKEkyQ19HRVRfRElSKGhpMmMpID09IEkyQ19ESVJFQ1RJT05fVFJBTlNNSVQpCisgICAgdG1wID0gX19IQUxfSTJDX0dFVF9GTEFHKGhpMmMsIEkyQ19GTEFHX0FERFIpOworICAgIGlmICgoSTJDX0dFVF9ESVIoaGkyYykgPT0gSTJDX0RJUkVDVElPTl9UUkFOU01JVCkgJiYgKHRtcCAhPSBSRVNFVCkpCiAgICAgewogICAgICAgLyogQ2xlYXIgQUREUiBmbGFnIGFmdGVyIHByZXBhcmUgdGhlIHRyYW5zZmVyIHBhcmFtZXRlcnMgKi8KICAgICAgIC8qIFRoaXMgYWN0aW9uIHdpbGwgZ2VuZXJhdGUgYW4gYWNrbm93bGVkZ2UgdG8gdGhlIE1hc3RlciAqLwpAQCAtNDE0Niw2ICs0MTM5LDggQEAKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9JMkNfU2xhdmVfU2VxX1JlY2VpdmVfRE1BKEkyQ19IYW5kbGVUeXBlRGVmICpoaTJjLCB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IFhmZXJPcHRpb25zKQogeworICAvKiBEZWNsYXJhdGlvbiBvZiB0bXAgdG8gcHJldmVudCB1bmRlZmluZWQgYmVoYXZpb3Igb2Ygdm9sYXRpbGUgdXNhZ2UgKi8KKyAgRmxhZ1N0YXR1cyB0bXA7CiAgIEhBTF9TdGF0dXNUeXBlRGVmIGRtYXhmZXJzdGF0dXM7CiAKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KQEAgLTQyODcsNyArNDI4Miw4IEBACiAgICAgICByZXR1cm4gSEFMX0VSUk9SOwogICAgIH0KIAotICAgIGlmIChJMkNfR0VUX0RJUihoaTJjKSA9PSBJMkNfRElSRUNUSU9OX1RSQU5TTUlUKQorICAgIHRtcCA9IF9fSEFMX0kyQ19HRVRfRkxBRyhoaTJjLCBJMkNfRkxBR19BRERSKTsKKyAgICBpZiAoKEkyQ19HRVRfRElSKGhpMmMpID09IEkyQ19ESVJFQ1RJT05fVFJBTlNNSVQpICYmICh0bXAgIT0gUkVTRVQpKQogICAgIHsKICAgICAgIC8qIENsZWFyIEFERFIgZmxhZyBhZnRlciBwcmVwYXJlIHRoZSB0cmFuc2ZlciBwYXJhbWV0ZXJzICovCiAgICAgICAvKiBUaGlzIGFjdGlvbiB3aWxsIGdlbmVyYXRlIGFuIGFja25vd2xlZGdlIHRvIHRoZSBNYXN0ZXIgKi8KQEAgLTQ4NzksNiArNDg3NSwxNDMgQEAKIH0KIAogLyoqCisgICogQGJyaWVmICBJbnRlcnJ1cHQgU3ViLVJvdXRpbmUgd2hpY2ggaGFuZGxlIHRoZSBJbnRlcnJ1cHQgRmxhZ3MgTWVtb3J5IE1vZGUgd2l0aCBJbnRlcnJ1cHQuCisgICogQHBhcmFtICBoaTJjIFBvaW50ZXIgdG8gYSBJMkNfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciB0aGUgc3BlY2lmaWVkIEkyQy4KKyAgKiBAcGFyYW0gIElURmxhZ3MgSW50ZXJydXB0IGZsYWdzIHRvIGhhbmRsZS4KKyAgKiBAcGFyYW0gIElUU291cmNlcyBJbnRlcnJ1cHQgc291cmNlcyBlbmFibGVkLgorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworc3RhdGljIEhBTF9TdGF0dXNUeXBlRGVmIEkyQ19NZW1fSVNSX0lUKHN0cnVjdCBfX0kyQ19IYW5kbGVUeXBlRGVmICpoaTJjLCB1aW50MzJfdCBJVEZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IElUU291cmNlcykKK3sKKyAgdWludDMyX3QgZGlyZWN0aW9uID0gSTJDX0dFTkVSQVRFX1NUQVJUX1dSSVRFOworICB1aW50MzJfdCB0bXBJVEZsYWdzID0gSVRGbGFnczsKKworICAvKiBQcm9jZXNzIExvY2tlZCAqLworICBfX0hBTF9MT0NLKGhpMmMpOworCisgIGlmICgoSTJDX0NIRUNLX0ZMQUcodG1wSVRGbGFncywgSTJDX0ZMQUdfQUYpICE9IFJFU0VUKSAmJiBcCisgICAgICAoSTJDX0NIRUNLX0lUX1NPVVJDRShJVFNvdXJjZXMsIEkyQ19JVF9OQUNLSSkgIT0gUkVTRVQpKQorICB7CisgICAgLyogQ2xlYXIgTkFDSyBGbGFnICovCisgICAgX19IQUxfSTJDX0NMRUFSX0ZMQUcoaGkyYywgSTJDX0ZMQUdfQUYpOworCisgICAgLyogU2V0IGNvcnJlc3BvbmRpbmcgRXJyb3IgQ29kZSAqLworICAgIC8qIE5vIG5lZWQgdG8gZ2VuZXJhdGUgU1RPUCwgaXQgaXMgYXV0b21hdGljYWxseSBkb25lICovCisgICAgLyogRXJyb3IgY2FsbGJhY2sgd2lsbCBiZSBzZW5kIGR1cmluZyBzdG9wIGZsYWcgdHJlYXRtZW50ICovCisgICAgaGkyYy0+RXJyb3JDb2RlIHw9IEhBTF9JMkNfRVJST1JfQUY7CisKKyAgICAvKiBGbHVzaCBUWCByZWdpc3RlciAqLworICAgIEkyQ19GbHVzaF9UWERSKGhpMmMpOworICB9CisgIGVsc2UgaWYgKChJMkNfQ0hFQ0tfRkxBRyh0bXBJVEZsYWdzLCBJMkNfRkxBR19SWE5FKSAhPSBSRVNFVCkgJiYgXAorICAgICAgICAgICAoSTJDX0NIRUNLX0lUX1NPVVJDRShJVFNvdXJjZXMsIEkyQ19JVF9SWEkpICE9IFJFU0VUKSkKKyAgeworICAgIC8qIFJlbW92ZSBSWE5FIGZsYWcgb24gdGVtcG9yYXJ5IHZhcmlhYmxlIGFzIHJlYWQgZG9uZSAqLworICAgIHRtcElURmxhZ3MgJj0gfkkyQ19GTEFHX1JYTkU7CisKKyAgICAvKiBSZWFkIGRhdGEgZnJvbSBSWERSICovCisgICAgKmhpMmMtPnBCdWZmUHRyID0gKHVpbnQ4X3QpaGkyYy0+SW5zdGFuY2UtPlJYRFI7CisKKyAgICAvKiBJbmNyZW1lbnQgQnVmZmVyIHBvaW50ZXIgKi8KKyAgICBoaTJjLT5wQnVmZlB0cisrOworCisgICAgaGkyYy0+WGZlclNpemUtLTsKKyAgICBoaTJjLT5YZmVyQ291bnQtLTsKKyAgfQorICBlbHNlIGlmICgoSTJDX0NIRUNLX0ZMQUcodG1wSVRGbGFncywgSTJDX0ZMQUdfVFhJUykgIT0gUkVTRVQpICYmIFwKKyAgICAgICAgICAgKEkyQ19DSEVDS19JVF9TT1VSQ0UoSVRTb3VyY2VzLCBJMkNfSVRfVFhJKSAhPSBSRVNFVCkpCisgIHsKKyAgICBpZiAoaGkyYy0+TWVtYWRkcmVzcyA9PSAweEZGRkZGRkZGVSkKKyAgICB7CisgICAgICAvKiBXcml0ZSBkYXRhIHRvIFRYRFIgKi8KKyAgICAgIGhpMmMtPkluc3RhbmNlLT5UWERSID0gKmhpMmMtPnBCdWZmUHRyOworCisgICAgICAvKiBJbmNyZW1lbnQgQnVmZmVyIHBvaW50ZXIgKi8KKyAgICAgIGhpMmMtPnBCdWZmUHRyKys7CisKKyAgICAgIGhpMmMtPlhmZXJTaXplLS07CisgICAgICBoaTJjLT5YZmVyQ291bnQtLTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgIC8qIFdyaXRlIExTQiBwYXJ0IG9mIE1lbW9yeSBBZGRyZXNzICovCisgICAgICBoaTJjLT5JbnN0YW5jZS0+VFhEUiA9IGhpMmMtPk1lbWFkZHJlc3M7CisKKyAgICAgIC8qIFJlc2V0IE1lbWFkZHJlc3MgY29udGVudCAqLworICAgICAgaGkyYy0+TWVtYWRkcmVzcyA9IDB4RkZGRkZGRkZVOworICAgIH0KKyAgfQorICBlbHNlIGlmICgoSTJDX0NIRUNLX0ZMQUcodG1wSVRGbGFncywgSTJDX0ZMQUdfVENSKSAhPSBSRVNFVCkgJiYgXAorICAgICAgICAgICAoSTJDX0NIRUNLX0lUX1NPVVJDRShJVFNvdXJjZXMsIEkyQ19JVF9UQ0kpICE9IFJFU0VUKSkKKyAgeworICAgIGlmICgoaGkyYy0+WGZlckNvdW50ICE9IDBVKSAmJiAoaGkyYy0+WGZlclNpemUgPT0gMFUpKQorICAgIHsKKyAgICAgIGlmIChoaTJjLT5YZmVyQ291bnQgPiBNQVhfTkJZVEVfU0laRSkKKyAgICAgIHsKKyAgICAgICAgaGkyYy0+WGZlclNpemUgPSBNQVhfTkJZVEVfU0laRTsKKyAgICAgICAgSTJDX1RyYW5zZmVyQ29uZmlnKGhpMmMsICh1aW50MTZfdCloaTJjLT5EZXZhZGRyZXNzLCAodWludDhfdCloaTJjLT5YZmVyU2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19SRUxPQURfTU9ERSwgSTJDX05PX1NUQVJUU1RPUCk7CisgICAgICB9CisgICAgICBlbHNlCisgICAgICB7CisgICAgICAgIGhpMmMtPlhmZXJTaXplID0gaGkyYy0+WGZlckNvdW50OworICAgICAgICBJMkNfVHJhbnNmZXJDb25maWcoaGkyYywgKHVpbnQxNl90KWhpMmMtPkRldmFkZHJlc3MsICh1aW50OF90KWhpMmMtPlhmZXJTaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0FVVE9FTkRfTU9ERSwgSTJDX05PX1NUQVJUU1RPUCk7CisgICAgICB9CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAvKiBXcm9uZyBzaXplIFN0YXR1cyByZWdhcmRpbmcgVENSIGZsYWcgZXZlbnQgKi8KKyAgICAgIC8qIENhbGwgdGhlIGNvcnJlc3BvbmRpbmcgY2FsbGJhY2sgdG8gaW5mb3JtIHVwcGVyIGxheWVyIG9mIEVuZCBvZiBUcmFuc2ZlciAqLworICAgICAgSTJDX0lURXJyb3IoaGkyYywgSEFMX0kyQ19FUlJPUl9TSVpFKTsKKyAgICB9CisgIH0KKyAgZWxzZSBpZiAoKEkyQ19DSEVDS19GTEFHKHRtcElURmxhZ3MsIEkyQ19GTEFHX1RDKSAhPSBSRVNFVCkgJiYgXAorICAgICAgICAgICAoSTJDX0NIRUNLX0lUX1NPVVJDRShJVFNvdXJjZXMsIEkyQ19JVF9UQ0kpICE9IFJFU0VUKSkKKyAgeworICAgIGlmIChoaTJjLT5TdGF0ZSA9PSBIQUxfSTJDX1NUQVRFX0JVU1lfUlgpCisgICAgeworICAgICAgZGlyZWN0aW9uID0gSTJDX0dFTkVSQVRFX1NUQVJUX1JFQUQ7CisgICAgfQorCisgICAgaWYgKGhpMmMtPlhmZXJDb3VudCA+IE1BWF9OQllURV9TSVpFKQorICAgIHsKKyAgICAgIGhpMmMtPlhmZXJTaXplID0gTUFYX05CWVRFX1NJWkU7CisKKyAgICAgIC8qIFNldCBOQllURVMgdG8gd3JpdGUgYW5kIHJlbG9hZCBpZiBoaTJjLT5YZmVyQ291bnQgPiBNQVhfTkJZVEVfU0laRSBhbmQgZ2VuZXJhdGUgUkVTVEFSVCAqLworICAgICAgSTJDX1RyYW5zZmVyQ29uZmlnKGhpMmMsICh1aW50MTZfdCloaTJjLT5EZXZhZGRyZXNzLCAodWludDhfdCloaTJjLT5YZmVyU2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfUkVMT0FEX01PREUsIGRpcmVjdGlvbik7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICBoaTJjLT5YZmVyU2l6ZSA9IGhpMmMtPlhmZXJDb3VudDsKKworICAgICAgLyogU2V0IE5CWVRFUyB0byB3cml0ZSBhbmQgZ2VuZXJhdGUgUkVTVEFSVCAqLworICAgICAgSTJDX1RyYW5zZmVyQ29uZmlnKGhpMmMsICh1aW50MTZfdCloaTJjLT5EZXZhZGRyZXNzLCAodWludDhfdCloaTJjLT5YZmVyU2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQVVUT0VORF9NT0RFLCBkaXJlY3Rpb24pOworICAgIH0KKyAgfQorICBlbHNlCisgIHsKKyAgICAvKiBOb3RoaW5nIHRvIGRvICovCisgIH0KKworICBpZiAoKEkyQ19DSEVDS19GTEFHKHRtcElURmxhZ3MsIEkyQ19GTEFHX1NUT1BGKSAhPSBSRVNFVCkgJiYgXAorICAgICAgKEkyQ19DSEVDS19JVF9TT1VSQ0UoSVRTb3VyY2VzLCBJMkNfSVRfU1RPUEkpICE9IFJFU0VUKSkKKyAgeworICAgIC8qIENhbGwgSTJDIE1hc3RlciBjb21wbGV0ZSBwcm9jZXNzICovCisgICAgSTJDX0lUTWFzdGVyQ3BsdChoaTJjLCB0bXBJVEZsYWdzKTsKKyAgfQorCisgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KKyAgX19IQUxfVU5MT0NLKGhpMmMpOworCisgIHJldHVybiBIQUxfT0s7Cit9CisKKy8qKgogICAqIEBicmllZiAgSW50ZXJydXB0IFN1Yi1Sb3V0aW5lIHdoaWNoIGhhbmRsZSB0aGUgSW50ZXJydXB0IEZsYWdzIFNsYXZlIE1vZGUgd2l0aCBJbnRlcnJ1cHQuCiAgICogQHBhcmFtICBoaTJjIFBvaW50ZXIgdG8gYSBJMkNfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciB0aGUgc3BlY2lmaWVkIEkyQy4KQEAgLTUxNjAsNiArNTI5MywxNDUgQEAKIH0KIAogLyoqCisgICogQGJyaWVmICBJbnRlcnJ1cHQgU3ViLVJvdXRpbmUgd2hpY2ggaGFuZGxlIHRoZSBJbnRlcnJ1cHQgRmxhZ3MgTWVtb3J5IE1vZGUgd2l0aCBETUEuCisgICogQHBhcmFtICBoaTJjIFBvaW50ZXIgdG8gYSBJMkNfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciB0aGUgc3BlY2lmaWVkIEkyQy4KKyAgKiBAcGFyYW0gIElURmxhZ3MgSW50ZXJydXB0IGZsYWdzIHRvIGhhbmRsZS4KKyAgKiBAcGFyYW0gIElUU291cmNlcyBJbnRlcnJ1cHQgc291cmNlcyBlbmFibGVkLgorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworc3RhdGljIEhBTF9TdGF0dXNUeXBlRGVmIEkyQ19NZW1fSVNSX0RNQShzdHJ1Y3QgX19JMkNfSGFuZGxlVHlwZURlZiAqaGkyYywgdWludDMyX3QgSVRGbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgSVRTb3VyY2VzKQoreworICB1aW50MzJfdCBkaXJlY3Rpb24gPSBJMkNfR0VORVJBVEVfU1RBUlRfV1JJVEU7CisKKyAgLyogUHJvY2VzcyBMb2NrZWQgKi8KKyAgX19IQUxfTE9DSyhoaTJjKTsKKworICBpZiAoKEkyQ19DSEVDS19GTEFHKElURmxhZ3MsIEkyQ19GTEFHX0FGKSAhPSBSRVNFVCkgJiYgXAorICAgICAgKEkyQ19DSEVDS19JVF9TT1VSQ0UoSVRTb3VyY2VzLCBJMkNfSVRfTkFDS0kpICE9IFJFU0VUKSkKKyAgeworICAgIC8qIENsZWFyIE5BQ0sgRmxhZyAqLworICAgIF9fSEFMX0kyQ19DTEVBUl9GTEFHKGhpMmMsIEkyQ19GTEFHX0FGKTsKKworICAgIC8qIFNldCBjb3JyZXNwb25kaW5nIEVycm9yIENvZGUgKi8KKyAgICBoaTJjLT5FcnJvckNvZGUgfD0gSEFMX0kyQ19FUlJPUl9BRjsKKworICAgIC8qIE5vIG5lZWQgdG8gZ2VuZXJhdGUgU1RPUCwgaXQgaXMgYXV0b21hdGljYWxseSBkb25lICovCisgICAgLyogQnV0IGVuYWJsZSBTVE9QIGludGVycnVwdCwgdG8gdHJlYXQgaXQgKi8KKyAgICAvKiBFcnJvciBjYWxsYmFjayB3aWxsIGJlIHNlbmQgZHVyaW5nIHN0b3AgZmxhZyB0cmVhdG1lbnQgKi8KKyAgICBJMkNfRW5hYmxlX0lSUShoaTJjLCBJMkNfWEZFUl9DUExUX0lUKTsKKworICAgIC8qIEZsdXNoIFRYIHJlZ2lzdGVyICovCisgICAgSTJDX0ZsdXNoX1RYRFIoaGkyYyk7CisgIH0KKyAgZWxzZSBpZiAoKEkyQ19DSEVDS19GTEFHKElURmxhZ3MsIEkyQ19GTEFHX1RYSVMpICE9IFJFU0VUKSAmJiBcCisgICAgICAgICAgIChJMkNfQ0hFQ0tfSVRfU09VUkNFKElUU291cmNlcywgSTJDX0lUX1RYSSkgIT0gUkVTRVQpKQorICB7CisgICAgLyogV3JpdGUgTFNCIHBhcnQgb2YgTWVtb3J5IEFkZHJlc3MgKi8KKyAgICBoaTJjLT5JbnN0YW5jZS0+VFhEUiA9IGhpMmMtPk1lbWFkZHJlc3M7CisKKyAgICAvKiBSZXNldCBNZW1hZGRyZXNzIGNvbnRlbnQgKi8KKyAgICBoaTJjLT5NZW1hZGRyZXNzID0gMHhGRkZGRkZGRlU7CisgIH0KKyAgZWxzZSBpZiAoKEkyQ19DSEVDS19GTEFHKElURmxhZ3MsIEkyQ19GTEFHX1RDUikgIT0gUkVTRVQpICYmIFwKKyAgICAgICAgICAgKEkyQ19DSEVDS19JVF9TT1VSQ0UoSVRTb3VyY2VzLCBJMkNfSVRfVENJKSAhPSBSRVNFVCkpCisgIHsKKyAgICAvKiBFbmFibGUgb25seSBFcnJvciBpbnRlcnJ1cHQgKi8KKyAgICBJMkNfRW5hYmxlX0lSUShoaTJjLCBJMkNfWEZFUl9FUlJPUl9JVCk7CisKKyAgICBpZiAoaGkyYy0+WGZlckNvdW50ICE9IDBVKQorICAgIHsKKyAgICAgIC8qIFByZXBhcmUgdGhlIG5ldyBYZmVyU2l6ZSB0byB0cmFuc2ZlciAqLworICAgICAgaWYgKGhpMmMtPlhmZXJDb3VudCA+IE1BWF9OQllURV9TSVpFKQorICAgICAgeworICAgICAgICBoaTJjLT5YZmVyU2l6ZSA9IE1BWF9OQllURV9TSVpFOworICAgICAgICBJMkNfVHJhbnNmZXJDb25maWcoaGkyYywgKHVpbnQxNl90KWhpMmMtPkRldmFkZHJlc3MsICh1aW50OF90KWhpMmMtPlhmZXJTaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1JFTE9BRF9NT0RFLCBJMkNfTk9fU1RBUlRTVE9QKTsKKyAgICAgIH0KKyAgICAgIGVsc2UKKyAgICAgIHsKKyAgICAgICAgaGkyYy0+WGZlclNpemUgPSBoaTJjLT5YZmVyQ291bnQ7CisgICAgICAgIEkyQ19UcmFuc2ZlckNvbmZpZyhoaTJjLCAodWludDE2X3QpaGkyYy0+RGV2YWRkcmVzcywgKHVpbnQ4X3QpaGkyYy0+WGZlclNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQVVUT0VORF9NT0RFLCBJMkNfTk9fU1RBUlRTVE9QKTsKKyAgICAgIH0KKworICAgICAgLyogVXBkYXRlIFhmZXJDb3VudCB2YWx1ZSAqLworICAgICAgaGkyYy0+WGZlckNvdW50IC09IGhpMmMtPlhmZXJTaXplOworCisgICAgICAvKiBFbmFibGUgRE1BIFJlcXVlc3QgKi8KKyAgICAgIGlmIChoaTJjLT5TdGF0ZSA9PSBIQUxfSTJDX1NUQVRFX0JVU1lfUlgpCisgICAgICB7CisgICAgICAgIGhpMmMtPkluc3RhbmNlLT5DUjEgfD0gSTJDX0NSMV9SWERNQUVOOworICAgICAgfQorICAgICAgZWxzZQorICAgICAgeworICAgICAgICBoaTJjLT5JbnN0YW5jZS0+Q1IxIHw9IEkyQ19DUjFfVFhETUFFTjsKKyAgICAgIH0KKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgIC8qIFdyb25nIHNpemUgU3RhdHVzIHJlZ2FyZGluZyBUQ1IgZmxhZyBldmVudCAqLworICAgICAgLyogQ2FsbCB0aGUgY29ycmVzcG9uZGluZyBjYWxsYmFjayB0byBpbmZvcm0gdXBwZXIgbGF5ZXIgb2YgRW5kIG9mIFRyYW5zZmVyICovCisgICAgICBJMkNfSVRFcnJvcihoaTJjLCBIQUxfSTJDX0VSUk9SX1NJWkUpOworICAgIH0KKyAgfQorICBlbHNlIGlmICgoSTJDX0NIRUNLX0ZMQUcoSVRGbGFncywgSTJDX0ZMQUdfVEMpICE9IFJFU0VUKSAmJiBcCisgICAgICAgICAgIChJMkNfQ0hFQ0tfSVRfU09VUkNFKElUU291cmNlcywgSTJDX0lUX1RDSSkgIT0gUkVTRVQpKQorICB7CisgICAgaWYgKGhpMmMtPlN0YXRlID09IEhBTF9JMkNfU1RBVEVfQlVTWV9SWCkKKyAgICB7CisgICAgICBkaXJlY3Rpb24gPSBJMkNfR0VORVJBVEVfU1RBUlRfUkVBRDsKKyAgICB9CisKKyAgICBpZiAoaGkyYy0+WGZlckNvdW50ID4gTUFYX05CWVRFX1NJWkUpCisgICAgeworICAgICAgaGkyYy0+WGZlclNpemUgPSBNQVhfTkJZVEVfU0laRTsKKworICAgICAgLyogU2V0IE5CWVRFUyB0byB3cml0ZSBhbmQgcmVsb2FkIGlmIGhpMmMtPlhmZXJDb3VudCA+IE1BWF9OQllURV9TSVpFIGFuZCBnZW5lcmF0ZSBSRVNUQVJUICovCisgICAgICBJMkNfVHJhbnNmZXJDb25maWcoaGkyYywgKHVpbnQxNl90KWhpMmMtPkRldmFkZHJlc3MsICh1aW50OF90KWhpMmMtPlhmZXJTaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19SRUxPQURfTU9ERSwgZGlyZWN0aW9uKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgIGhpMmMtPlhmZXJTaXplID0gaGkyYy0+WGZlckNvdW50OworCisgICAgICAvKiBTZXQgTkJZVEVTIHRvIHdyaXRlIGFuZCBnZW5lcmF0ZSBSRVNUQVJUICovCisgICAgICBJMkNfVHJhbnNmZXJDb25maWcoaGkyYywgKHVpbnQxNl90KWhpMmMtPkRldmFkZHJlc3MsICh1aW50OF90KWhpMmMtPlhmZXJTaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19BVVRPRU5EX01PREUsIGRpcmVjdGlvbik7CisgICAgfQorCisgICAgLyogVXBkYXRlIFhmZXJDb3VudCB2YWx1ZSAqLworICAgIGhpMmMtPlhmZXJDb3VudCAtPSBoaTJjLT5YZmVyU2l6ZTsKKworICAgIC8qIEVuYWJsZSBETUEgUmVxdWVzdCAqLworICAgIGlmIChoaTJjLT5TdGF0ZSA9PSBIQUxfSTJDX1NUQVRFX0JVU1lfUlgpCisgICAgeworICAgICAgaGkyYy0+SW5zdGFuY2UtPkNSMSB8PSBJMkNfQ1IxX1JYRE1BRU47CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICBoaTJjLT5JbnN0YW5jZS0+Q1IxIHw9IEkyQ19DUjFfVFhETUFFTjsKKyAgICB9CisgIH0KKyAgZWxzZSBpZiAoKEkyQ19DSEVDS19GTEFHKElURmxhZ3MsIEkyQ19GTEFHX1NUT1BGKSAhPSBSRVNFVCkgJiYgXAorICAgICAgICAgICAoSTJDX0NIRUNLX0lUX1NPVVJDRShJVFNvdXJjZXMsIEkyQ19JVF9TVE9QSSkgIT0gUkVTRVQpKQorICB7CisgICAgLyogQ2FsbCBJMkMgTWFzdGVyIGNvbXBsZXRlIHByb2Nlc3MgKi8KKyAgICBJMkNfSVRNYXN0ZXJDcGx0KGhpMmMsIElURmxhZ3MpOworICB9CisgIGVsc2UKKyAgeworICAgIC8qIE5vdGhpbmcgdG8gZG8gKi8KKyAgfQorCisgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KKyAgX19IQUxfVU5MT0NLKGhpMmMpOworCisgIHJldHVybiBIQUxfT0s7Cit9CisKKy8qKgogICAqIEBicmllZiAgSW50ZXJydXB0IFN1Yi1Sb3V0aW5lIHdoaWNoIGhhbmRsZSB0aGUgSW50ZXJydXB0IEZsYWdzIFNsYXZlIE1vZGUgd2l0aCBETUEuCiAgICogQHBhcmFtICBoaTJjIFBvaW50ZXIgdG8gYSBJMkNfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciB0aGUgc3BlY2lmaWVkIEkyQy4KQEAgLTY1OTYsMjQgKzY4NjgsMjEgQEAKICAgICAgICAgICB7CiAgICAgICAgICAgICAvKiBHZW5lcmF0ZSBTdG9wICovCiAgICAgICAgICAgICBoaTJjLT5JbnN0YW5jZS0+Q1IyIHw9IEkyQ19DUjJfU1RPUDsKLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICAvKiBVcGRhdGUgVGljayB3aXRoIG5ldyByZWZlcmVuY2UgKi8KICAgICAgICAgICAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CiAgICAgICAgICAgfQotICAgICAgICAgIAorCiAgICAgICAgICAgd2hpbGUgKF9fSEFMX0kyQ19HRVRfRkxBRyhoaTJjLCBJMkNfRkxBR19TVE9QRikgPT0gUkVTRVQpCiAgICAgICAgICAgewogICAgICAgICAgICAgLyogQ2hlY2sgZm9yIHRoZSBUaW1lb3V0ICovCiAgICAgICAgICAgICBpZiAoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQpID4gSTJDX1RJTUVPVVRfU1RPUEYpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgIGhpMmMtPkVycm9yQ29kZSB8PSBIQUxfSTJDX0VSUk9SX1RJTUVPVVQ7Ci0gICAgICAgICAgICAgIGhpMmMtPlN0YXRlID0gSEFMX0kyQ19TVEFURV9SRUFEWTsKLSAgICAgICAgICAgICAgaGkyYy0+TW9kZSA9IEhBTF9JMkNfTU9ERV9OT05FOwotICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwotICAgICAgICAgICAgICBfX0hBTF9VTkxPQ0soaGkyYyk7Ci0gICAgICAgICAgICAgIAorICAgICAgICAgICAgICBlcnJvcl9jb2RlIHw9SEFMX0kyQ19FUlJPUl9USU1FT1VUOworCiAgICAgICAgICAgICAgIHN0YXR1cyA9IEhBTF9FUlJPUjsKKworICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTY3MTcsMTQgKzY5ODYsMTQgQEAKIAogICAvKiBEZWNsYXJhdGlvbiBvZiB0bXAgdG8gcHJldmVudCB1bmRlZmluZWQgYmVoYXZpb3Igb2Ygdm9sYXRpbGUgdXNhZ2UgKi8KICAgdWludDMyX3QgdG1wID0gKCh1aW50MzJfdCkoKCh1aW50MzJfdClEZXZBZGRyZXNzICYgSTJDX0NSMl9TQUREKSB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCh1aW50MzJfdClTaXplIDw8IEkyQ19DUjJfTkJZVEVTX1BvcykgJiBJMkNfQ1IyX05CWVRFUykgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3QpTW9kZSB8ICh1aW50MzJfdClSZXF1ZXN0KSAmICh+MHg4MDAwMDAwMFUpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpU2l6ZSA8PCBJMkNfQ1IyX05CWVRFU19Qb3MpICYgSTJDX0NSMl9OQllURVMpIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3QpTW9kZSB8ICh1aW50MzJfdClSZXF1ZXN0KSAmICh+MHg4MDAwMDAwMFUpKTsKIAogICAvKiB1cGRhdGUgQ1IyIHJlZ2lzdGVyICovCiAgIE1PRElGWV9SRUcoaGkyYy0+SW5zdGFuY2UtPkNSMiwgXAogICAgICAgICAgICAgICgoSTJDX0NSMl9TQUREIHwgSTJDX0NSMl9OQllURVMgfCBJMkNfQ1IyX1JFTE9BRCB8IEkyQ19DUjJfQVVUT0VORCB8IFwKICAgICAgICAgICAgICAgIChJMkNfQ1IyX1JEX1dSTiAmICh1aW50MzJfdCkoUmVxdWVzdCA+PiAoMzFVIC0gSTJDX0NSMl9SRF9XUk5fUG9zKSkpIHwgXAotICAgICAgICAgICAgICAgIEkyQ19DUjJfU1RBUlQgfCBJMkNfQ1IyX1NUT1ApKSwgdG1wKTsKKyAgICAgICAgICAgICAgIEkyQ19DUjJfU1RBUlQgfCBJMkNfQ1IyX1NUT1ApKSwgdG1wKTsKIH0KIAogLyoqCkBAIC02Nzg1LDYgKzcwNTQsMTIgQEAKICAgICAgIHRtcGlzciB8PSBJMkNfSVRfRVJSSSB8IEkyQ19JVF9UQ0kgfCBJMkNfSVRfU1RPUEkgfCBJMkNfSVRfTkFDS0kgfCBJMkNfSVRfUlhJOwogICAgIH0KIAorICAgIGlmIChJbnRlcnJ1cHRSZXF1ZXN0ID09IEkyQ19YRkVSX0VSUk9SX0lUKQorICAgIHsKKyAgICAgIC8qIEVuYWJsZSBFUlIgYW5kIE5BQ0sgaW50ZXJydXB0cyAqLworICAgICAgdG1waXNyIHw9IEkyQ19JVF9FUlJJIHwgSTJDX0lUX05BQ0tJOworICAgIH0KKwogICAgIGlmIChJbnRlcnJ1cHRSZXF1ZXN0ID09IEkyQ19YRkVSX0NQTFRfSVQpCiAgICAgewogICAgICAgLyogRW5hYmxlIFNUT1AgaW50ZXJydXB0cyAqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjd4eF9oYWxfaXJkYS5jIGIvU3JjL3N0bTMyZjd4eF9oYWxfaXJkYS5jCmluZGV4IGQyY2NkMTYuLjIzMWE5YmQgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY3eHhfaGFsX2lyZGEuYworKysgYi9TcmMvc3RtMzJmN3h4X2hhbF9pcmRhLmMKQEAgLTEwNTEsMTQgKzEwNTEsMTQgQEAKICAgICBfX0hBTF9VTkxPQ0soaGlyZGEpOwogCiAgICAgaWYgKGhpcmRhLT5Jbml0LlBhcml0eSAhPSBJUkRBX1BBUklUWV9OT05FKQotICAgIHsgCi0gICAgICAvKiBFbmFibGUgdGhlIElSREEgUGFyaXR5IEVycm9yIGFuZCBEYXRhIFJlZ2lzdGVyIG5vdCBlbXB0eSBJbnRlcnJ1cHRzICovICAKKyAgICB7CisgICAgICAvKiBFbmFibGUgdGhlIElSREEgUGFyaXR5IEVycm9yIGFuZCBEYXRhIFJlZ2lzdGVyIG5vdCBlbXB0eSBJbnRlcnJ1cHRzICovCiAgICAgICBTRVRfQklUKGhpcmRhLT5JbnN0YW5jZS0+Q1IxLCBVU0FSVF9DUjFfUEVJRSB8IFVTQVJUX0NSMV9SWE5FSUUpOwogICAgIH0KICAgICBlbHNlCiAgICAgewotICAgICAvKiBFbmFibGUgdGhlIElSREEgRGF0YSBSZWdpc3RlciBub3QgZW1wdHkgSW50ZXJydXB0cyAqLyAKLSAgICAgU0VUX0JJVChoaXJkYS0+SW5zdGFuY2UtPkNSMSwgVVNBUlRfQ1IxX1JYTkVJRSk7IAorICAgICAgLyogRW5hYmxlIHRoZSBJUkRBIERhdGEgUmVnaXN0ZXIgbm90IGVtcHR5IEludGVycnVwdHMgKi8KKyAgICAgIFNFVF9CSVQoaGlyZGEtPkluc3RhbmNlLT5DUjEsIFVTQVJUX0NSMV9SWE5FSUUpOwogICAgIH0KIAogICAgIC8qIEVuYWJsZSB0aGUgSVJEQSBFcnJvciBJbnRlcnJ1cHQ6IChGcmFtZSBlcnJvciwgbm9pc2UgZXJyb3IsIG92ZXJydW4gZXJyb3IpICovCkBAIC0xMjk3LDcgKzEyOTcsNyBAQAogCiAgICAgLyogUmUtZW5hYmxlIFBFIGFuZCBFUlIgKEZyYW1lIGVycm9yLCBub2lzZSBlcnJvciwgb3ZlcnJ1biBlcnJvcikgaW50ZXJydXB0cyAqLwogICAgIGlmIChoaXJkYS0+SW5pdC5QYXJpdHkgIT0gSVJEQV9QQVJJVFlfTk9ORSkKLSAgICB7ICAgIAorICAgIHsKICAgICAgIFNFVF9CSVQoaGlyZGEtPkluc3RhbmNlLT5DUjEsIFVTQVJUX0NSMV9QRUlFKTsKICAgICB9CiAgICAgU0VUX0JJVChoaXJkYS0+SW5zdGFuY2UtPkNSMywgVVNBUlRfQ1IzX0VJRSk7CkBAIC0yMTg4LDcgKzIxODgsNyBAQAogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciB0aGUgc3BlY2lmaWVkIElSREEgbW9kdWxlLgogICAqIEByZXR2YWwgSEFMIHN0YXRlCiAgICovCi1IQUxfSVJEQV9TdGF0ZVR5cGVEZWYgSEFMX0lSREFfR2V0U3RhdGUoSVJEQV9IYW5kbGVUeXBlRGVmICpoaXJkYSkKK0hBTF9JUkRBX1N0YXRlVHlwZURlZiBIQUxfSVJEQV9HZXRTdGF0ZShjb25zdCBJUkRBX0hhbmRsZVR5cGVEZWYgKmhpcmRhKQogewogICAvKiBSZXR1cm4gSVJEQSBoYW5kbGUgc3RhdGUgKi8KICAgdWludDMyX3QgdGVtcDE7CkBAIC0yMjA1LDcgKzIyMDUsNyBAQAogICAqICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIHRoZSBzcGVjaWZpZWQgSVJEQSBtb2R1bGUuCiAgICogQHJldHZhbCBJUkRBIEVycm9yIENvZGUKICAgKi8KLXVpbnQzMl90IEhBTF9JUkRBX0dldEVycm9yKElSREFfSGFuZGxlVHlwZURlZiAqaGlyZGEpCit1aW50MzJfdCBIQUxfSVJEQV9HZXRFcnJvcihjb25zdCBJUkRBX0hhbmRsZVR5cGVEZWYgKmhpcmRhKQogewogICByZXR1cm4gaGlyZGEtPkVycm9yQ29kZTsKIH0KQEAgLTIzNDcsNiArMjM0NywxOCBAQAogICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOwogICAgIH0KICAgfQorI2lmIGRlZmluZWQoVVNBUlRfSVNSX1JFQUNLKQorICAvKiBDaGVjayBpZiB0aGUgUmVjZWl2ZXIgaXMgZW5hYmxlZCAqLworICBpZiAoKGhpcmRhLT5JbnN0YW5jZS0+Q1IxICYgVVNBUlRfQ1IxX1JFKSA9PSBVU0FSVF9DUjFfUkUpCisgIHsKKyAgICAvKiBXYWl0IHVudGlsIFJFQUNLIGZsYWcgaXMgc2V0ICovCisgICAgaWYgKElSREFfV2FpdE9uRmxhZ1VudGlsVGltZW91dChoaXJkYSwgVVNBUlRfSVNSX1JFQUNLLCBSRVNFVCwgdGlja3N0YXJ0LCBJUkRBX1RFQUNLX1JFQUNLX1RJTUVPVVQpICE9IEhBTF9PSykKKyAgICB7CisgICAgICAvKiBUaW1lb3V0IG9jY3VycmVkICovCisgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7CisgICAgfQorICB9CisjZW5kaWYgLyogVVNBUlRfSVNSX1JFQUNLICovCiAKICAgLyogSW5pdGlhbGl6ZSB0aGUgSVJEQSBzdGF0ZSovCiAgIGhpcmRhLT5nU3RhdGUgID0gSEFMX0lSREFfU1RBVEVfUkVBRFk7CmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmN3h4X2hhbF9scHRpbS5jIGIvU3JjL3N0bTMyZjd4eF9oYWxfbHB0aW0uYwppbmRleCA1MjBlMmVkLi40NGYxZjk4IDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmN3h4X2hhbF9scHRpbS5jCisrKyBiL1NyYy9zdG0zMmY3eHhfaGFsX2xwdGltLmMKQEAgLTQ0NCw3ICs0NDQsNyBAQAogICAqIEBicmllZiAgU3RhcnQgdGhlIExQVElNIFBXTSBnZW5lcmF0aW9uLgogICAqIEBwYXJhbSAgaGxwdGltIExQVElNIGhhbmRsZQogICAqIEBwYXJhbSAgUGVyaW9kIFNwZWNpZmllcyB0aGUgQXV0b3JlbG9hZCB2YWx1ZS4KLSAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSB2YWx1ZSBiZXR3ZWVuIDB4MDAwMCBhbmQgMHhGRkZGLgorICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIHZhbHVlIGJldHdlZW4gMHgwMDAxIGFuZCAweEZGRkYuCiAgICogQHBhcmFtICBQdWxzZSBTcGVjaWZpZXMgdGhlIGNvbXBhcmUgdmFsdWUuCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgdmFsdWUgYmV0d2VlbiAweDAwMDAgYW5kIDB4RkZGRi4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKQEAgLTQ5Miw3ICs0OTIsNyBAQAogICAvKiBTdGFydCB0aW1lciBpbiBjb250aW51b3VzIG1vZGUgKi8KICAgX19IQUxfTFBUSU1fU1RBUlRfQ09OVElOVU9VUyhobHB0aW0pOwogCi0gIC8qIENoYW5nZSB0aGUgVElNIHN0YXRlKi8KKyAgLyogQ2hhbmdlIHRoZSBMUFRJTSBzdGF0ZSAqLwogICBobHB0aW0tPlN0YXRlID0gSEFMX0xQVElNX1NUQVRFX1JFQURZOwogCiAgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KQEAgLTUwOSw3ICs1MDksNyBAQAogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfTFBUSU1fSU5TVEFOQ0UoaGxwdGltLT5JbnN0YW5jZSkpOwogCi0gIC8qIFNldCB0aGUgTFBUSU0gc3RhdGUgKi8KKyAgLyogQ2hhbmdlIHRoZSBMUFRJTSBzdGF0ZSAqLwogICBobHB0aW0tPlN0YXRlID0gSEFMX0xQVElNX1NUQVRFX0JVU1k7CiAKICAgLyogRGlzYWJsZSB0aGUgUGVyaXBoZXJhbCAqLwpAQCAtNTIwLDcgKzUyMCw3IEBACiAgICAgcmV0dXJuIEhBTF9USU1FT1VUOwogICB9CiAKLSAgLyogQ2hhbmdlIHRoZSBMUFRJTSBzdGF0ZSovCisgIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUgKi8KICAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9SRUFEWTsKIAogICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCkBAIC01MzEsNyArNTMxLDcgQEAKICAgKiBAYnJpZWYgIFN0YXJ0IHRoZSBMUFRJTSBQV00gZ2VuZXJhdGlvbiBpbiBpbnRlcnJ1cHQgbW9kZS4KICAgKiBAcGFyYW0gIGhscHRpbSBMUFRJTSBoYW5kbGUKICAgKiBAcGFyYW0gIFBlcmlvZCBTcGVjaWZpZXMgdGhlIEF1dG9yZWxvYWQgdmFsdWUuCi0gICogICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgdmFsdWUgYmV0d2VlbiAweDAwMDAgYW5kIDB4RkZGRgorICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIHZhbHVlIGJldHdlZW4gMHgwMDAxIGFuZCAweEZGRkYKICAgKiBAcGFyYW0gIFB1bHNlIFNwZWNpZmllcyB0aGUgY29tcGFyZSB2YWx1ZS4KICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSB2YWx1ZSBiZXR3ZWVuIDB4MDAwMCBhbmQgMHhGRkZGCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCkBAIC02MDksNyArNjA5LDcgQEAKICAgLyogU3RhcnQgdGltZXIgaW4gY29udGludW91cyBtb2RlICovCiAgIF9fSEFMX0xQVElNX1NUQVJUX0NPTlRJTlVPVVMoaGxwdGltKTsKIAotICAvKiBDaGFuZ2UgdGhlIFRJTSBzdGF0ZSovCisgIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUgKi8KICAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9SRUFEWTsKIAogICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCkBAIC02MjYsNyArNjI2LDcgQEAKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX0xQVElNX0lOU1RBTkNFKGhscHRpbS0+SW5zdGFuY2UpKTsKIAotICAvKiBTZXQgdGhlIExQVElNIHN0YXRlICovCisgIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUgKi8KICAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9CVVNZOwogCiAgIC8qIERpc2FibGUgdGhlIFBlcmlwaGVyYWwgKi8KQEAgLTY1Niw3ICs2NTYsNyBAQAogICAgIF9fSEFMX0xQVElNX0RJU0FCTEVfSVQoaGxwdGltLCBMUFRJTV9JVF9FWFRUUklHKTsKICAgfQogCi0gIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUqLworICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlICovCiAgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfUkVBRFk7CiAKICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwpAQCAtNjY3LDcgKzY2Nyw3IEBACiAgICogQGJyaWVmICBTdGFydCB0aGUgTFBUSU0gT25lIHB1bHNlIGdlbmVyYXRpb24uCiAgICogQHBhcmFtICBobHB0aW0gTFBUSU0gaGFuZGxlCiAgICogQHBhcmFtICBQZXJpb2QgU3BlY2lmaWVzIHRoZSBBdXRvcmVsb2FkIHZhbHVlLgotICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIHZhbHVlIGJldHdlZW4gMHgwMDAwIGFuZCAweEZGRkYuCisgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgdmFsdWUgYmV0d2VlbiAweDAwMDEgYW5kIDB4RkZGRi4KICAgKiBAcGFyYW0gIFB1bHNlIFNwZWNpZmllcyB0aGUgY29tcGFyZSB2YWx1ZS4KICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSB2YWx1ZSBiZXR3ZWVuIDB4MDAwMCBhbmQgMHhGRkZGLgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwpAQCAtNzE1LDcgKzcxNSw3IEBACiAgIC8qIFN0YXJ0IHRpbWVyIGluIHNpbmdsZSAob25lIHNob3QpIG1vZGUgKi8KICAgX19IQUxfTFBUSU1fU1RBUlRfU0lOR0xFKGhscHRpbSk7CiAKLSAgLyogQ2hhbmdlIHRoZSBUSU0gc3RhdGUqLworICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlICovCiAgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfUkVBRFk7CiAKICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwpAQCAtNzQzLDcgKzc0Myw3IEBACiAgICAgcmV0dXJuIEhBTF9USU1FT1VUOwogICB9CiAKLSAgLyogQ2hhbmdlIHRoZSBMUFRJTSBzdGF0ZSovCisgIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUgKi8KICAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9SRUFEWTsKIAogICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCkBAIC03NTQsNyArNzU0LDcgQEAKICAgKiBAYnJpZWYgIFN0YXJ0IHRoZSBMUFRJTSBPbmUgcHVsc2UgZ2VuZXJhdGlvbiBpbiBpbnRlcnJ1cHQgbW9kZS4KICAgKiBAcGFyYW0gIGhscHRpbSBMUFRJTSBoYW5kbGUKICAgKiBAcGFyYW0gIFBlcmlvZCBTcGVjaWZpZXMgdGhlIEF1dG9yZWxvYWQgdmFsdWUuCi0gICogICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgdmFsdWUgYmV0d2VlbiAweDAwMDAgYW5kIDB4RkZGRi4KKyAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSB2YWx1ZSBiZXR3ZWVuIDB4MDAwMSBhbmQgMHhGRkZGLgogICAqIEBwYXJhbSAgUHVsc2UgU3BlY2lmaWVzIHRoZSBjb21wYXJlIHZhbHVlLgogICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIHZhbHVlIGJldHdlZW4gMHgwMDAwIGFuZCAweEZGRkYuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCkBAIC04MzIsNyArODMyLDcgQEAKICAgLyogU3RhcnQgdGltZXIgaW4gc2luZ2xlIChvbmUgc2hvdCkgbW9kZSAqLwogICBfX0hBTF9MUFRJTV9TVEFSVF9TSU5HTEUoaGxwdGltKTsKIAotICAvKiBDaGFuZ2UgdGhlIFRJTSBzdGF0ZSovCisgIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUgKi8KICAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9SRUFEWTsKIAogICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCkBAIC04NTIsNiArODUyLDcgQEAKICAgLyogU2V0IHRoZSBMUFRJTSBzdGF0ZSAqLwogICBobHB0aW0tPlN0YXRlID0gSEFMX0xQVElNX1NUQVRFX0JVU1k7CiAKKwogICAvKiBEaXNhYmxlIHRoZSBQZXJpcGhlcmFsICovCiAgIF9fSEFMX0xQVElNX0RJU0FCTEUoaGxwdGltKTsKIApAQCAtODc5LDcgKzg4MCw3IEBACiAgICAgX19IQUxfTFBUSU1fRElTQUJMRV9JVChobHB0aW0sIExQVElNX0lUX0VYVFRSSUcpOwogICB9CiAKLSAgLyogQ2hhbmdlIHRoZSBMUFRJTSBzdGF0ZSovCisgIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUgKi8KICAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9SRUFEWTsKIAogICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCkBAIC04OTAsNyArODkxLDcgQEAKICAgKiBAYnJpZWYgIFN0YXJ0IHRoZSBMUFRJTSBpbiBTZXQgb25jZSBtb2RlLgogICAqIEBwYXJhbSAgaGxwdGltIExQVElNIGhhbmRsZQogICAqIEBwYXJhbSAgUGVyaW9kIFNwZWNpZmllcyB0aGUgQXV0b3JlbG9hZCB2YWx1ZS4KLSAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSB2YWx1ZSBiZXR3ZWVuIDB4MDAwMCBhbmQgMHhGRkZGLgorICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIHZhbHVlIGJldHdlZW4gMHgwMDAxIGFuZCAweEZGRkYuCiAgICogQHBhcmFtICBQdWxzZSBTcGVjaWZpZXMgdGhlIGNvbXBhcmUgdmFsdWUuCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgdmFsdWUgYmV0d2VlbiAweDAwMDAgYW5kIDB4RkZGRi4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKQEAgLTkzOCw3ICs5MzksNyBAQAogICAvKiBTdGFydCB0aW1lciBpbiBzaW5nbGUgKG9uZSBzaG90KSBtb2RlICovCiAgIF9fSEFMX0xQVElNX1NUQVJUX1NJTkdMRShobHB0aW0pOwogCi0gIC8qIENoYW5nZSB0aGUgVElNIHN0YXRlKi8KKyAgLyogQ2hhbmdlIHRoZSBMUFRJTSBzdGF0ZSAqLwogICBobHB0aW0tPlN0YXRlID0gSEFMX0xQVElNX1NUQVRFX1JFQURZOwogCiAgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KQEAgLTk2Niw3ICs5NjcsNyBAQAogICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgfQogCi0gIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUqLworICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlICovCiAgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfUkVBRFk7CiAKICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwpAQCAtMTA1NSw3ICsxMDU2LDcgQEAKICAgLyogU3RhcnQgdGltZXIgaW4gc2luZ2xlIChvbmUgc2hvdCkgbW9kZSAqLwogICBfX0hBTF9MUFRJTV9TVEFSVF9TSU5HTEUoaGxwdGltKTsKIAotICAvKiBDaGFuZ2UgdGhlIFRJTSBzdGF0ZSovCisgIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUgKi8KICAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9SRUFEWTsKIAogICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCkBAIC0xMTAyLDcgKzExMDMsNyBAQAogICAgIF9fSEFMX0xQVElNX0RJU0FCTEVfSVQoaGxwdGltLCBMUFRJTV9JVF9FWFRUUklHKTsKICAgfQogCi0gIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUqLworICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlICovCiAgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfUkVBRFk7CiAKICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwpAQCAtMTExMyw3ICsxMTE0LDcgQEAKICAgKiBAYnJpZWYgIFN0YXJ0IHRoZSBFbmNvZGVyIGludGVyZmFjZS4KICAgKiBAcGFyYW0gIGhscHRpbSBMUFRJTSBoYW5kbGUKICAgKiBAcGFyYW0gIFBlcmlvZCBTcGVjaWZpZXMgdGhlIEF1dG9yZWxvYWQgdmFsdWUuCi0gICogICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgdmFsdWUgYmV0d2VlbiAweDAwMDAgYW5kIDB4RkZGRi4KKyAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSB2YWx1ZSBiZXR3ZWVuIDB4MDAwMSBhbmQgMHhGRkZGLgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0xQVElNX0VuY29kZXJfU3RhcnQoTFBUSU1fSGFuZGxlVHlwZURlZiAqaGxwdGltLCB1aW50MzJfdCBQZXJpb2QpCkBAIC0xMTYzLDcgKzExNjQsNyBAQAogICAvKiBTdGFydCB0aW1lciBpbiBjb250aW51b3VzIG1vZGUgKi8KICAgX19IQUxfTFBUSU1fU1RBUlRfQ09OVElOVU9VUyhobHB0aW0pOwogCi0gIC8qIENoYW5nZSB0aGUgVElNIHN0YXRlKi8KKyAgLyogQ2hhbmdlIHRoZSBMUFRJTSBzdGF0ZSAqLwogICBobHB0aW0tPlN0YXRlID0gSEFMX0xQVElNX1NUQVRFX1JFQURZOwogCiAgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KQEAgLTExOTQsNyArMTE5NSw3IEBACiAgIC8qIFJlc2V0IEVOQyBiaXQgdG8gZGlzYWJsZSB0aGUgZW5jb2RlciBpbnRlcmZhY2UgKi8KICAgaGxwdGltLT5JbnN0YW5jZS0+Q0ZHUiAmPSB+TFBUSU1fQ0ZHUl9FTkM7CiAKLSAgLyogQ2hhbmdlIHRoZSBUSU0gc3RhdGUqLworICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlICovCiAgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfUkVBRFk7CiAKICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwpAQCAtMTI3Myw3ICsxMjc0LDcgQEAKICAgLyogU3RhcnQgdGltZXIgaW4gY29udGludW91cyBtb2RlICovCiAgIF9fSEFMX0xQVElNX1NUQVJUX0NPTlRJTlVPVVMoaGxwdGltKTsKIAotICAvKiBDaGFuZ2UgdGhlIFRJTSBzdGF0ZSovCisgIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUgKi8KICAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9SRUFEWTsKIAogICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCkBAIC0xMzEwLDcgKzEzMTEsNyBAQAogICAvKiBEaXNhYmxlICJzd2l0Y2ggdG8gdXAgZGlyZWN0aW9uIiBpbnRlcnJ1cHQgKi8KICAgX19IQUxfTFBUSU1fRElTQUJMRV9JVChobHB0aW0sIExQVElNX0lUX1VQKTsKIAotICAvKiBDaGFuZ2UgdGhlIFRJTSBzdGF0ZSovCisgIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUgKi8KICAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9SRUFEWTsKIAogICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCkBAIC0xMzIzLDcgKzEzMjQsNyBAQAogICAqICAgICAgICAgdHJpZ2dlciBldmVudCB3aWxsIHJlc2V0IHRoZSBjb3VudGVyIGFuZCB0aGUgdGltZXIgcmVzdGFydHMuCiAgICogQHBhcmFtICBobHB0aW0gTFBUSU0gaGFuZGxlCiAgICogQHBhcmFtICBQZXJpb2QgU3BlY2lmaWVzIHRoZSBBdXRvcmVsb2FkIHZhbHVlLgotICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIHZhbHVlIGJldHdlZW4gMHgwMDAwIGFuZCAweEZGRkYuCisgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgdmFsdWUgYmV0d2VlbiAweDAwMDEgYW5kIDB4RkZGRi4KICAgKiBAcGFyYW0gIFRpbWVvdXQgU3BlY2lmaWVzIHRoZSBUaW1lT3V0IHZhbHVlIHRvIHJlc2V0IHRoZSBjb3VudGVyLgogICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIHZhbHVlIGJldHdlZW4gMHgwMDAwIGFuZCAweEZGRkYuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCkBAIC0xMzcxLDcgKzEzNzIsNyBAQAogICAvKiBTdGFydCB0aW1lciBpbiBjb250aW51b3VzIG1vZGUgKi8KICAgX19IQUxfTFBUSU1fU1RBUlRfQ09OVElOVU9VUyhobHB0aW0pOwogCi0gIC8qIENoYW5nZSB0aGUgVElNIHN0YXRlKi8KKyAgLyogQ2hhbmdlIHRoZSBMUFRJTSBzdGF0ZSAqLwogICBobHB0aW0tPlN0YXRlID0gSEFMX0xQVElNX1NUQVRFX1JFQURZOwogCiAgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KQEAgLTE0MDIsNyArMTQwMyw3IEBACiAgIC8qIFJlc2V0IFRJTU9VVCBiaXQgdG8gZW5hYmxlIHRoZSB0aW1lb3V0IGZ1bmN0aW9uICovCiAgIGhscHRpbS0+SW5zdGFuY2UtPkNGR1IgJj0gfkxQVElNX0NGR1JfVElNT1VUOwogCi0gIC8qIENoYW5nZSB0aGUgVElNIHN0YXRlKi8KKyAgLyogQ2hhbmdlIHRoZSBMUFRJTSBzdGF0ZSAqLwogICBobHB0aW0tPlN0YXRlID0gSEFMX0xQVElNX1NUQVRFX1JFQURZOwogCiAgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KQEAgLTE0MTUsNyArMTQxNiw3IEBACiAgICogICAgICAgICB0cmlnZ2VyIGV2ZW50IHdpbGwgcmVzZXQgdGhlIGNvdW50ZXIgYW5kIHRoZSB0aW1lciByZXN0YXJ0cy4KICAgKiBAcGFyYW0gIGhscHRpbSBMUFRJTSBoYW5kbGUKICAgKiBAcGFyYW0gIFBlcmlvZCBTcGVjaWZpZXMgdGhlIEF1dG9yZWxvYWQgdmFsdWUuCi0gICogICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgdmFsdWUgYmV0d2VlbiAweDAwMDAgYW5kIDB4RkZGRi4KKyAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSB2YWx1ZSBiZXR3ZWVuIDB4MDAwMSBhbmQgMHhGRkZGLgogICAqIEBwYXJhbSAgVGltZW91dCBTcGVjaWZpZXMgdGhlIFRpbWVPdXQgdmFsdWUgdG8gcmVzZXQgdGhlIGNvdW50ZXIuCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgdmFsdWUgYmV0d2VlbiAweDAwMDAgYW5kIDB4RkZGRi4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKQEAgLTE0ODIsNyArMTQ4Myw3IEBACiAgIC8qIFN0YXJ0IHRpbWVyIGluIGNvbnRpbnVvdXMgbW9kZSAqLwogICBfX0hBTF9MUFRJTV9TVEFSVF9DT05USU5VT1VTKGhscHRpbSk7CiAKLSAgLyogQ2hhbmdlIHRoZSBUSU0gc3RhdGUqLworICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlICovCiAgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfUkVBRFk7CiAKICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwpAQCAtMTQ5OSwxNCArMTUwMCwxNSBAQAogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfTFBUSU1fSU5TVEFOQ0UoaGxwdGltLT5JbnN0YW5jZSkpOwogCi0gIC8qIFNldCB0aGUgTFBUSU0gc3RhdGUgKi8KLSAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9CVVNZOwogICAvKiBEaXNhYmxlIHJpc2luZyBlZGdlIHRyaWdnZXIgb24gdGhlIExQVElNIFdha2UtdXAgVGltZXIgRXh0aSBsaW5lICovCiAgIF9fSEFMX0xQVElNX1dBS0VVUFRJTUVSX0VYVElfRElTQUJMRV9SSVNJTkdfRURHRSgpOwogCiAgIC8qIERpc2FibGUgRVhUSSBMaW5lIGludGVycnVwdCBvbiB0aGUgTFBUSU0gV2FrZS11cCBUaW1lciAqLwogICBfX0hBTF9MUFRJTV9XQUtFVVBUSU1FUl9FWFRJX0RJU0FCTEVfSVQoKTsKIAorICAvKiBTZXQgdGhlIExQVElNIHN0YXRlICovCisgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfQlVTWTsKKwogICAvKiBEaXNhYmxlIHRoZSBQZXJpcGhlcmFsICovCiAgIF9fSEFMX0xQVElNX0RJU0FCTEUoaGxwdGltKTsKIApAQCAtMTUyMSw3ICsxNTIzLDcgQEAKICAgLyogRGlzYWJsZSBDb21wYXJlIG1hdGNoIGludGVycnVwdCAqLwogICBfX0hBTF9MUFRJTV9ESVNBQkxFX0lUKGhscHRpbSwgTFBUSU1fSVRfQ01QTSk7CiAKLSAgLyogQ2hhbmdlIHRoZSBUSU0gc3RhdGUqLworICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlICovCiAgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfUkVBRFk7CiAKICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwpAQCAtMTUzMiw3ICsxNTM0LDcgQEAKICAgKiBAYnJpZWYgIFN0YXJ0IHRoZSBDb3VudGVyIG1vZGUuCiAgICogQHBhcmFtICBobHB0aW0gTFBUSU0gaGFuZGxlCiAgICogQHBhcmFtICBQZXJpb2QgU3BlY2lmaWVzIHRoZSBBdXRvcmVsb2FkIHZhbHVlLgotICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIHZhbHVlIGJldHdlZW4gMHgwMDAwIGFuZCAweEZGRkYuCisgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgdmFsdWUgYmV0d2VlbiAweDAwMDEgYW5kIDB4RkZGRi4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9MUFRJTV9Db3VudGVyX1N0YXJ0KExQVElNX0hhbmRsZVR5cGVEZWYgKmhscHRpbSwgdWludDMyX3QgUGVyaW9kKQpAQCAtMTU3Miw3ICsxNTc0LDcgQEAKICAgLyogU3RhcnQgdGltZXIgaW4gY29udGludW91cyBtb2RlICovCiAgIF9fSEFMX0xQVElNX1NUQVJUX0NPTlRJTlVPVVMoaGxwdGltKTsKIAotICAvKiBDaGFuZ2UgdGhlIFRJTSBzdGF0ZSovCisgIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUgKi8KICAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9SRUFEWTsKIAogICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCkBAIC0xNjAwLDcgKzE2MDIsNyBAQAogICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgfQogCi0gIC8qIENoYW5nZSB0aGUgVElNIHN0YXRlKi8KKyAgLyogQ2hhbmdlIHRoZSBMUFRJTSBzdGF0ZSAqLwogICBobHB0aW0tPlN0YXRlID0gSEFMX0xQVElNX1NUQVRFX1JFQURZOwogCiAgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KQEAgLTE2MTEsNyArMTYxMyw3IEBACiAgICogQGJyaWVmICBTdGFydCB0aGUgQ291bnRlciBtb2RlIGluIGludGVycnVwdCBtb2RlLgogICAqIEBwYXJhbSAgaGxwdGltIExQVElNIGhhbmRsZQogICAqIEBwYXJhbSAgUGVyaW9kIFNwZWNpZmllcyB0aGUgQXV0b3JlbG9hZCB2YWx1ZS4KLSAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSB2YWx1ZSBiZXR3ZWVuIDB4MDAwMCBhbmQgMHhGRkZGLgorICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIHZhbHVlIGJldHdlZW4gMHgwMDAxIGFuZCAweEZGRkYuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfTFBUSU1fQ291bnRlcl9TdGFydF9JVChMUFRJTV9IYW5kbGVUeXBlRGVmICpobHB0aW0sIHVpbnQzMl90IFBlcmlvZCkKQEAgLTE2NzMsNyArMTY3NSw3IEBACiAgIC8qIFN0YXJ0IHRpbWVyIGluIGNvbnRpbnVvdXMgbW9kZSAqLwogICBfX0hBTF9MUFRJTV9TVEFSVF9DT05USU5VT1VTKGhscHRpbSk7CiAKLSAgLyogQ2hhbmdlIHRoZSBUSU0gc3RhdGUqLworICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlICovCiAgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfUkVBRFk7CiAKICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwpAQCAtMTY5MCwxNCArMTY5MiwxNSBAQAogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfTFBUSU1fSU5TVEFOQ0UoaGxwdGltLT5JbnN0YW5jZSkpOwogCi0gIC8qIFNldCB0aGUgTFBUSU0gc3RhdGUgKi8KLSAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9CVVNZOwogICAvKiBEaXNhYmxlIHJpc2luZyBlZGdlIHRyaWdnZXIgb24gdGhlIExQVElNIFdha2UtdXAgVGltZXIgRXh0aSBsaW5lICovCiAgIF9fSEFMX0xQVElNX1dBS0VVUFRJTUVSX0VYVElfRElTQUJMRV9SSVNJTkdfRURHRSgpOwogCiAgIC8qIERpc2FibGUgRVhUSSBMaW5lIGludGVycnVwdCBvbiB0aGUgTFBUSU0gV2FrZS11cCBUaW1lciAqLwogICBfX0hBTF9MUFRJTV9XQUtFVVBUSU1FUl9FWFRJX0RJU0FCTEVfSVQoKTsKIAorICAvKiBTZXQgdGhlIExQVElNIHN0YXRlICovCisgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfQlVTWTsKKwogICAvKiBEaXNhYmxlIHRoZSBQZXJpcGhlcmFsICovCiAgIF9fSEFMX0xQVElNX0RJU0FCTEUoaGxwdGltKTsKIApAQCAtMTcxMSw3ICsxNzE0LDcgQEAKIAogICAvKiBEaXNhYmxlIEF1dG9yZWxvYWQgbWF0Y2ggaW50ZXJydXB0ICovCiAgIF9fSEFMX0xQVElNX0RJU0FCTEVfSVQoaGxwdGltLCBMUFRJTV9JVF9BUlJNKTsKLSAgLyogQ2hhbmdlIHRoZSBUSU0gc3RhdGUqLworICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlICovCiAgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfUkVBRFk7CiAKICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjd4eF9oYWxfbHRkYy5jIGIvU3JjL3N0bTMyZjd4eF9oYWxfbHRkYy5jCmluZGV4IGViZjg5YmYuLmQwYzc2MmEgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY3eHhfaGFsX2x0ZGMuYworKysgYi9TcmMvc3RtMzJmN3h4X2hhbF9sdGRjLmMKQEAgLTUxNCw3ICs1MTQsNyBAQAogCiAvKioKICAgKiBAYnJpZWYgIFVucmVnaXN0ZXIgYW4gTFREQyBDYWxsYmFjawotICAqICAgICAgICAgTFREQyBjYWxsYWJjayBpcyByZWRpcmVjdGVkIHRvIHRoZSB3ZWFrIHByZWRlZmluZWQgY2FsbGJhY2sKKyAgKiAgICAgICAgIExUREMgY2FsbGJhY2sgaXMgcmVkaXJlY3RlZCB0byB0aGUgd2VhayBwcmVkZWZpbmVkIGNhbGxiYWNrCiAgICogQHBhcmFtIGhsdGRjIGx0ZGMgaGFuZGxlCiAgICogQHBhcmFtIENhbGxiYWNrSUQgSUQgb2YgdGhlIGNhbGxiYWNrIHRvIGJlIHVucmVnaXN0ZXJlZAogICAqICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjd4eF9oYWxfbW1jLmMgYi9TcmMvc3RtMzJmN3h4X2hhbF9tbWMuYwppbmRleCBlN2MwMDc0Li5kNDY4MTM2IDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmN3h4X2hhbF9tbWMuYworKysgYi9TcmMvc3RtMzJmN3h4X2hhbF9tbWMuYwpAQCAtNzQsNyArNzQsNyBAQAogICAgIFNETU1DIFBlcmlwaGVyYWwgKFNUTTMyIHNpZGUpIGFuZCB0aGUgTU1DIENhcmQsIGFuZCBwdXQgaXQgaW50byBTdGFuZEJ5IFN0YXRlIChSZWFkeSBmb3IgZGF0YSB0cmFuc2ZlcikuCiAgICAgVGhpcyBmdW5jdGlvbiBwcm92aWRlIHRoZSBmb2xsb3dpbmcgb3BlcmF0aW9uczoKIAotICAgICgjKSBJbml0aWFsaXplIHRoZSBTRE1NQyBwZXJpcGhlcmFsIGludGVyZmFjZSB3aXRoIGRlZmF1bGx0IGNvbmZpZ3VyYXRpb24uCisgICAgKCMpIEluaXRpYWxpemUgdGhlIFNETU1DIHBlcmlwaGVyYWwgaW50ZXJmYWNlIHdpdGggZGVmYXVsdCBjb25maWd1cmF0aW9uLgogICAgICAgICBUaGUgaW5pdGlhbGl6YXRpb24gcHJvY2VzcyBpcyBkb25lIGF0IDQwMEtIei4gWW91IGNhbiBjaGFuZ2Ugb3IgYWRhcHQKICAgICAgICAgdGhpcyBmcmVxdWVuY3kgYnkgYWRqdXN0aW5nIHRoZSAiQ2xvY2tEaXYiIGZpZWxkLgogICAgICAgICBUaGUgTU1DIENhcmQgZnJlcXVlbmN5IChTRE1NQ19DSykgaXMgY29tcHV0ZWQgYXMgZm9sbG93czoKQEAgLTI5NSw3ICsyOTUsNyBAQAogI2VuZGlmCiAKIC8qIEZyZXF1ZW5jaWVzIHVzZWQgaW4gdGhlIGRyaXZlciBmb3IgY2xvY2sgZGl2aWRlciBjYWxjdWxhdGlvbiAqLwotI2RlZmluZSBNTUNfSU5JVF9GUkVRICAgICAgICAgICAgICAgICAgIDQwMDAwMFUgICAvKiBJbml0YWxpemF0aW9uIHBoYXNlIDogNDAwIGtIeiBtYXggKi8KKyNkZWZpbmUgTU1DX0lOSVRfRlJFUSAgICAgICAgICAgICAgICAgICA0MDAwMDBVICAgLyogSW5pdGlhbGl6YXRpb24gcGhhc2UgOiA0MDAga0h6IG1heCAqLwogLyoqCiAgICogQH0KICAgKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY3eHhfaGFsX25vci5jIGIvU3JjL3N0bTMyZjd4eF9oYWxfbm9yLmMKaW5kZXggYzBmZmM3Ni4uYjQ2YTQ5MSAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjd4eF9oYWxfbm9yLmMKKysrIGIvU3JjL3N0bTMyZjd4eF9oYWxfbm9yLmMKQEAgLTIyOSw2ICsyMjksNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19OT1JTUkFNX1RpbWluZ1R5cGVEZWYgKkV4dFRpbWluZykKIHsKICAgdWludDMyX3QgZGV2aWNlYWRkcmVzczsKKyAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzID0gSEFMX09LOwogCiAgIC8qIENoZWNrIHRoZSBOT1IgaGFuZGxlIHBhcmFtZXRlciAqLwogICBpZiAoaG5vciA9PSBOVUxMKQpAQCAtMjk4LDExICsyOTksMjMgQEAKICAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1M0OwogICB9CiAKLSAgLyogR2V0IHRoZSB2YWx1ZSBvZiB0aGUgY29tbWFuZCBzZXQgKi8KLSAgTk9SX1dSSVRFKE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBOT1JfQ01EX0FERFJFU1NfRklSU1RfQ0ZJKSwgTk9SX0NNRF9EQVRBX0NGSSk7Ci0gIGhub3ItPkNvbW1hbmRTZXQgPSAqKF9fSU8gdWludDE2X3QgKikgTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIE5PUl9BRERSRVNTX0NPTU1BTkRfU0VUKTsKKyAgaWYgKGhub3ItPkluaXQuV3JpdGVPcGVyYXRpb24gPT0gRk1DX1dSSVRFX09QRVJBVElPTl9ESVNBQkxFKQorICB7CisgICAgKHZvaWQpRk1DX05PUlNSQU1fV3JpdGVPcGVyYXRpb25fRGlzYWJsZShobm9yLT5JbnN0YW5jZSwgaG5vci0+SW5pdC5OU0JhbmspOwogCi0gIHJldHVybiBIQUxfTk9SX1JldHVyblRvUmVhZE1vZGUoaG5vcik7CisgICAgLyogVXBkYXRlIHRoZSBOT1IgY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhub3ItPlN0YXRlID0gSEFMX05PUl9TVEFURV9QUk9URUNURUQ7CisgIH0KKyAgZWxzZQorICB7CisgICAgLyogR2V0IHRoZSB2YWx1ZSBvZiB0aGUgY29tbWFuZCBzZXQgKi8KKyAgICBOT1JfV1JJVEUoTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIE5PUl9DTURfQUREUkVTU19GSVJTVF9DRkkpLCBOT1JfQ01EX0RBVEFfQ0ZJKTsKKyAgICBobm9yLT5Db21tYW5kU2V0ID0gKihfX0lPIHVpbnQxNl90ICopIE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBOT1JfQUREUkVTU19DT01NQU5EX1NFVCk7CisKKyAgICBzdGF0dXMgPSBIQUxfTk9SX1JldHVyblRvUmVhZE1vZGUoaG5vcik7CisgIH0KKworICByZXR1cm4gc3RhdHVzOwogfQogCiAvKioKQEAgLTQyNSw3ICs0MzgsMTEgQEAKICAgewogICAgIHJldHVybiBIQUxfQlVTWTsKICAgfQotICBlbHNlIGlmICgoc3RhdGUgPT0gSEFMX05PUl9TVEFURV9SRUFEWSkgfHwgKHN0YXRlID09IEhBTF9OT1JfU1RBVEVfUFJPVEVDVEVEKSkKKyAgZWxzZSBpZiAoc3RhdGUgPT0gSEFMX05PUl9TVEFURV9QUk9URUNURUQpCisgIHsKKyAgICByZXR1cm4gSEFMX0VSUk9SOworICB9CisgIGVsc2UgaWYgKHN0YXRlID09IEhBTF9OT1JfU1RBVEVfUkVBRFkpCiAgIHsKICAgICAvKiBQcm9jZXNzIExvY2tlZCAqLwogICAgIF9fSEFMX0xPQ0soaG5vcik7CkBAIC01MTIsNyArNTI5LDExIEBACiAgIHsKICAgICByZXR1cm4gSEFMX0JVU1k7CiAgIH0KLSAgZWxzZSBpZiAoKHN0YXRlID09IEhBTF9OT1JfU1RBVEVfUkVBRFkpIHx8IChzdGF0ZSA9PSBIQUxfTk9SX1NUQVRFX1BST1RFQ1RFRCkpCisgIGVsc2UgaWYgKHN0YXRlID09IEhBTF9OT1JfU1RBVEVfUFJPVEVDVEVEKQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorICBlbHNlIGlmIChzdGF0ZSA9PSBIQUxfTk9SX1NUQVRFX1JFQURZKQogICB7CiAgICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KICAgICBfX0hBTF9MT0NLKGhub3IpOwpAQCAtNTg2LDcgKzYwNywxMSBAQAogICB7CiAgICAgcmV0dXJuIEhBTF9CVVNZOwogICB9Ci0gIGVsc2UgaWYgKChzdGF0ZSA9PSBIQUxfTk9SX1NUQVRFX1JFQURZKSB8fCAoc3RhdGUgPT0gSEFMX05PUl9TVEFURV9QUk9URUNURUQpKQorICBlbHNlIGlmIChzdGF0ZSA9PSBIQUxfTk9SX1NUQVRFX1BST1RFQ1RFRCkKKyAgeworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KKyAgZWxzZSBpZiAoc3RhdGUgPT0gSEFMX05PUl9TVEFURV9SRUFEWSkKICAgewogICAgIC8qIFByb2Nlc3MgTG9ja2VkICovCiAgICAgX19IQUxfTE9DSyhobm9yKTsKQEAgLTc1NSw3ICs3ODAsMTEgQEAKICAgewogICAgIHJldHVybiBIQUxfQlVTWTsKICAgfQotICBlbHNlIGlmICgoc3RhdGUgPT0gSEFMX05PUl9TVEFURV9SRUFEWSkgfHwgKHN0YXRlID09IEhBTF9OT1JfU1RBVEVfUFJPVEVDVEVEKSkKKyAgZWxzZSBpZiAoc3RhdGUgPT0gSEFMX05PUl9TVEFURV9QUk9URUNURUQpCisgIHsKKyAgICByZXR1cm4gSEFMX0VSUk9SOworICB9CisgIGVsc2UgaWYgKHN0YXRlID09IEhBTF9OT1JfU1RBVEVfUkVBRFkpCiAgIHsKICAgICAvKiBQcm9jZXNzIExvY2tlZCAqLwogICAgIF9fSEFMX0xPQ0soaG5vcik7CkBAIC0xMTE1LDcgKzExNDQsMTEgQEAKICAgewogICAgIHJldHVybiBIQUxfQlVTWTsKICAgfQotICBlbHNlIGlmICgoc3RhdGUgPT0gSEFMX05PUl9TVEFURV9SRUFEWSkgfHwgKHN0YXRlID09IEhBTF9OT1JfU1RBVEVfUFJPVEVDVEVEKSkKKyAgZWxzZSBpZiAoc3RhdGUgPT0gSEFMX05PUl9TVEFURV9QUk9URUNURUQpCisgIHsKKyAgICByZXR1cm4gSEFMX0VSUk9SOworICB9CisgIGVsc2UgaWYgKHN0YXRlID09IEhBTF9OT1JfU1RBVEVfUkVBRFkpCiAgIHsKICAgICAvKiBQcm9jZXNzIExvY2tlZCAqLwogICAgIF9fSEFMX0xPQ0soaG5vcik7CmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmN3h4X2hhbF9wY2QuYyBiL1NyYy9zdG0zMmY3eHhfaGFsX3BjZC5jCmluZGV4IDY1ZTk1YzkuLjYwM2E1N2UgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY3eHhfaGFsX3BjZC5jCisrKyBiL1NyYy9zdG0zMmY3eHhfaGFsX3BjZC5jCkBAIC00MjAsNyArNDIwLDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBVbnJlZ2lzdGVyIGFuIFVTQiBQQ0QgQ2FsbGJhY2sKLSAgKiAgICAgICAgIFVTQiBQQ0QgY2FsbGFiY2sgaXMgcmVkaXJlY3RlZCB0byB0aGUgd2VhayBwcmVkZWZpbmVkIGNhbGxiYWNrCisgICogICAgICAgICBVU0IgUENEIGNhbGxiYWNrIGlzIHJlZGlyZWN0ZWQgdG8gdGhlIHdlYWsgcHJlZGVmaW5lZCBjYWxsYmFjawogICAqIEBwYXJhbSAgaHBjZCBVU0IgUENEIGhhbmRsZQogICAqIEBwYXJhbSAgQ2FsbGJhY2tJRCBJRCBvZiB0aGUgY2FsbGJhY2sgdG8gYmUgdW5yZWdpc3RlcmVkCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgpAQCAtOTY3LDcgKzk2Nyw3IEBACiAgIHVpbnQzMl90IGVwaW50OwogICB1aW50MzJfdCBlcG51bTsKICAgdWludDMyX3QgZmlmb2VtcHR5bXNrOwotICB1aW50MzJfdCB0ZW1wOworICB1aW50MzJfdCBSZWdWYWw7CiAKICAgLyogZW5zdXJlIHRoYXQgd2UgYXJlIGluIGRldmljZSBtb2RlICovCiAgIGlmIChVU0JfR2V0TW9kZShocGNkLT5JbnN0YW5jZSkgPT0gVVNCX09UR19NT0RFX0RFVklDRSkKQEAgLTk3OCw2ICs5NzgsOSBAQAogICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIC8qIHN0b3JlIGN1cnJlbnQgZnJhbWUgbnVtYmVyICovCisgICAgaHBjZC0+RnJhbWVOdW1iZXIgPSAoVVNCeF9ERVZJQ0UtPkRTVFMgJiBVU0JfT1RHX0RTVFNfRk5TT0ZfTXNrKSA+PiBVU0JfT1RHX0RTVFNfRk5TT0ZfUG9zOworCiAgICAgaWYgKF9fSEFMX1BDRF9HRVRfRkxBRyhocGNkLCBVU0JfT1RHX0dJTlRTVFNfTU1JUykpCiAgICAgewogICAgICAgLyogaW5jb3JyZWN0IG1vZGUsIGFja25vd2xlZGdlIHRoZSBpbnRlcnJ1cHQgKi8KQEAgLTk4OSwyNSArOTkyLDI1IEBACiAgICAgewogICAgICAgVVNCX01BU0tfSU5URVJSVVBUKGhwY2QtPkluc3RhbmNlLCBVU0JfT1RHX0dJTlRTVFNfUlhGTFZMKTsKIAotICAgICAgdGVtcCA9IFVTQngtPkdSWFNUU1A7CisgICAgICBSZWdWYWwgPSBVU0J4LT5HUlhTVFNQOwogCi0gICAgICBlcCA9ICZocGNkLT5PVVRfZXBbdGVtcCAmIFVTQl9PVEdfR1JYU1RTUF9FUE5VTV07CisgICAgICBlcCA9ICZocGNkLT5PVVRfZXBbUmVnVmFsICYgVVNCX09UR19HUlhTVFNQX0VQTlVNXTsKIAotICAgICAgaWYgKCgodGVtcCAmIFVTQl9PVEdfR1JYU1RTUF9QS1RTVFMpID4+IDE3KSA9PSAgU1RTX0RBVEFfVVBEVCkKKyAgICAgIGlmICgoKFJlZ1ZhbCAmIFVTQl9PVEdfR1JYU1RTUF9QS1RTVFMpID4+IDE3KSA9PSAgU1RTX0RBVEFfVVBEVCkKICAgICAgIHsKLSAgICAgICAgaWYgKCh0ZW1wICYgVVNCX09UR19HUlhTVFNQX0JDTlQpICE9IDBVKQorICAgICAgICBpZiAoKFJlZ1ZhbCAmIFVTQl9PVEdfR1JYU1RTUF9CQ05UKSAhPSAwVSkKICAgICAgICAgewogICAgICAgICAgICh2b2lkKVVTQl9SZWFkUGFja2V0KFVTQngsIGVwLT54ZmVyX2J1ZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQxNl90KSgodGVtcCAmIFVTQl9PVEdfR1JYU1RTUF9CQ05UKSA+PiA0KSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQxNl90KSgoUmVnVmFsICYgVVNCX09UR19HUlhTVFNQX0JDTlQpID4+IDQpKTsKIAotICAgICAgICAgIGVwLT54ZmVyX2J1ZmYgKz0gKHRlbXAgJiBVU0JfT1RHX0dSWFNUU1BfQkNOVCkgPj4gNDsKLSAgICAgICAgICBlcC0+eGZlcl9jb3VudCArPSAodGVtcCAmIFVTQl9PVEdfR1JYU1RTUF9CQ05UKSA+PiA0OworICAgICAgICAgIGVwLT54ZmVyX2J1ZmYgKz0gKFJlZ1ZhbCAmIFVTQl9PVEdfR1JYU1RTUF9CQ05UKSA+PiA0OworICAgICAgICAgIGVwLT54ZmVyX2NvdW50ICs9IChSZWdWYWwgJiBVU0JfT1RHX0dSWFNUU1BfQkNOVCkgPj4gNDsKICAgICAgICAgfQogICAgICAgfQotICAgICAgZWxzZSBpZiAoKCh0ZW1wICYgVVNCX09UR19HUlhTVFNQX1BLVFNUUykgPj4gMTcpID09ICBTVFNfU0VUVVBfVVBEVCkKKyAgICAgIGVsc2UgaWYgKCgoUmVnVmFsICYgVVNCX09UR19HUlhTVFNQX1BLVFNUUykgPj4gMTcpID09IFNUU19TRVRVUF9VUERUKQogICAgICAgewogICAgICAgICAodm9pZClVU0JfUmVhZFBhY2tldChVU0J4LCAodWludDhfdCAqKWhwY2QtPlNldHVwLCA4VSk7Ci0gICAgICAgIGVwLT54ZmVyX2NvdW50ICs9ICh0ZW1wICYgVVNCX09UR19HUlhTVFNQX0JDTlQpID4+IDQ7CisgICAgICAgIGVwLT54ZmVyX2NvdW50ICs9IChSZWdWYWwgJiBVU0JfT1RHX0dSWFNUU1BfQkNOVCkgPj4gNDsKICAgICAgIH0KICAgICAgIGVsc2UKICAgICAgIHsKQEAgLTEwNDgsNiArMTA1MSwzMCBAQAogICAgICAgICAgICAgQ0xFQVJfT1VUX0VQX0lOVFIoZXBudW0sIFVTQl9PVEdfRE9FUElOVF9PVEVQRElTKTsKICAgICAgICAgICB9CiAKKyAgICAgICAgICAvKiBDbGVhciBPVVQgRW5kcG9pbnQgZGlzYWJsZSBpbnRlcnJ1cHQgKi8KKyAgICAgICAgICBpZiAoKGVwaW50ICYgVVNCX09UR19ET0VQSU5UX0VQRElTRCkgPT0gVVNCX09UR19ET0VQSU5UX0VQRElTRCkKKyAgICAgICAgICB7CisgICAgICAgICAgICBpZiAoKFVTQngtPkdJTlRTVFMgJiBVU0JfT1RHX0dJTlRTVFNfQk9VVE5BS0VGRikgPT0gVVNCX09UR19HSU5UU1RTX0JPVVROQUtFRkYpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIFVTQnhfREVWSUNFLT5EQ1RMIHw9IFVTQl9PVEdfRENUTF9DR09OQUs7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGVwID0gJmhwY2QtPk9VVF9lcFtlcG51bV07CisKKyAgICAgICAgICAgIGlmIChlcC0+aXNfaXNvX2luY29tcGxldGUgPT0gMVUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIGVwLT5pc19pc29faW5jb21wbGV0ZSA9IDBVOworCisjaWYgKFVTRV9IQUxfUENEX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxVSkKKyAgICAgICAgICAgICAgaHBjZC0+SVNPT1VUSW5jb21wbGV0ZUNhbGxiYWNrKGhwY2QsICh1aW50OF90KWVwbnVtKTsKKyNlbHNlCisgICAgICAgICAgICAgIEhBTF9QQ0RfSVNPT1VUSW5jb21wbGV0ZUNhbGxiYWNrKGhwY2QsICh1aW50OF90KWVwbnVtKTsKKyNlbmRpZiAvKiBVU0VfSEFMX1BDRF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgQ0xFQVJfT1VUX0VQX0lOVFIoZXBudW0sIFVTQl9PVEdfRE9FUElOVF9FUERJU0QpOworICAgICAgICAgIH0KKwogICAgICAgICAgIC8qIENsZWFyIFN0YXR1cyBQaGFzZSBSZWNlaXZlZCBpbnRlcnJ1cHQgKi8KICAgICAgICAgICBpZiAoKGVwaW50ICYgVVNCX09UR19ET0VQSU5UX09URVBTUFIpID09IFVTQl9PVEdfRE9FUElOVF9PVEVQU1BSKQogICAgICAgICAgIHsKQEAgLTExMTcsNiArMTE0NCwyMSBAQAogICAgICAgICAgIH0KICAgICAgICAgICBpZiAoKGVwaW50ICYgVVNCX09UR19ESUVQSU5UX0VQRElTRCkgPT0gVVNCX09UR19ESUVQSU5UX0VQRElTRCkKICAgICAgICAgICB7CisgICAgICAgICAgICAodm9pZClVU0JfRmx1c2hUeEZpZm8oVVNCeCwgZXBudW0pOworCisgICAgICAgICAgICBlcCA9ICZocGNkLT5JTl9lcFtlcG51bV07CisKKyAgICAgICAgICAgIGlmIChlcC0+aXNfaXNvX2luY29tcGxldGUgPT0gMVUpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIGVwLT5pc19pc29faW5jb21wbGV0ZSA9IDBVOworCisjaWYgKFVTRV9IQUxfUENEX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxVSkKKyAgICAgICAgICAgICAgaHBjZC0+SVNPSU5JbmNvbXBsZXRlQ2FsbGJhY2soaHBjZCwgKHVpbnQ4X3QpZXBudW0pOworI2Vsc2UKKyAgICAgICAgICAgICAgSEFMX1BDRF9JU09JTkluY29tcGxldGVDYWxsYmFjayhocGNkLCAodWludDhfdCllcG51bSk7CisjZW5kaWYgLyogVVNFX0hBTF9QQ0RfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIENMRUFSX0lOX0VQX0lOVFIoZXBudW0sIFVTQl9PVEdfRElFUElOVF9FUERJU0QpOwogICAgICAgICAgIH0KICAgICAgICAgICBpZiAoKGVwaW50ICYgVVNCX09UR19ESUVQSU5UX1RYRkUpID09IFVTQl9PVEdfRElFUElOVF9UWEZFKQpAQCAtMTI3OCwxOCArMTMyMCwzNyBAQAogICAgICAgX19IQUxfUENEX0NMRUFSX0ZMQUcoaHBjZCwgVVNCX09UR19HSU5UU1RTX1NPRik7CiAgICAgfQogCisgICAgLyogSGFuZGxlIEdsb2JhbCBPVVQgTkFLIGVmZmVjdGl2ZSBJbnRlcnJ1cHQgKi8KKyAgICBpZiAoX19IQUxfUENEX0dFVF9GTEFHKGhwY2QsIFVTQl9PVEdfR0lOVFNUU19CT1VUTkFLRUZGKSkKKyAgICB7CisgICAgICBVU0J4LT5HSU5UTVNLICY9IH5VU0JfT1RHX0dJTlRNU0tfR09OQUtFRkZNOworCisgICAgICBmb3IgKGVwbnVtID0gMVU7IGVwbnVtIDwgaHBjZC0+SW5pdC5kZXZfZW5kcG9pbnRzOyBlcG51bSsrKQorICAgICAgeworICAgICAgICBpZiAoaHBjZC0+T1VUX2VwW2VwbnVtXS5pc19pc29faW5jb21wbGV0ZSA9PSAxVSkKKyAgICAgICAgeworICAgICAgICAgIC8qIEFib3J0IGN1cnJlbnQgdHJhbnNhY3Rpb24gYW5kIGRpc2FibGUgdGhlIEVQICovCisgICAgICAgICAgKHZvaWQpSEFMX1BDRF9FUF9BYm9ydChocGNkLCAodWludDhfdCllcG51bSk7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9CisKICAgICAvKiBIYW5kbGUgSW5jb21wbGV0ZSBJU08gSU4gSW50ZXJydXB0ICovCiAgICAgaWYgKF9fSEFMX1BDRF9HRVRfRkxBRyhocGNkLCBVU0JfT1RHX0dJTlRTVFNfSUlTT0lYRlIpKQogICAgIHsKLSAgICAgIC8qIEtlZXAgYXBwbGljYXRpb24gY2hlY2tpbmcgdGhlIGNvcnJlc3BvbmRpbmcgSXNvIElOIGVuZHBvaW50Ci0gICAgICBjYXVzaW5nIHRoZSBpbmNvbXBsZXRlIEludGVycnVwdCAqLwotICAgICAgZXBudW0gPSAwVTsKKyAgICAgIGZvciAoZXBudW0gPSAxVTsgZXBudW0gPCBocGNkLT5Jbml0LmRldl9lbmRwb2ludHM7IGVwbnVtKyspCisgICAgICB7CisgICAgICAgIFJlZ1ZhbCA9IFVTQnhfSU5FUChlcG51bSktPkRJRVBDVEw7CiAKLSNpZiAoVVNFX0hBTF9QQ0RfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDFVKQotICAgICAgaHBjZC0+SVNPSU5JbmNvbXBsZXRlQ2FsbGJhY2soaHBjZCwgKHVpbnQ4X3QpZXBudW0pOwotI2Vsc2UKLSAgICAgIEhBTF9QQ0RfSVNPSU5JbmNvbXBsZXRlQ2FsbGJhY2soaHBjZCwgKHVpbnQ4X3QpZXBudW0pOwotI2VuZGlmIC8qIFVTRV9IQUxfUENEX1JFR0lTVEVSX0NBTExCQUNLUyAqLworICAgICAgICBpZiAoKGhwY2QtPklOX2VwW2VwbnVtXS50eXBlID09IEVQX1RZUEVfSVNPQykgJiYKKyAgICAgICAgICAgICgoUmVnVmFsICYgVVNCX09UR19ESUVQQ1RMX0VQRU5BKSA9PSBVU0JfT1RHX0RJRVBDVExfRVBFTkEpKQorICAgICAgICB7CisgICAgICAgICAgaHBjZC0+SU5fZXBbZXBudW1dLmlzX2lzb19pbmNvbXBsZXRlID0gMVU7CisKKyAgICAgICAgICAvKiBBYm9ydCBjdXJyZW50IHRyYW5zYWN0aW9uIGFuZCBkaXNhYmxlIHRoZSBFUCAqLworICAgICAgICAgICh2b2lkKUhBTF9QQ0RfRVBfQWJvcnQoaHBjZCwgKHVpbnQ4X3QpKGVwbnVtIHwgMHg4MFUpKTsKKyAgICAgICAgfQorICAgICAgfQogCiAgICAgICBfX0hBTF9QQ0RfQ0xFQVJfRkxBRyhocGNkLCBVU0JfT1RHX0dJTlRTVFNfSUlTT0lYRlIpOwogICAgIH0KQEAgLTEyOTcsMTUgKzEzNTgsMjUgQEAKICAgICAvKiBIYW5kbGUgSW5jb21wbGV0ZSBJU08gT1VUIEludGVycnVwdCAqLwogICAgIGlmIChfX0hBTF9QQ0RfR0VUX0ZMQUcoaHBjZCwgVVNCX09UR19HSU5UU1RTX1BYRlJfSU5DT01QSVNPT1VUKSkKICAgICB7Ci0gICAgICAvKiBLZWVwIGFwcGxpY2F0aW9uIGNoZWNraW5nIHRoZSBjb3JyZXNwb25kaW5nIElzbyBPVVQgZW5kcG9pbnQKLSAgICAgIGNhdXNpbmcgdGhlIGluY29tcGxldGUgSW50ZXJydXB0ICovCi0gICAgICBlcG51bSA9IDBVOworICAgICAgZm9yIChlcG51bSA9IDFVOyBlcG51bSA8IGhwY2QtPkluaXQuZGV2X2VuZHBvaW50czsgZXBudW0rKykKKyAgICAgIHsKKyAgICAgICAgUmVnVmFsID0gVVNCeF9PVVRFUChlcG51bSktPkRPRVBDVEw7CiAKLSNpZiAoVVNFX0hBTF9QQ0RfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDFVKQotICAgICAgaHBjZC0+SVNPT1VUSW5jb21wbGV0ZUNhbGxiYWNrKGhwY2QsICh1aW50OF90KWVwbnVtKTsKLSNlbHNlCi0gICAgICBIQUxfUENEX0lTT09VVEluY29tcGxldGVDYWxsYmFjayhocGNkLCAodWludDhfdCllcG51bSk7Ci0jZW5kaWYgLyogVVNFX0hBTF9QQ0RfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisgICAgICAgIGlmICgoaHBjZC0+T1VUX2VwW2VwbnVtXS50eXBlID09IEVQX1RZUEVfSVNPQykgJiYKKyAgICAgICAgICAgICgoUmVnVmFsICYgVVNCX09UR19ET0VQQ1RMX0VQRU5BKSA9PSBVU0JfT1RHX0RPRVBDVExfRVBFTkEpICYmCisgICAgICAgICAgICAoKFJlZ1ZhbCAmICgweDFVIDw8IDE2KSkgPT0gKGhwY2QtPkZyYW1lTnVtYmVyICYgMHgxVSkpKQorICAgICAgICB7CisgICAgICAgICAgaHBjZC0+T1VUX2VwW2VwbnVtXS5pc19pc29faW5jb21wbGV0ZSA9IDFVOworCisgICAgICAgICAgVVNCeC0+R0lOVE1TSyB8PSBVU0JfT1RHX0dJTlRNU0tfR09OQUtFRkZNOworCisgICAgICAgICAgaWYgKChVU0J4LT5HSU5UU1RTICYgVVNCX09UR19HSU5UU1RTX0JPVVROQUtFRkYpID09IDBVKQorICAgICAgICAgIHsKKyAgICAgICAgICAgIFVTQnhfREVWSUNFLT5EQ1RMIHw9IFVTQl9PVEdfRENUTF9TR09OQUs7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KIAogICAgICAgX19IQUxfUENEX0NMRUFSX0ZMQUcoaHBjZCwgVVNCX09UR19HSU5UU1RTX1BYRlJfSU5DT01QSVNPT1VUKTsKICAgICB9CkBAIC0xMzI1LDkgKzEzOTYsOSBAQAogICAgIC8qIEhhbmRsZSBEaXNjb25uZWN0aW9uIGV2ZW50IEludGVycnVwdCAqLwogICAgIGlmIChfX0hBTF9QQ0RfR0VUX0ZMQUcoaHBjZCwgVVNCX09UR19HSU5UU1RTX09UR0lOVCkpCiAgICAgewotICAgICAgdGVtcCA9IGhwY2QtPkluc3RhbmNlLT5HT1RHSU5UOworICAgICAgUmVnVmFsID0gaHBjZC0+SW5zdGFuY2UtPkdPVEdJTlQ7CiAKLSAgICAgIGlmICgodGVtcCAmIFVTQl9PVEdfR09UR0lOVF9TRURFVCkgPT0gVVNCX09UR19HT1RHSU5UX1NFREVUKQorICAgICAgaWYgKChSZWdWYWwgJiBVU0JfT1RHX0dPVEdJTlRfU0VERVQpID09IFVTQl9PVEdfR09UR0lOVF9TRURFVCkKICAgICAgIHsKICNpZiAoVVNFX0hBTF9QQ0RfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDFVKQogICAgICAgICBocGNkLT5EaXNjb25uZWN0Q2FsbGJhY2soaHBjZCk7CkBAIC0xMzM1LDcgKzE0MDYsNyBAQAogICAgICAgICBIQUxfUENEX0Rpc2Nvbm5lY3RDYWxsYmFjayhocGNkKTsKICNlbmRpZiAvKiBVU0VfSEFMX1BDRF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KICAgICAgIH0KLSAgICAgIGhwY2QtPkluc3RhbmNlLT5HT1RHSU5UIHw9IHRlbXA7CisgICAgICBocGNkLT5JbnN0YW5jZS0+R09UR0lOVCB8PSBSZWdWYWw7CiAgICAgfQogICB9CiB9CkBAIC0xODQyLDYgKzE5MTMsMzIgQEAKIH0KIAogLyoqCisgICAqIEBicmllZiAgQWJvcnQgYW4gVVNCIEVQIHRyYW5zYWN0aW9uLgorICAgKiBAcGFyYW0gIGhwY2QgUENEIGhhbmRsZQorICAgKiBAcGFyYW0gIGVwX2FkZHIgZW5kcG9pbnQgYWRkcmVzcworICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgICovCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUENEX0VQX0Fib3J0KFBDRF9IYW5kbGVUeXBlRGVmICpocGNkLCB1aW50OF90IGVwX2FkZHIpCit7CisgIEhBTF9TdGF0dXNUeXBlRGVmIHJldDsKKyAgUENEX0VQVHlwZURlZiAqZXA7CisKKyAgaWYgKCgweDgwVSAmIGVwX2FkZHIpID09IDB4ODBVKQorICB7CisgICAgZXAgPSAmaHBjZC0+SU5fZXBbZXBfYWRkciAmIEVQX0FERFJfTVNLXTsKKyAgfQorICBlbHNlCisgIHsKKyAgICBlcCA9ICZocGNkLT5PVVRfZXBbZXBfYWRkciAmIEVQX0FERFJfTVNLXTsKKyAgfQorCisgIC8qIFN0b3AgWGZlciAqLworICByZXQgPSBVU0JfRVBTdG9wWGZlcihocGNkLT5JbnN0YW5jZSwgZXApOworCisgIHJldHVybiByZXQ7Cit9CisKKy8qKgogICAqIEBicmllZiAgRmx1c2ggYW4gZW5kcG9pbnQKICAgKiBAcGFyYW0gIGhwY2QgUENEIGhhbmRsZQogICAqIEBwYXJhbSAgZXBfYWRkciBlbmRwb2ludCBhZGRyZXNzCkBAIC0xOTE3LDcgKzIwMTQsNyBAQAogLyoqCiAgICogQGJyaWVmICBTZXQgdGhlIFVTQiBEZXZpY2UgaGlnaCBzcGVlZCB0ZXN0IG1vZGUuCiAgICogQHBhcmFtICBocGNkIFBDRCBoYW5kbGUKLSAgKiBAcGFyYW0gIGFkZHJlc3MgdGVzdCBtb2RlCisgICogQHBhcmFtICB0ZXN0bW9kZSBVU0IgRGV2aWNlIGhpZ2ggc3BlZWQgdGVzdCBtb2RlCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUENEX1NldFRlc3RNb2RlKFBDRF9IYW5kbGVUeXBlRGVmICpocGNkLCB1aW50OF90IHRlc3Rtb2RlKQpAQCAtMTkzMiw3ICsyMDI5LDcgQEAKICAgICBjYXNlIFRFU1RfU0UwX05BSzoKICAgICBjYXNlIFRFU1RfUEFDS0VUOgogICAgIGNhc2UgVEVTVF9GT1JDRV9FTjoKLSAgICAgIFVTQnhfREVWSUNFLT5EQ1RMIHw9IHRlc3Rtb2RlIDw8IDQ7CisgICAgICBVU0J4X0RFVklDRS0+RENUTCB8PSAodWludDMyX3QpdGVzdG1vZGUgPDwgNDsKICAgICAgIGJyZWFrOwogCiAgICAgZGVmYXVsdDoKZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY3eHhfaGFsX3FzcGkuYyBiL1NyYy9zdG0zMmY3eHhfaGFsX3FzcGkuYwppbmRleCBhMjhiNGYyLi43ZDNkYWRlIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmN3h4X2hhbF9xc3BpLmMKKysrIGIvU3JjL3N0bTMyZjd4eF9oYWxfcXNwaS5jCkBAIC0xMjIsNyArMTIyLDcgQEAKICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgWy4uXQogICAgICAgKCMpIEhBTF9RU1BJX0dldEVycm9yKCkgZnVuY3Rpb24gZ2l2ZXMgdGhlIGVycm9yIHJhaXNlZCBkdXJpbmcgdGhlIGxhc3Qgb3BlcmF0aW9uLgotICAgICAgKCMpIEhBTF9RU1BJX0Fib3J0KCkgYW5kIEhBTF9RU1BJX0Fib3J0SVQoKSBmdW5jdGlvbnMgYWJvcnRzIGFueSBvbi1nb2luZyBvcGVyYXRpb24gYW5kCisgICAgICAoIykgSEFMX1FTUElfQWJvcnQoKSBhbmQgSEFMX1FTUElfQWJvcnRfSVQoKSBmdW5jdGlvbnMgYWJvcnRzIGFueSBvbi1nb2luZyBvcGVyYXRpb24gYW5kCiAgICAgICAgICAgZmx1c2hlcyB0aGUgZmlmbyA6CiAgICAgICAgICAoKyspIEluIHBvbGxpbmcgbW9kZSwgdGhlIG91dHB1dCBvZiB0aGUgZnVuY3Rpb24gaXMgZG9uZSB3aGVuIHRoZSB0cmFuc2ZlcgogICAgICAgICAgICAgICBjb21wbGV0ZSBiaXQgaXMgc2V0IGFuZCB0aGUgYnVzeSBiaXQgY2xlYXJlZC4KQEAgLTI4Niw3ICsyODYsNyBAQAogLyoqCiAgICogQGJyaWVmIEluaXRpYWxpemUgdGhlIFFTUEkgbW9kZSBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmllZCBwYXJhbWV0ZXJzCiAgICogICAgICAgIGluIHRoZSBRU1BJX0luaXRUeXBlRGVmIGFuZCBpbml0aWFsaXplIHRoZSBhc3NvY2lhdGVkIGhhbmRsZS4KLSAgKiBAcGFyYW0gaHFzcGkgOiBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSBocXNwaSBRU1BJIGhhbmRsZQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1FTUElfSW5pdChRU1BJX0hhbmRsZVR5cGVEZWYgKmhxc3BpKQpAQCAtMzg3LDcgKzM4Nyw3IEBACiAKIC8qKgogICAqIEBicmllZiBEZS1Jbml0aWFsaXplIHRoZSBRU1BJIHBlcmlwaGVyYWwuCi0gICogQHBhcmFtIGhxc3BpIDogUVNQSSBoYW5kbGUKKyAgKiBAcGFyYW0gaHFzcGkgUVNQSSBoYW5kbGUKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9RU1BJX0RlSW5pdChRU1BJX0hhbmRsZVR5cGVEZWYgKmhxc3BpKQpAQCAtNDI4LDcgKzQyOCw3IEBACiAKIC8qKgogICAqIEBicmllZiBJbml0aWFsaXplIHRoZSBRU1BJIE1TUC4KLSAgKiBAcGFyYW0gaHFzcGkgOiBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSBocXNwaSBRU1BJIGhhbmRsZQogICAqIEByZXR2YWwgTm9uZQogICAqLwogX193ZWFrIHZvaWQgSEFMX1FTUElfTXNwSW5pdChRU1BJX0hhbmRsZVR5cGVEZWYgKmhxc3BpKQpAQCAtNDQzLDcgKzQ0Myw3IEBACiAKIC8qKgogICAqIEBicmllZiBEZUluaXRpYWxpemUgdGhlIFFTUEkgTVNQLgotICAqIEBwYXJhbSBocXNwaSA6IFFTUEkgaGFuZGxlCisgICogQHBhcmFtIGhxc3BpIFFTUEkgaGFuZGxlCiAgICogQHJldHZhbCBOb25lCiAgICovCiBfX3dlYWsgdm9pZCBIQUxfUVNQSV9Nc3BEZUluaXQoUVNQSV9IYW5kbGVUeXBlRGVmICpocXNwaSkKQEAgLTQ4Miw3ICs0ODIsNyBAQAogCiAvKioKICAgKiBAYnJpZWYgSGFuZGxlIFFTUEkgaW50ZXJydXB0IHJlcXVlc3QuCi0gICogQHBhcmFtIGhxc3BpIDogUVNQSSBoYW5kbGUKKyAgKiBAcGFyYW0gaHFzcGkgUVNQSSBoYW5kbGUKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIHZvaWQgSEFMX1FTUElfSVJRSGFuZGxlcihRU1BJX0hhbmRsZVR5cGVEZWYgKmhxc3BpKQpAQCAtNzc2LDkgKzc3Niw5IEBACiAKIC8qKgogICAqIEBicmllZiBTZXQgdGhlIGNvbW1hbmQgY29uZmlndXJhdGlvbi4KLSAgKiBAcGFyYW0gaHFzcGkgOiBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSBocXNwaSBRU1BJIGhhbmRsZQogICAqIEBwYXJhbSBjbWQgOiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucyB0aGUgY29tbWFuZCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uCi0gICogQHBhcmFtIFRpbWVvdXQgOiBUaW1lb3V0IGR1cmF0aW9uCisgICogQHBhcmFtIFRpbWVvdXQgVGltZW91dCBkdXJhdGlvbgogICAqIEBub3RlICAgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIG9ubHkgaW4gSW5kaXJlY3QgUmVhZCBvciBXcml0ZSBNb2RlcwogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwpAQCAtODY2LDggKzg2Niw4IEBACiAKIC8qKgogICAqIEBicmllZiBTZXQgdGhlIGNvbW1hbmQgY29uZmlndXJhdGlvbiBpbiBpbnRlcnJ1cHQgbW9kZS4KLSAgKiBAcGFyYW0gaHFzcGkgOiBRU1BJIGhhbmRsZQotICAqIEBwYXJhbSBjbWQgOiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucyB0aGUgY29tbWFuZCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uCisgICogQHBhcmFtIGhxc3BpIFFTUEkgaGFuZGxlCisgICogQHBhcmFtIGNtZCBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucyB0aGUgY29tbWFuZCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uCiAgICogQG5vdGUgICBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgb25seSBpbiBJbmRpcmVjdCBSZWFkIG9yIFdyaXRlIE1vZGVzCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCkBAIC05NjQsOSArOTY0LDkgQEAKIAogLyoqCiAgICogQGJyaWVmIFRyYW5zbWl0IGFuIGFtb3VudCBvZiBkYXRhIGluIGJsb2NraW5nIG1vZGUuCi0gICogQHBhcmFtIGhxc3BpIDogUVNQSSBoYW5kbGUKLSAgKiBAcGFyYW0gcERhdGEgOiBwb2ludGVyIHRvIGRhdGEgYnVmZmVyCi0gICogQHBhcmFtIFRpbWVvdXQgOiBUaW1lb3V0IGR1cmF0aW9uCisgICogQHBhcmFtIGhxc3BpIFFTUEkgaGFuZGxlCisgICogQHBhcmFtIHBEYXRhIHBvaW50ZXIgdG8gZGF0YSBidWZmZXIKKyAgKiBAcGFyYW0gVGltZW91dCBUaW1lb3V0IGR1cmF0aW9uCiAgICogQG5vdGUgICBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgb25seSBpbiBJbmRpcmVjdCBXcml0ZSBNb2RlCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCkBAIC0xMDUxLDkgKzEwNTEsOSBAQAogCiAvKioKICAgKiBAYnJpZWYgUmVjZWl2ZSBhbiBhbW91bnQgb2YgZGF0YSBpbiBibG9ja2luZyBtb2RlLgotICAqIEBwYXJhbSBocXNwaSA6IFFTUEkgaGFuZGxlCi0gICogQHBhcmFtIHBEYXRhIDogcG9pbnRlciB0byBkYXRhIGJ1ZmZlcgotICAqIEBwYXJhbSBUaW1lb3V0IDogVGltZW91dCBkdXJhdGlvbgorICAqIEBwYXJhbSBocXNwaSBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSBwRGF0YSBwb2ludGVyIHRvIGRhdGEgYnVmZmVyCisgICogQHBhcmFtIFRpbWVvdXQgVGltZW91dCBkdXJhdGlvbgogICAqIEBub3RlICAgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIG9ubHkgaW4gSW5kaXJlY3QgUmVhZCBNb2RlCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCkBAIC0xMTQxLDggKzExNDEsOCBAQAogCiAvKioKICAgKiBAYnJpZWYgIFNlbmQgYW4gYW1vdW50IG9mIGRhdGEgaW4gbm9uLWJsb2NraW5nIG1vZGUgd2l0aCBpbnRlcnJ1cHQuCi0gICogQHBhcmFtICBocXNwaSA6IFFTUEkgaGFuZGxlCi0gICogQHBhcmFtICBwRGF0YSA6IHBvaW50ZXIgdG8gZGF0YSBidWZmZXIKKyAgKiBAcGFyYW0gIGhxc3BpIFFTUEkgaGFuZGxlCisgICogQHBhcmFtICBwRGF0YSBwb2ludGVyIHRvIGRhdGEgYnVmZmVyCiAgICogQG5vdGUgICBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgb25seSBpbiBJbmRpcmVjdCBXcml0ZSBNb2RlCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCkBAIC0xMjAxLDggKzEyMDEsOCBAQAogCiAvKioKICAgKiBAYnJpZWYgIFJlY2VpdmUgYW4gYW1vdW50IG9mIGRhdGEgaW4gbm9uLWJsb2NraW5nIG1vZGUgd2l0aCBpbnRlcnJ1cHQuCi0gICogQHBhcmFtICBocXNwaSA6IFFTUEkgaGFuZGxlCi0gICogQHBhcmFtICBwRGF0YSA6IHBvaW50ZXIgdG8gZGF0YSBidWZmZXIKKyAgKiBAcGFyYW0gIGhxc3BpIFFTUEkgaGFuZGxlCisgICogQHBhcmFtICBwRGF0YSBwb2ludGVyIHRvIGRhdGEgYnVmZmVyCiAgICogQG5vdGUgICBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgb25seSBpbiBJbmRpcmVjdCBSZWFkIE1vZGUKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KQEAgLTEyNjUsOCArMTI2NSw4IEBACiAKIC8qKgogICAqIEBicmllZiAgU2VuZCBhbiBhbW91bnQgb2YgZGF0YSBpbiBub24tYmxvY2tpbmcgbW9kZSB3aXRoIERNQS4KLSAgKiBAcGFyYW0gIGhxc3BpIDogUVNQSSBoYW5kbGUKLSAgKiBAcGFyYW0gIHBEYXRhIDogcG9pbnRlciB0byBkYXRhIGJ1ZmZlcgorICAqIEBwYXJhbSAgaHFzcGkgUVNQSSBoYW5kbGUKKyAgKiBAcGFyYW0gIHBEYXRhIHBvaW50ZXIgdG8gZGF0YSBidWZmZXIKICAgKiBAbm90ZSAgIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBvbmx5IGluIEluZGlyZWN0IFdyaXRlIE1vZGUKICAgKiBAbm90ZSAgIElmIERNQSBwZXJpcGhlcmFsIGFjY2VzcyBpcyBjb25maWd1cmVkIGFzIGhhbGZ3b3JkLCB0aGUgbnVtYmVyCiAgICogICAgICAgICBvZiBkYXRhIGFuZCB0aGUgZmlmbyB0aHJlc2hvbGQgc2hvdWxkIGJlIGFsaWduZWQgb24gaGFsZndvcmQKQEAgLTE0MDksOCArMTQwOSw4IEBACiAKIC8qKgogICAqIEBicmllZiAgUmVjZWl2ZSBhbiBhbW91bnQgb2YgZGF0YSBpbiBub24tYmxvY2tpbmcgbW9kZSB3aXRoIERNQS4KLSAgKiBAcGFyYW0gIGhxc3BpIDogUVNQSSBoYW5kbGUKLSAgKiBAcGFyYW0gIHBEYXRhIDogcG9pbnRlciB0byBkYXRhIGJ1ZmZlci4KKyAgKiBAcGFyYW0gIGhxc3BpIFFTUEkgaGFuZGxlCisgICogQHBhcmFtICBwRGF0YSBwb2ludGVyIHRvIGRhdGEgYnVmZmVyLgogICAqIEBub3RlICAgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIG9ubHkgaW4gSW5kaXJlY3QgUmVhZCBNb2RlCiAgICogQG5vdGUgICBJZiBETUEgcGVyaXBoZXJhbCBhY2Nlc3MgaXMgY29uZmlndXJlZCBhcyBoYWxmd29yZCwgdGhlIG51bWJlcgogICAqICAgICAgICAgb2YgZGF0YSBhbmQgdGhlIGZpZm8gdGhyZXNob2xkIHNob3VsZCBiZSBhbGlnbmVkIG9uIGhhbGZ3b3JkCkBAIC0xNTU3LDEwICsxNTU3LDEwIEBACiAKIC8qKgogICAqIEBicmllZiAgQ29uZmlndXJlIHRoZSBRU1BJIEF1dG9tYXRpYyBQb2xsaW5nIE1vZGUgaW4gYmxvY2tpbmcgbW9kZS4KLSAgKiBAcGFyYW0gIGhxc3BpIDogUVNQSSBoYW5kbGUKLSAgKiBAcGFyYW0gIGNtZCA6IHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zIHRoZSBjb21tYW5kIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24uCi0gICogQHBhcmFtICBjZmcgOiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucyB0aGUgcG9sbGluZyBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLgotICAqIEBwYXJhbSAgVGltZW91dCA6IFRpbWVvdXQgZHVyYXRpb24KKyAgKiBAcGFyYW0gIGhxc3BpIFFTUEkgaGFuZGxlCisgICogQHBhcmFtICBjbWQgc3RydWN0dXJlIHRoYXQgY29udGFpbnMgdGhlIGNvbW1hbmQgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbi4KKyAgKiBAcGFyYW0gIGNmZyBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucyB0aGUgcG9sbGluZyBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLgorICAqIEBwYXJhbSAgVGltZW91dCBUaW1lb3V0IGR1cmF0aW9uCiAgICogQG5vdGUgICBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgb25seSBpbiBBdXRvbWF0aWMgUG9sbGluZyBNb2RlCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCkBAIC0xNjU4LDkgKzE2NTgsOSBAQAogCiAvKioKICAgKiBAYnJpZWYgIENvbmZpZ3VyZSB0aGUgUVNQSSBBdXRvbWF0aWMgUG9sbGluZyBNb2RlIGluIG5vbi1ibG9ja2luZyBtb2RlLgotICAqIEBwYXJhbSAgaHFzcGkgOiBRU1BJIGhhbmRsZQotICAqIEBwYXJhbSAgY21kIDogc3RydWN0dXJlIHRoYXQgY29udGFpbnMgdGhlIGNvbW1hbmQgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbi4KLSAgKiBAcGFyYW0gIGNmZyA6IHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zIHRoZSBwb2xsaW5nIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24uCisgICogQHBhcmFtICBocXNwaSBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSAgY21kIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zIHRoZSBjb21tYW5kIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24uCisgICogQHBhcmFtICBjZmcgc3RydWN0dXJlIHRoYXQgY29udGFpbnMgdGhlIHBvbGxpbmcgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbi4KICAgKiBAbm90ZSAgIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBvbmx5IGluIEF1dG9tYXRpYyBQb2xsaW5nIE1vZGUKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KQEAgLTE3NjEsOSArMTc2MSw5IEBACiAKIC8qKgogICAqIEBicmllZiAgQ29uZmlndXJlIHRoZSBNZW1vcnkgTWFwcGVkIG1vZGUuCi0gICogQHBhcmFtICBocXNwaSA6IFFTUEkgaGFuZGxlCi0gICogQHBhcmFtICBjbWQgOiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucyB0aGUgY29tbWFuZCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLgotICAqIEBwYXJhbSAgY2ZnIDogc3RydWN0dXJlIHRoYXQgY29udGFpbnMgdGhlIG1lbW9yeSBtYXBwZWQgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbi4KKyAgKiBAcGFyYW0gIGhxc3BpIFFTUEkgaGFuZGxlCisgICogQHBhcmFtICBjbWQgc3RydWN0dXJlIHRoYXQgY29udGFpbnMgdGhlIGNvbW1hbmQgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbi4KKyAgKiBAcGFyYW0gIGNmZyBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucyB0aGUgbWVtb3J5IG1hcHBlZCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLgogICAqIEBub3RlICAgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIG9ubHkgaW4gTWVtb3J5IG1hcHBlZCBNb2RlCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCkBAIC0xODUwLDcgKzE4NTAsNyBAQAogCiAvKioKICAgKiBAYnJpZWYgIFRyYW5zZmVyIEVycm9yIGNhbGxiYWNrLgotICAqIEBwYXJhbSAgaHFzcGkgOiBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSAgaHFzcGkgUVNQSSBoYW5kbGUKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fd2VhayB2b2lkIEhBTF9RU1BJX0Vycm9yQ2FsbGJhY2soUVNQSV9IYW5kbGVUeXBlRGVmICpocXNwaSkKQEAgLTE4NjUsNyArMTg2NSw3IEBACiAKIC8qKgogICAqIEBicmllZiAgQWJvcnQgY29tcGxldGVkIGNhbGxiYWNrLgotICAqIEBwYXJhbSAgaHFzcGkgOiBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSAgaHFzcGkgUVNQSSBoYW5kbGUKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fd2VhayB2b2lkIEhBTF9RU1BJX0Fib3J0Q3BsdENhbGxiYWNrKFFTUElfSGFuZGxlVHlwZURlZiAqaHFzcGkpCkBAIC0xODgwLDcgKzE4ODAsNyBAQAogCiAvKioKICAgKiBAYnJpZWYgIENvbW1hbmQgY29tcGxldGVkIGNhbGxiYWNrLgotICAqIEBwYXJhbSAgaHFzcGkgOiBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSAgaHFzcGkgUVNQSSBoYW5kbGUKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fd2VhayB2b2lkIEhBTF9RU1BJX0NtZENwbHRDYWxsYmFjayhRU1BJX0hhbmRsZVR5cGVEZWYgKmhxc3BpKQpAQCAtMTg5NSw3ICsxODk1LDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBSeCBUcmFuc2ZlciBjb21wbGV0ZWQgY2FsbGJhY2suCi0gICogQHBhcmFtICBocXNwaSA6IFFTUEkgaGFuZGxlCisgICogQHBhcmFtICBocXNwaSBRU1BJIGhhbmRsZQogICAqIEByZXR2YWwgTm9uZQogICAqLwogX193ZWFrIHZvaWQgSEFMX1FTUElfUnhDcGx0Q2FsbGJhY2soUVNQSV9IYW5kbGVUeXBlRGVmICpocXNwaSkKQEAgLTE5MTAsNyArMTkxMCw3IEBACiAKIC8qKgogICAqIEBicmllZiAgVHggVHJhbnNmZXIgY29tcGxldGVkIGNhbGxiYWNrLgotICAqIEBwYXJhbSAgaHFzcGkgOiBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSAgaHFzcGkgUVNQSSBoYW5kbGUKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fd2VhayB2b2lkIEhBTF9RU1BJX1R4Q3BsdENhbGxiYWNrKFFTUElfSGFuZGxlVHlwZURlZiAqaHFzcGkpCkBAIC0xOTI1LDcgKzE5MjUsNyBAQAogCiAvKioKICAgKiBAYnJpZWYgIFJ4IEhhbGYgVHJhbnNmZXIgY29tcGxldGVkIGNhbGxiYWNrLgotICAqIEBwYXJhbSAgaHFzcGkgOiBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSAgaHFzcGkgUVNQSSBoYW5kbGUKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fd2VhayB2b2lkIEhBTF9RU1BJX1J4SGFsZkNwbHRDYWxsYmFjayhRU1BJX0hhbmRsZVR5cGVEZWYgKmhxc3BpKQpAQCAtMTk0MCw3ICsxOTQwLDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBUeCBIYWxmIFRyYW5zZmVyIGNvbXBsZXRlZCBjYWxsYmFjay4KLSAgKiBAcGFyYW0gIGhxc3BpIDogUVNQSSBoYW5kbGUKKyAgKiBAcGFyYW0gIGhxc3BpIFFTUEkgaGFuZGxlCiAgICogQHJldHZhbCBOb25lCiAgICovCiBfX3dlYWsgdm9pZCBIQUxfUVNQSV9UeEhhbGZDcGx0Q2FsbGJhY2soUVNQSV9IYW5kbGVUeXBlRGVmICpocXNwaSkKQEAgLTE5NTUsNyArMTk1NSw3IEBACiAKIC8qKgogICAqIEBicmllZiAgRklGTyBUaHJlc2hvbGQgY2FsbGJhY2suCi0gICogQHBhcmFtICBocXNwaSA6IFFTUEkgaGFuZGxlCisgICogQHBhcmFtICBocXNwaSBRU1BJIGhhbmRsZQogICAqIEByZXR2YWwgTm9uZQogICAqLwogX193ZWFrIHZvaWQgSEFMX1FTUElfRmlmb1RocmVzaG9sZENhbGxiYWNrKFFTUElfSGFuZGxlVHlwZURlZiAqaHFzcGkpCkBAIC0xOTcwLDcgKzE5NzAsNyBAQAogCiAvKioKICAgKiBAYnJpZWYgIFN0YXR1cyBNYXRjaCBjYWxsYmFjay4KLSAgKiBAcGFyYW0gIGhxc3BpIDogUVNQSSBoYW5kbGUKKyAgKiBAcGFyYW0gIGhxc3BpIFFTUEkgaGFuZGxlCiAgICogQHJldHZhbCBOb25lCiAgICovCiBfX3dlYWsgdm9pZCBIQUxfUVNQSV9TdGF0dXNNYXRjaENhbGxiYWNrKFFTUElfSGFuZGxlVHlwZURlZiAqaHFzcGkpCkBAIC0xOTg1LDcgKzE5ODUsNyBAQAogCiAvKioKICAgKiBAYnJpZWYgIFRpbWVvdXQgY2FsbGJhY2suCi0gICogQHBhcmFtICBocXNwaSA6IFFTUEkgaGFuZGxlCisgICogQHBhcmFtICBocXNwaSBRU1BJIGhhbmRsZQogICAqIEByZXR2YWwgTm9uZQogICAqLwogX193ZWFrIHZvaWQgSEFMX1FTUElfVGltZU91dENhbGxiYWNrKFFTUElfSGFuZGxlVHlwZURlZiAqaHFzcGkpCkBAIC0yMDAxLDggKzIwMDEsOCBAQAogLyoqCiAgICogQGJyaWVmICBSZWdpc3RlciBhIFVzZXIgUVNQSSBDYWxsYmFjawogICAqICAgICAgICAgVG8gYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSB3ZWFrIChzdXJjaGFyZ2VkKSBwcmVkZWZpbmVkIGNhbGxiYWNrCi0gICogQHBhcmFtIGhxc3BpIDogUVNQSSBoYW5kbGUKLSAgKiBAcGFyYW0gQ2FsbGJhY2tJZCA6IElEIG9mIHRoZSBjYWxsYmFjayB0byBiZSByZWdpc3RlcmVkCisgICogQHBhcmFtIGhxc3BpIFFTUEkgaGFuZGxlCisgICogQHBhcmFtIENhbGxiYWNrSWQgSUQgb2YgdGhlIGNhbGxiYWNrIHRvIGJlIHJlZ2lzdGVyZWQKICAgKiAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1FTUElfRVJST1JfQ0JfSUQgICAgICAgICAgUVNQSSBFcnJvciBDYWxsYmFjayBJRAogICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfUVNQSV9BQk9SVF9DQl9JRCAgICAgICAgICBRU1BJIEFib3J0IENhbGxiYWNrIElECkBAIC0yMDE2LDcgKzIwMTYsNyBAQAogICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfUVNQSV9USU1FT1VUX0NCX0lEICAgICAgICBRU1BJIFRpbWVvdXQgQ2FsbGJhY2sgSUQKICAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1FTUElfTVNQX0lOSVRfQ0JfSUQgICAgICAgUVNQSSBNc3BJbml0IGNhbGxiYWNrIElECiAgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9RU1BJX01TUF9ERUlOSVRfQ0JfSUQgICAgIFFTUEkgTXNwRGVJbml0IGNhbGxiYWNrIElECi0gICogQHBhcmFtIHBDYWxsYmFjayA6IHBvaW50ZXIgdG8gdGhlIENhbGxiYWNrIGZ1bmN0aW9uCisgICogQHBhcmFtIHBDYWxsYmFjayBwb2ludGVyIHRvIHRoZSBDYWxsYmFjayBmdW5jdGlvbgogICAqIEByZXR2YWwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUVNQSV9SZWdpc3RlckNhbGxiYWNrIChRU1BJX0hhbmRsZVR5cGVEZWYgKmhxc3BpLCBIQUxfUVNQSV9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lkLCBwUVNQSV9DYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKQpAQCAtMjExNSw4ICsyMTE1LDggQEAKIC8qKgogICAqIEBicmllZiAgVW5yZWdpc3RlciBhIFVzZXIgUVNQSSBDYWxsYmFjawogICAqICAgICAgICAgUVNQSSBDYWxsYmFjayBpcyByZWRpcmVjdGVkIHRvIHRoZSB3ZWFrIChzdXJjaGFyZ2VkKSBwcmVkZWZpbmVkIGNhbGxiYWNrCi0gICogQHBhcmFtIGhxc3BpIDogUVNQSSBoYW5kbGUKLSAgKiBAcGFyYW0gQ2FsbGJhY2tJZCA6IElEIG9mIHRoZSBjYWxsYmFjayB0byBiZSB1bnJlZ2lzdGVyZWQKKyAgKiBAcGFyYW0gaHFzcGkgUVNQSSBoYW5kbGUKKyAgKiBAcGFyYW0gQ2FsbGJhY2tJZCBJRCBvZiB0aGUgY2FsbGJhY2sgdG8gYmUgdW5yZWdpc3RlcmVkCiAgICogICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9RU1BJX0VSUk9SX0NCX0lEICAgICAgICAgIFFTUEkgRXJyb3IgQ2FsbGJhY2sgSUQKICAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1FTUElfQUJPUlRfQ0JfSUQgICAgICAgICAgUVNQSSBBYm9ydCBDYWxsYmFjayBJRApAQCAtMjI0Myw3ICsyMjQzLDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBSZXR1cm4gdGhlIFFTUEkgaGFuZGxlIHN0YXRlLgotICAqIEBwYXJhbSAgaHFzcGkgOiBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSAgaHFzcGkgUVNQSSBoYW5kbGUKICAgKiBAcmV0dmFsIEhBTCBzdGF0ZQogICAqLwogSEFMX1FTUElfU3RhdGVUeXBlRGVmIEhBTF9RU1BJX0dldFN0YXRlKFFTUElfSGFuZGxlVHlwZURlZiAqaHFzcGkpCkBAIC0yMjU0LDcgKzIyNTQsNyBAQAogCiAvKioKICogQGJyaWVmICBSZXR1cm4gdGhlIFFTUEkgZXJyb3IgY29kZS4KLSogQHBhcmFtICBocXNwaSA6IFFTUEkgaGFuZGxlCisqIEBwYXJhbSAgaHFzcGkgUVNQSSBoYW5kbGUKICogQHJldHZhbCBRU1BJIEVycm9yIENvZGUKICovCiB1aW50MzJfdCBIQUxfUVNQSV9HZXRFcnJvcihRU1BJX0hhbmRsZVR5cGVEZWYgKmhxc3BpKQpAQCAtMjI2NCw3ICsyMjY0LDcgQEAKIAogLyoqCiAqIEBicmllZiAgQWJvcnQgdGhlIGN1cnJlbnQgdHJhbnNtaXNzaW9uLgotKiBAcGFyYW0gIGhxc3BpIDogUVNQSSBoYW5kbGUKKyogQHBhcmFtICBocXNwaSBRU1BJIGhhbmRsZQogKiBAcmV0dmFsIEhBTCBzdGF0dXMKICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUVNQSV9BYm9ydChRU1BJX0hhbmRsZVR5cGVEZWYgKmhxc3BpKQpAQCAtMjMyOCw3ICsyMzI4LDcgQEAKIAogLyoqCiAqIEBicmllZiAgQWJvcnQgdGhlIGN1cnJlbnQgdHJhbnNtaXNzaW9uIChub24tYmxvY2tpbmcgZnVuY3Rpb24pCi0qIEBwYXJhbSAgaHFzcGkgOiBRU1BJIGhhbmRsZQorKiBAcGFyYW0gIGhxc3BpIFFTUEkgaGFuZGxlCiAqIEByZXR2YWwgSEFMIHN0YXR1cwogKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9RU1BJX0Fib3J0X0lUKFFTUElfSGFuZGxlVHlwZURlZiAqaHFzcGkpCkBAIC0yMzkxLDggKzIzOTEsOCBAQAogfQogCiAvKiogQGJyaWVmIFNldCBRU1BJIHRpbWVvdXQuCi0gICogQHBhcmFtICBocXNwaSA6IFFTUEkgaGFuZGxlLgotICAqIEBwYXJhbSAgVGltZW91dCA6IFRpbWVvdXQgZm9yIHRoZSBRU1BJIG1lbW9yeSBhY2Nlc3MuCisgICogQHBhcmFtICBocXNwaSBRU1BJIGhhbmRsZS4KKyAgKiBAcGFyYW0gIFRpbWVvdXQgVGltZW91dCBmb3IgdGhlIFFTUEkgbWVtb3J5IGFjY2Vzcy4KICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIHZvaWQgSEFMX1FTUElfU2V0VGltZW91dChRU1BJX0hhbmRsZVR5cGVEZWYgKmhxc3BpLCB1aW50MzJfdCBUaW1lb3V0KQpAQCAtMjQwMSw4ICsyNDAxLDggQEAKIH0KIAogLyoqIEBicmllZiBTZXQgUVNQSSBGaWZvIHRocmVzaG9sZC4KLSAgKiBAcGFyYW0gIGhxc3BpIDogUVNQSSBoYW5kbGUuCi0gICogQHBhcmFtICBUaHJlc2hvbGQgOiBUaHJlc2hvbGQgb2YgdGhlIEZpZm8gKHZhbHVlIGJldHdlZW4gMSBhbmQgMTYpLgorICAqIEBwYXJhbSAgaHFzcGkgUVNQSSBoYW5kbGUuCisgICogQHBhcmFtICBUaHJlc2hvbGQgVGhyZXNob2xkIG9mIHRoZSBGaWZvICh2YWx1ZSBiZXR3ZWVuIDEgYW5kIDE2KS4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9RU1BJX1NldEZpZm9UaHJlc2hvbGQoUVNQSV9IYW5kbGVUeXBlRGVmICpocXNwaSwgdWludDMyX3QgVGhyZXNob2xkKQpAQCAtMjQzNCw3ICsyNDM0LDcgQEAKIH0KIAogLyoqIEBicmllZiBHZXQgUVNQSSBGaWZvIHRocmVzaG9sZC4KLSAgKiBAcGFyYW0gIGhxc3BpIDogUVNQSSBoYW5kbGUuCisgICogQHBhcmFtICBocXNwaSBRU1BJIGhhbmRsZS4KICAgKiBAcmV0dmFsIEZpZm8gdGhyZXNob2xkICh2YWx1ZSBiZXR3ZWVuIDEgYW5kIDE2KQogICAqLwogdWludDMyX3QgSEFMX1FTUElfR2V0Rmlmb1RocmVzaG9sZChRU1BJX0hhbmRsZVR5cGVEZWYgKmhxc3BpKQpAQCAtMjQ0Myw4ICsyNDQzLDggQEAKIH0KIAogLyoqIEBicmllZiAgU2V0IEZsYXNoSUQuCi0gICogQHBhcmFtICBocXNwaSA6IFFTUEkgaGFuZGxlLgotICAqIEBwYXJhbSAgRmxhc2hJRCA6IEluZGV4IG9mIHRoZSBmbGFzaCBtZW1vcnkgdG8gYmUgYWNjZXNzZWQuCisgICogQHBhcmFtICBocXNwaSBRU1BJIGhhbmRsZS4KKyAgKiBAcGFyYW0gIEZsYXNoSUQgSW5kZXggb2YgdGhlIGZsYXNoIG1lbW9yeSB0byBiZSBhY2Nlc3NlZC4KICAgKiAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIFFTUElfRmxhc2hfU2VsZWN0LgogICAqIEBub3RlICAgVGhlIEZsYXNoSUQgaXMgaWdub3JlZCB3aGVuIGR1YWwgZmxhc2ggbW9kZSBpcyBlbmFibGVkLgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwpAQCAtMjQ5Myw3ICsyNDkzLDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBETUEgUVNQSSByZWNlaXZlIHByb2Nlc3MgY29tcGxldGUgY2FsbGJhY2suCi0gICogQHBhcmFtICBoZG1hIDogRE1BIGhhbmRsZQorICAqIEBwYXJhbSAgaGRtYSBETUEgaGFuZGxlCiAgICogQHJldHZhbCBOb25lCiAgICovCiBzdGF0aWMgdm9pZCBRU1BJX0RNQVJ4Q3BsdChETUFfSGFuZGxlVHlwZURlZiAqaGRtYSkKQEAgLTI1MDcsNyArMjUwNyw3IEBACiAKIC8qKgogICAqIEBicmllZiAgRE1BIFFTUEkgdHJhbnNtaXQgcHJvY2VzcyBjb21wbGV0ZSBjYWxsYmFjay4KLSAgKiBAcGFyYW0gIGhkbWEgOiBETUEgaGFuZGxlCisgICogQHBhcmFtICBoZG1hIERNQSBoYW5kbGUKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIHN0YXRpYyB2b2lkIFFTUElfRE1BVHhDcGx0KERNQV9IYW5kbGVUeXBlRGVmICpoZG1hKQpAQCAtMjUyMSw3ICsyNTIxLDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBETUEgUVNQSSByZWNlaXZlIHByb2Nlc3MgaGFsZiBjb21wbGV0ZSBjYWxsYmFjay4KLSAgKiBAcGFyYW0gIGhkbWEgOiBETUEgaGFuZGxlCisgICogQHBhcmFtICBoZG1hIERNQSBoYW5kbGUKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIHN0YXRpYyB2b2lkIFFTUElfRE1BUnhIYWxmQ3BsdChETUFfSGFuZGxlVHlwZURlZiAqaGRtYSkKQEAgLTI1MzcsNyArMjUzNyw3IEBACiAKIC8qKgogICAqIEBicmllZiAgRE1BIFFTUEkgdHJhbnNtaXQgcHJvY2VzcyBoYWxmIGNvbXBsZXRlIGNhbGxiYWNrLgotICAqIEBwYXJhbSAgaGRtYSA6IERNQSBoYW5kbGUKKyAgKiBAcGFyYW0gIGhkbWEgRE1BIGhhbmRsZQogICAqIEByZXR2YWwgTm9uZQogICAqLwogc3RhdGljIHZvaWQgUVNQSV9ETUFUeEhhbGZDcGx0KERNQV9IYW5kbGVUeXBlRGVmICpoZG1hKQpAQCAtMjU1Myw3ICsyNTUzLDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBETUEgUVNQSSBjb21tdW5pY2F0aW9uIGVycm9yIGNhbGxiYWNrLgotICAqIEBwYXJhbSAgaGRtYSA6IERNQSBoYW5kbGUKKyAgKiBAcGFyYW0gIGhkbWEgRE1BIGhhbmRsZQogICAqIEByZXR2YWwgTm9uZQogICAqLwogc3RhdGljIHZvaWQgUVNQSV9ETUFFcnJvcihETUFfSGFuZGxlVHlwZURlZiAqaGRtYSkKQEAgLTI1NzgsNyArMjU3OCw3IEBACiAKIC8qKgogICAqIEBicmllZiAgRE1BIFFTUEkgYWJvcnQgY29tcGxldGUgY2FsbGJhY2suCi0gICogQHBhcmFtICBoZG1hIDogRE1BIGhhbmRsZQorICAqIEBwYXJhbSAgaGRtYSBETUEgaGFuZGxlCiAgICogQHJldHZhbCBOb25lCiAgICovCiBzdGF0aWMgdm9pZCBRU1BJX0RNQUFib3J0Q3BsdChETUFfSGFuZGxlVHlwZURlZiAqaGRtYSkKQEAgLTI2MTcsMTEgKzI2MTcsMTEgQEAKIAogLyoqCiAgICogQGJyaWVmICBXYWl0IGZvciBhIGZsYWcgc3RhdGUgdW50aWwgdGltZW91dC4KLSAgKiBAcGFyYW0gIGhxc3BpIDogUVNQSSBoYW5kbGUKLSAgKiBAcGFyYW0gIEZsYWcgOiBGbGFnIGNoZWNrZWQKLSAgKiBAcGFyYW0gIFN0YXRlIDogVmFsdWUgb2YgdGhlIGZsYWcgZXhwZWN0ZWQKLSAgKiBAcGFyYW0gIFRpY2tzdGFydCA6IFRpY2sgc3RhcnQgdmFsdWUKLSAgKiBAcGFyYW0gIFRpbWVvdXQgOiBEdXJhdGlvbiBvZiB0aGUgdGltZW91dAorICAqIEBwYXJhbSAgaHFzcGkgUVNQSSBoYW5kbGUKKyAgKiBAcGFyYW0gIEZsYWcgRmxhZyBjaGVja2VkCisgICogQHBhcmFtICBTdGF0ZSBWYWx1ZSBvZiB0aGUgZmxhZyBleHBlY3RlZAorICAqIEBwYXJhbSAgVGlja3N0YXJ0IFRpY2sgc3RhcnQgdmFsdWUKKyAgKiBAcGFyYW0gIFRpbWVvdXQgRHVyYXRpb24gb2YgdGhlIHRpbWVvdXQKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIHN0YXRpYyBIQUxfU3RhdHVzVHlwZURlZiBRU1BJX1dhaXRGbGFnU3RhdGVVbnRpbFRpbWVvdXQoUVNQSV9IYW5kbGVUeXBlRGVmICpocXNwaSwgdWludDMyX3QgRmxhZywKQEAgLTI2NzIsOSArMjY3Miw5IEBACiAKIC8qKgogICAqIEBicmllZiAgQ29uZmlndXJlIHRoZSBjb21tdW5pY2F0aW9uIHJlZ2lzdGVycy4KLSAgKiBAcGFyYW0gIGhxc3BpIDogUVNQSSBoYW5kbGUKLSAgKiBAcGFyYW0gIGNtZCA6IHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zIHRoZSBjb21tYW5kIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24KLSAgKiBAcGFyYW0gIEZ1bmN0aW9uYWxNb2RlIDogZnVuY3Rpb25hbCBtb2RlIHRvIGNvbmZpZ3VyZWQKKyAgKiBAcGFyYW0gIGhxc3BpIFFTUEkgaGFuZGxlCisgICogQHBhcmFtICBjbWQgc3RydWN0dXJlIHRoYXQgY29udGFpbnMgdGhlIGNvbW1hbmQgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbgorICAqIEBwYXJhbSAgRnVuY3Rpb25hbE1vZGUgZnVuY3Rpb25hbCBtb2RlIHRvIGNvbmZpZ3VyZWQKICAgKiAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICAgKiAgICAgICAgICAgIEBhcmcgUVNQSV9GVU5DVElPTkFMX01PREVfSU5ESVJFQ1RfV1JJVEU6IEluZGlyZWN0IHdyaXRlIG1vZGUKICAgKiAgICAgICAgICAgIEBhcmcgUVNQSV9GVU5DVElPTkFMX01PREVfSU5ESVJFQ1RfUkVBRDogSW5kaXJlY3QgcmVhZCBtb2RlCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmN3h4X2hhbF9ybmcuYyBiL1NyYy9zdG0zMmY3eHhfaGFsX3JuZy5jCmluZGV4IDgwOTVmNzIuLjY1YTVkNTkgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY3eHhfaGFsX3JuZy5jCisrKyBiL1NyYy9zdG0zMmY3eHhfaGFsX3JuZy5jCkBAIC0zNjksNyArMzY5LDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBVbnJlZ2lzdGVyIGFuIFJORyBDYWxsYmFjawotICAqICAgICAgICAgUk5HIGNhbGxhYmNrIGlzIHJlZGlyZWN0ZWQgdG8gdGhlIHdlYWsgcHJlZGVmaW5lZCBjYWxsYmFjaworICAqICAgICAgICAgUk5HIGNhbGxiYWNrIGlzIHJlZGlyZWN0ZWQgdG8gdGhlIHdlYWsgcHJlZGVmaW5lZCBjYWxsYmFjawogICAqIEBwYXJhbSAgaHJuZyBSTkcgaGFuZGxlCiAgICogQHBhcmFtICBDYWxsYmFja0lEIElEIG9mIHRoZSBjYWxsYmFjayB0byBiZSB1bnJlZ2lzdGVyZWQKICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmN3h4X2hhbF9ydGMuYyBiL1NyYy9zdG0zMmY3eHhfaGFsX3J0Yy5jCmluZGV4IDE0ZGJkZGMuLjgwNmRkMjggMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY3eHhfaGFsX3J0Yy5jCisrKyBiL1NyYy9zdG0zMmY3eHhfaGFsX3J0Yy5jCkBAIC00LDEwICs0LDEwIEBACiAgICogQGF1dGhvciAgTUNEIEFwcGxpY2F0aW9uIFRlYW0KICAgKiBAYnJpZWYgICBSVEMgSEFMIG1vZHVsZSBkcml2ZXIuCiAgICogICAgICAgICAgVGhpcyBmaWxlIHByb3ZpZGVzIGZpcm13YXJlIGZ1bmN0aW9ucyB0byBtYW5hZ2UgdGhlIGZvbGxvd2luZwotICAqICAgICAgICAgIGZ1bmN0aW9uYWxpdGllcyBvZiB0aGUgUmVhbCBUaW1lIENsb2NrIChSVEMpIHBlcmlwaGVyYWw6CisgICogICAgICAgICAgZnVuY3Rpb25hbGl0aWVzIG9mIHRoZSBSZWFsLVRpbWUgQ2xvY2sgKFJUQykgcGVyaXBoZXJhbDoKICAgKiAgICAgICAgICAgKyBJbml0aWFsaXphdGlvbiBhbmQgZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zCi0gICogICAgICAgICAgICsgUlRDIFRpbWUgYW5kIERhdGUgZnVuY3Rpb25zCi0gICogICAgICAgICAgICsgUlRDIEFsYXJtIGZ1bmN0aW9ucworICAqICAgICAgICAgICArIFJUQyBDYWxlbmRhciAoVGltZSBhbmQgRGF0ZSkgY29uZmlndXJhdGlvbiBmdW5jdGlvbnMKKyAgKiAgICAgICAgICAgKyBSVEMgQWxhcm1zIChBbGFybSBBIGFuZCBBbGFybSBCKSBjb25maWd1cmF0aW9uIGZ1bmN0aW9ucwogICAqICAgICAgICAgICArIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIFN0YXRlIGZ1bmN0aW9ucwogICAqCkBAIC0yNCwxMiArMjQsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAgICAgICAgICAgICAgIyMjIyMgQmFja3VwIERvbWFpbiBPcGVyYXRpbmcgQ29uZGl0aW9uICMjIyMjCisgICAgICAgICAgICAgICAjIyMjIyBSVEMgYW5kIEJhY2t1cCBEb21haW4gT3BlcmF0aW5nIENvbmRpdGlvbiAjIyMjIwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgWy4uXSBUaGUgcmVhbC10aW1lIGNsb2NrIChSVEMpLCB0aGUgUlRDIGJhY2t1cCByZWdpc3RlcnMsIGFuZCB0aGUgYmFja3VwCiAgICAgICAgU1JBTSAoQktQIFNSQU0pIGNhbiBiZSBwb3dlcmVkIGZyb20gdGhlIFZCQVQgdm9sdGFnZSB3aGVuIHRoZSBtYWluCiAgICAgICAgVkREIHN1cHBseSBpcyBwb3dlcmVkIG9mZi4KLSAgICAgICBUbyByZXRhaW4gdGhlIGNvbnRlbnQgb2YgdGhlIFJUQyBiYWNrdXAgcmVnaXN0ZXJzLCBiYWNrdXAgU1JBTSwgYW5kIHN1cHBseQorICAgICAgIFRvIHJldGFpbiB0aGUgY29udGVudCBvZiB0aGUgUlRDIGJhY2t1cCByZWdpc3RlcnMsIEJLUCBTUkFNLCBhbmQgc3VwcGx5CiAgICAgICAgdGhlIFJUQyB3aGVuIFZERCBpcyB0dXJuZWQgb2ZmLCBWQkFUIHBpbiBjYW4gYmUgY29ubmVjdGVkIHRvIGFuIG9wdGlvbmFsCiAgICAgICAgc3RhbmRieSB2b2x0YWdlIHN1cHBsaWVkIGJ5IGEgYmF0dGVyeSBvciBieSBhbm90aGVyIHNvdXJjZS4KIApAQCAtMzcsMTQgKzM3LDE1IEBACiAgICAgICAgb2ZmLCB0aGUgVkJBVCBwaW4gcG93ZXJzIHRoZSBmb2xsb3dpbmcgYmxvY2tzOgogICAgICgjKSBUaGUgUlRDCiAgICAgKCMpIFRoZSBMU0Ugb3NjaWxsYXRvcgotICAgICgjKSBUaGUgYmFja3VwIFNSQU0gd2hlbiB0aGUgbG93IHBvd2VyIGJhY2t1cCByZWd1bGF0b3IgaXMgZW5hYmxlZAotICAgICgjKSBQQzEzIHRvIFBDMTUgSS9PcywgcGx1cyBQSTggSS9PICh3aGVuIGF2YWlsYWJsZSkKKyAgICAoIykgVGhlIEJLUCBTUkFNIHdoZW4gdGhlIGxvdyBwb3dlciBiYWNrdXAgcmVndWxhdG9yIGlzIGVuYWJsZWQKKyAgICAoIykgUEMxMyB0byBQQzE1IEkvT3MsIHBsdXMgUEk4IGFuZCBQQzEgSS9PcyAod2hlbiBhdmFpbGFibGUpCiAKICAgWy4uXSBXaGVuIHRoZSBiYWNrdXAgZG9tYWluIGlzIHN1cHBsaWVkIGJ5IFZERCAoYW5hbG9nIHN3aXRjaCBjb25uZWN0ZWQgdG8gVkREKSwKICAgICAgICB0aGUgZm9sbG93aW5nIHBpbnMgYXJlIGF2YWlsYWJsZToKICAgICAoIykgUEMxNCBhbmQgUEMxNSBjYW4gYmUgdXNlZCBhcyBlaXRoZXIgR1BJTyBvciBMU0UgcGlucwogICAgICgjKSBQQzEzIGNhbiBiZSB1c2VkIGFzIGEgR1BJTyBvciBhcyB0aGUgUlRDX0FGMSBwaW4KICAgICAoIykgUEk4IGNhbiBiZSB1c2VkIGFzIGEgR1BJTyBvciBhcyB0aGUgUlRDX0FGMiBwaW4KKyAgICAoIykgUEMxIGNhbiBiZSB1c2VkIGFzIGEgR1BJTyBvciBhcyB0aGUgUlRDX0FGMyBwaW4KIAogICBbLi5dIFdoZW4gdGhlIGJhY2t1cCBkb21haW4gaXMgc3VwcGxpZWQgYnkgVkJBVCAoYW5hbG9nIHN3aXRjaCBjb25uZWN0ZWQgdG8gVkJBVAogICAgICAgIGJlY2F1c2UgVkREIGlzIG5vdCBwcmVzZW50KSwgdGhlIGZvbGxvd2luZyBwaW5zIGFyZSBhdmFpbGFibGU6CkBAIC01NiwyOSArNTcsMzAgQEAKICAgICAgICAgICAgICAgICAgICAjIyMjIyBCYWNrdXAgRG9tYWluIFJlc2V0ICMjIyMjCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBbLi5dIFRoZSBiYWNrdXAgZG9tYWluIHJlc2V0IHNldHMgYWxsIFJUQyByZWdpc3RlcnMgYW5kIHRoZSBSQ0NfQkRDUiByZWdpc3RlcgotICAgICAgIHRvIHRoZWlyIHJlc2V0IHZhbHVlcy4gVGhlIEJLUFNSQU0gaXMgbm90IGFmZmVjdGVkIGJ5IHRoaXMgcmVzZXQuIFRoZSBvbmx5Ci0gICAgICAgd2F5IHRvIHJlc2V0IHRoZSBCS1BTUkFNIGlzIHRocm91Z2ggdGhlIEZsYXNoIGludGVyZmFjZSBieSByZXF1ZXN0aW5nCi0gICAgICAgYSBwcm90ZWN0aW9uIGxldmVsIGNoYW5nZSBmcm9tIDEgdG8gMC4KKyAgICAgICB0byB0aGVpciByZXNldCB2YWx1ZXMuCisgICAgICAgVGhlIEJLUCBTUkFNIGlzIG5vdCBhZmZlY3RlZCBieSB0aGlzIHJlc2V0LiBUaGUgb25seSB3YXkgdG8gcmVzZXQgdGhlIEJLUAorICAgICAgIFNSQU0gaXMgdGhyb3VnaCB0aGUgRmxhc2ggaW50ZXJmYWNlIGJ5IHJlcXVlc3RpbmcgYSBwcm90ZWN0aW9uIGxldmVsCisgICAgICAgY2hhbmdlIGZyb20gMSB0byAwLgogICBbLi5dIEEgYmFja3VwIGRvbWFpbiByZXNldCBpcyBnZW5lcmF0ZWQgd2hlbiBvbmUgb2YgdGhlIGZvbGxvd2luZyBldmVudHMgb2NjdXJzOgogICAgICgjKSBTb2Z0d2FyZSByZXNldCwgdHJpZ2dlcmVkIGJ5IHNldHRpbmcgdGhlIEJEUlNUIGJpdCBpbiB0aGUKICAgICAgICAgUkNDIEJhY2t1cCBkb21haW4gY29udHJvbCByZWdpc3RlciAoUkNDX0JEQ1IpLgogICAgICgjKSBWREQgb3IgVkJBVCBwb3dlciBvbiwgaWYgYm90aCBzdXBwbGllcyBoYXZlIHByZXZpb3VzbHkgYmVlbiBwb3dlcmVkIG9mZi4KKyAgICAoIykgVGFtcGVyIGRldGVjdGlvbiBldmVudCByZXNldHMgYWxsIGRhdGEgYmFja3VwIHJlZ2lzdGVycy4KIAogICAgICAgICAgICAgICAgICAgICMjIyMjIEJhY2t1cCBEb21haW4gQWNjZXNzICMjIyMjCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICBbLi5dIEFmdGVyIHJlc2V0LCB0aGUgYmFja3VwIGRvbWFpbiAoUlRDIHJlZ2lzdGVycywgUlRDIGJhY2t1cCBkYXRhCi0gICAgICAgcmVnaXN0ZXJzIGFuZCBiYWNrdXAgU1JBTSkgaXMgcHJvdGVjdGVkIGFnYWluc3QgcG9zc2libGUgdW53YW50ZWQgd3JpdGUKLSAgICAgICBhY2Nlc3Nlcy4KKyAgWy4uXSBBZnRlciByZXNldCwgdGhlIGJhY2t1cCBkb21haW4gKFJUQyByZWdpc3RlcnMsIFJUQyBiYWNrdXAgZGF0YSByZWdpc3RlcnMKKyAgICAgICBhbmQgQktQIFNSQU0pIGlzIHByb3RlY3RlZCBhZ2FpbnN0IHBvc3NpYmxlIHVud2FudGVkIHdyaXRlIGFjY2Vzc2VzLgogICBbLi5dIFRvIGVuYWJsZSBhY2Nlc3MgdG8gdGhlIFJUQyBEb21haW4gYW5kIFJUQyByZWdpc3RlcnMsIHByb2NlZWQgYXMgZm9sbG93czoKICAgICAoKykgRW5hYmxlIHRoZSBQb3dlciBDb250cm9sbGVyIChQV1IpIEFQQjEgaW50ZXJmYWNlIGNsb2NrIHVzaW5nIHRoZQotICAgICAgICBfX0hBTF9SQ0NfUFdSX0NMS19FTkFCTEUoKSBmdW5jdGlvbi4KKyAgICAgICAgX19IQUxfUkNDX1BXUl9DTEtfRU5BQkxFKCkgbWFjcm8uCiAgICAgKCspIEVuYWJsZSBhY2Nlc3MgdG8gUlRDIGRvbWFpbiB1c2luZyB0aGUgSEFMX1BXUl9FbmFibGVCa1VwQWNjZXNzKCkgZnVuY3Rpb24uCi0gICAgKCspIFNlbGVjdCB0aGUgUlRDIGNsb2NrIHNvdXJjZSB1c2luZyB0aGUgX19IQUxfUkNDX1JUQ19DT05GSUcoKSBmdW5jdGlvbi4KLSAgICAoKykgRW5hYmxlIFJUQyBDbG9jayB1c2luZyB0aGUgX19IQUxfUkNDX1JUQ19FTkFCTEUoKSBmdW5jdGlvbi4KKyAgICAoKykgU2VsZWN0IHRoZSBSVEMgY2xvY2sgc291cmNlIHVzaW5nIHRoZSBfX0hBTF9SQ0NfUlRDX0NPTkZJRygpIG1hY3JvLgorICAgICgrKSBFbmFibGUgUlRDIENsb2NrIHVzaW5nIHRoZSBfX0hBTF9SQ0NfUlRDX0VOQUJMRSgpIG1hY3JvLgogCi0KLSAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIgIyMjIyMKLSAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMgSG93IHRvIHVzZSB0aGlzIGRyaXZlciAjIyMjIworICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgWy4uXQogICAgICgrKSBFbmFibGUgdGhlIFJUQyBkb21haW4gYWNjZXNzIChzZWUgZGVzY3JpcHRpb24gaW4gdGhlIHNlY3Rpb24gYWJvdmUpLgogICAgICgrKSBDb25maWd1cmUgdGhlIFJUQyBQcmVzY2FsZXIgKEFzeW5jaHJvbm91cyBhbmQgU3luY2hyb25vdXMpIGFuZCBSVEMgaG91cgpAQCAtODksMTMgKzkxLDIxIEBACiAgIFsuLl0KICAgICAoKykgVG8gY29uZmlndXJlIHRoZSBSVEMgQ2FsZW5kYXIgKFRpbWUgYW5kIERhdGUpIHVzZSB0aGUgSEFMX1JUQ19TZXRUaW1lKCkKICAgICAgICAgYW5kIEhBTF9SVENfU2V0RGF0ZSgpIGZ1bmN0aW9ucy4KLSAgICAoKykgVG8gcmVhZCB0aGUgUlRDIENhbGVuZGFyLCB1c2UgdGhlIEhBTF9SVENfR2V0VGltZSgpIGFuZCBIQUxfUlRDX0dldERhdGUoKSBmdW5jdGlvbnMuCisgICAgKCspIFRvIHJlYWQgdGhlIFJUQyBDYWxlbmRhciwgdXNlIHRoZSBIQUxfUlRDX0dldFRpbWUoKSBhbmQgSEFMX1JUQ19HZXREYXRlKCkKKyAgICAgICAgZnVuY3Rpb25zLgorICAgICgrKSBUbyBtYW5hZ2UgdGhlIFJUQyBzdW1tZXIgb3Igd2ludGVyIHRpbWUgY2hhbmdlLCB1c2UgdGhlIGZvbGxvd2luZworICAgICAgICBmdW5jdGlvbnM6CisgICAgICAgICgrKykgSEFMX1JUQ19EU1RfQWRkMUhvdXIoKSBvciBIQUxfUlRDX0RTVF9TdWIxSG91ciB0byBhZGQgb3Igc3VidHJhY3QKKyAgICAgICAgICAgICAxIGhvdXIgZnJvbSB0aGUgY2FsZW5kYXIgdGltZS4KKyAgICAgICAgKCsrKSBIQUxfUlRDX0RTVF9TZXRTdG9yZU9wZXJhdGlvbigpIG9yIEhBTF9SVENfRFNUX0NsZWFyU3RvcmVPcGVyYXRpb24KKyAgICAgICAgICAgICB0byBtZW1vcml6ZSB3aGV0aGVyIHRoZSB0aW1lIGNoYW5nZSBoYXMgYmVlbiBwZXJmb3JtZWQgb3Igbm90LgogCiAgICoqKiBBbGFybSBjb25maWd1cmF0aW9uICoqKgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgWy4uXQogICAgICgrKSBUbyBjb25maWd1cmUgdGhlIFJUQyBBbGFybSB1c2UgdGhlIEhBTF9SVENfU2V0QWxhcm0oKSBmdW5jdGlvbi4KLSAgICAgICAgWW91IGNhbiBhbHNvIGNvbmZpZ3VyZSB0aGUgUlRDIEFsYXJtIHdpdGggaW50ZXJydXB0IG1vZGUgdXNpbmcgdGhlIEhBTF9SVENfU2V0QWxhcm1fSVQoKSBmdW5jdGlvbi4KKyAgICAgICAgWW91IGNhbiBhbHNvIGNvbmZpZ3VyZSB0aGUgUlRDIEFsYXJtIHdpdGggaW50ZXJydXB0IG1vZGUgdXNpbmcgdGhlCisgICAgICAgIEhBTF9SVENfU2V0QWxhcm1fSVQoKSBmdW5jdGlvbi4KICAgICAoKykgVG8gcmVhZCB0aGUgUlRDIEFsYXJtLCB1c2UgdGhlIEhBTF9SVENfR2V0QWxhcm0oKSBmdW5jdGlvbi4KIAogICAgICAgICAgICAgICAgICAgIyMjIyMgUlRDIGFuZCBsb3cgcG93ZXIgbW9kZXMgIyMjIyMKQEAgLTEwMywzNyArMTEzLDM4IEBACiAgIFsuLl0gVGhlIE1DVSBjYW4gYmUgd29rZW4gdXAgZnJvbSBhIGxvdyBwb3dlciBtb2RlIGJ5IGFuIFJUQyBhbHRlcm5hdGUKICAgICAgICBmdW5jdGlvbi4KICAgWy4uXSBUaGUgUlRDIGFsdGVybmF0ZSBmdW5jdGlvbnMgYXJlIHRoZSBSVEMgYWxhcm1zIChBbGFybSBBIGFuZCBBbGFybSBCKSwKLSAgICAgICBSVEMgd2FrZS11cCwgUlRDIHRhbXBlciBldmVudCBkZXRlY3Rpb24gYW5kIFJUQyB0aW1lIHN0YW1wIGV2ZW50IGRldGVjdGlvbi4KKyAgICAgICBSVEMgd2FrZXVwLCBSVEMgdGFtcGVyIGV2ZW50IGRldGVjdGlvbiBhbmQgUlRDIHRpbWVzdGFtcCBldmVudCBkZXRlY3Rpb24uCiAgICAgICAgVGhlc2UgUlRDIGFsdGVybmF0ZSBmdW5jdGlvbnMgY2FuIHdha2UgdXAgdGhlIHN5c3RlbSBmcm9tIHRoZSBTdG9wIGFuZAogICAgICAgIFN0YW5kYnkgbG93IHBvd2VyIG1vZGVzLgogICBbLi5dIFRoZSBzeXN0ZW0gY2FuIGFsc28gd2FrZSB1cCBmcm9tIGxvdyBwb3dlciBtb2RlcyB3aXRob3V0IGRlcGVuZGluZwotICAgICAgIG9uIGFuIGV4dGVybmFsIGludGVycnVwdCAoQXV0by13YWtlLXVwIG1vZGUpLCBieSB1c2luZyB0aGUgUlRDIGFsYXJtCi0gICAgICAgb3IgdGhlIFJUQyB3YWtlLXVwIGV2ZW50cy4KKyAgICAgICBvbiBhbiBleHRlcm5hbCBpbnRlcnJ1cHQgKEF1dG8td2FrZXVwIG1vZGUpLCBieSB1c2luZyB0aGUgUlRDIGFsYXJtCisgICAgICAgb3IgdGhlIFJUQyB3YWtldXAgZXZlbnRzLgogICBbLi5dIFRoZSBSVEMgcHJvdmlkZXMgYSBwcm9ncmFtbWFibGUgdGltZSBiYXNlIGZvciB3YWtpbmcgdXAgZnJvbSB0aGUKICAgICAgICBTdG9wIG9yIFN0YW5kYnkgbW9kZSBhdCByZWd1bGFyIGludGVydmFscy4KLSAgICAgICBXYWtlLXVwIGZyb20gU1RPUCBhbmQgU1RBTkRCWSBtb2RlcyBpcyBwb3NzaWJsZSBvbmx5IHdoZW4gdGhlIFJUQyBjbG9jayBzb3VyY2UKLSAgICAgICBpcyBMU0Ugb3IgTFNJLgorICAgICAgIFdha2V1cCBmcm9tIFNUT1AgYW5kIFNUQU5EQlkgbW9kZXMgaXMgcG9zc2libGUgb25seSB3aGVuIHRoZSBSVEMgY2xvY2sKKyAgICAgICBzb3VyY2UgaXMgTFNFIG9yIExTSS4KIAogICAqKiogQ2FsbGJhY2sgcmVnaXN0cmF0aW9uICoqKgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQorICBbLi5dCiAgIFRoZSBjb21waWxhdGlvbiBkZWZpbmUgIFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyB3aGVuIHNldCB0byAxCiAgIGFsbG93cyB0aGUgdXNlciB0byBjb25maWd1cmUgZHluYW1pY2FsbHkgdGhlIGRyaXZlciBjYWxsYmFja3MuCiAgIFVzZSBGdW5jdGlvbiBIQUxfUlRDX1JlZ2lzdGVyQ2FsbGJhY2soKSB0byByZWdpc3RlciBhbiBpbnRlcnJ1cHQgY2FsbGJhY2suCi0KKyAgWy4uXQogICBGdW5jdGlvbiBIQUxfUlRDX1JlZ2lzdGVyQ2FsbGJhY2soKSBhbGxvd3MgdG8gcmVnaXN0ZXIgZm9sbG93aW5nIGNhbGxiYWNrczoKICAgICAoKykgQWxhcm1BRXZlbnRDYWxsYmFjayAgICAgICAgICA6IFJUQyBBbGFybSBBIEV2ZW50IGNhbGxiYWNrLgogICAgICgrKSBBbGFybUJFdmVudENhbGxiYWNrICAgICAgICAgIDogUlRDIEFsYXJtIEIgRXZlbnQgY2FsbGJhY2suCi0gICAgKCspIFRpbWVTdGFtcEV2ZW50Q2FsbGJhY2sgICAgICAgOiBSVEMgVGltZVN0YW1wIEV2ZW50IGNhbGxiYWNrLgorICAgICgrKSBUaW1lU3RhbXBFdmVudENhbGxiYWNrICAgICAgIDogUlRDIFRpbWVzdGFtcCBFdmVudCBjYWxsYmFjay4KICAgICAoKykgV2FrZVVwVGltZXJFdmVudENhbGxiYWNrICAgICA6IFJUQyBXYWtlVXBUaW1lciBFdmVudCBjYWxsYmFjay4KICAgICAoKykgVGFtcGVyMUV2ZW50Q2FsbGJhY2sgICAgICAgICA6IFJUQyBUYW1wZXIgMSBFdmVudCBjYWxsYmFjay4KICAgICAoKykgVGFtcGVyMkV2ZW50Q2FsbGJhY2sgICAgICAgICA6IFJUQyBUYW1wZXIgMiBFdmVudCBjYWxsYmFjay4KICAgICAoKykgVGFtcGVyM0V2ZW50Q2FsbGJhY2sgICAgICAgICA6IFJUQyBUYW1wZXIgMyBFdmVudCBjYWxsYmFjay4KICAgICAoKykgTXNwSW5pdENhbGxiYWNrICAgICAgICAgICAgICA6IFJUQyBNc3BJbml0IGNhbGxiYWNrLgogICAgICgrKSBNc3BEZUluaXRDYWxsYmFjayAgICAgICAgICAgIDogUlRDIE1zcERlSW5pdCBjYWxsYmFjay4KKyAgWy4uXQogICBUaGlzIGZ1bmN0aW9uIHRha2VzIGFzIHBhcmFtZXRlcnMgdGhlIEhBTCBwZXJpcGhlcmFsIGhhbmRsZSwgdGhlIENhbGxiYWNrIElECiAgIGFuZCBhIHBvaW50ZXIgdG8gdGhlIHVzZXIgY2FsbGJhY2sgZnVuY3Rpb24uCi0KKyAgWy4uXQogICBVc2UgZnVuY3Rpb24gSEFMX1JUQ19VblJlZ2lzdGVyQ2FsbGJhY2soKSB0byByZXNldCBhIGNhbGxiYWNrIHRvIHRoZSBkZWZhdWx0CiAgIHdlYWsgZnVuY3Rpb24uCiAgIEhBTF9SVENfVW5SZWdpc3RlckNhbGxiYWNrKCkgdGFrZXMgYXMgcGFyYW1ldGVycyB0aGUgSEFMIHBlcmlwaGVyYWwgaGFuZGxlLApAQCAtMTQxLDM1ICsxNTIsMzcgQEAKICAgVGhpcyBmdW5jdGlvbiBhbGxvd3MgdG8gcmVzZXQgZm9sbG93aW5nIGNhbGxiYWNrczoKICAgICAoKykgQWxhcm1BRXZlbnRDYWxsYmFjayAgICAgICAgICA6IFJUQyBBbGFybSBBIEV2ZW50IGNhbGxiYWNrLgogICAgICgrKSBBbGFybUJFdmVudENhbGxiYWNrICAgICAgICAgIDogUlRDIEFsYXJtIEIgRXZlbnQgY2FsbGJhY2suCi0gICAgKCspIFRpbWVTdGFtcEV2ZW50Q2FsbGJhY2sgICAgICAgOiBSVEMgVGltZVN0YW1wIEV2ZW50IGNhbGxiYWNrLgorICAgICgrKSBUaW1lU3RhbXBFdmVudENhbGxiYWNrICAgICAgIDogUlRDIFRpbWVzdGFtcCBFdmVudCBjYWxsYmFjay4KICAgICAoKykgV2FrZVVwVGltZXJFdmVudENhbGxiYWNrICAgICA6IFJUQyBXYWtlVXBUaW1lciBFdmVudCBjYWxsYmFjay4KICAgICAoKykgVGFtcGVyMUV2ZW50Q2FsbGJhY2sgICAgICAgICA6IFJUQyBUYW1wZXIgMSBFdmVudCBjYWxsYmFjay4KICAgICAoKykgVGFtcGVyMkV2ZW50Q2FsbGJhY2sgICAgICAgICA6IFJUQyBUYW1wZXIgMiBFdmVudCBjYWxsYmFjay4KICAgICAoKykgVGFtcGVyM0V2ZW50Q2FsbGJhY2sgICAgICAgICA6IFJUQyBUYW1wZXIgMyBFdmVudCBjYWxsYmFjay4KICAgICAoKykgTXNwSW5pdENhbGxiYWNrICAgICAgICAgICAgICA6IFJUQyBNc3BJbml0IGNhbGxiYWNrLgogICAgICgrKSBNc3BEZUluaXRDYWxsYmFjayAgICAgICAgICAgIDogUlRDIE1zcERlSW5pdCBjYWxsYmFjay4KLQorICBbLi5dCiAgIEJ5IGRlZmF1bHQsIGFmdGVyIHRoZSBIQUxfUlRDX0luaXQoKSBhbmQgd2hlbiB0aGUgc3RhdGUgaXMgSEFMX1JUQ19TVEFURV9SRVNFVCwKLSAgYWxsIGNhbGxiYWNrcyBhcmUgc2V0IHRvIHRoZSBjb3JyZXNwb25kaW5nIHdlYWsgZnVuY3Rpb25zIDoKKyAgYWxsIGNhbGxiYWNrcyBhcmUgc2V0IHRvIHRoZSBjb3JyZXNwb25kaW5nIHdlYWsgZnVuY3Rpb25zOgogICBleGFtcGxlcyBBbGFybUFFdmVudENhbGxiYWNrKCksIFdha2VVcFRpbWVyRXZlbnRDYWxsYmFjaygpLgotICBFeGNlcHRpb24gZG9uZSBmb3IgTXNwSW5pdCBhbmQgTXNwRGVJbml0IGNhbGxiYWNrcyB0aGF0IGFyZSByZXNldCB0byB0aGUgbGVnYWN5IHdlYWsgZnVuY3Rpb24KLSAgaW4gdGhlIEhBTF9SVENfSW5pdCgpL0hBTF9SVENfRGVJbml0KCkgb25seSB3aGVuIHRoZXNlIGNhbGxiYWNrcyBhcmUgbnVsbAotICAobm90IHJlZ2lzdGVyZWQgYmVmb3JlaGFuZCkuCi0gIElmIG5vdCwgTXNwSW5pdCBvciBNc3BEZUluaXQgYXJlIG5vdCBudWxsLCBIQUxfUlRDX0luaXQoKS9IQUxfUlRDX0RlSW5pdCgpCi0gIGtlZXAgYW5kIHVzZSB0aGUgdXNlciBNc3BJbml0L01zcERlSW5pdCBjYWxsYmFja3MgKHJlZ2lzdGVyZWQgYmVmb3JlaGFuZCkKLQorICBFeGNlcHRpb24gZG9uZSBmb3IgTXNwSW5pdCgpIGFuZCBNc3BEZUluaXQoKSBjYWxsYmFja3MgdGhhdCBhcmUgcmVzZXQgdG8gdGhlCisgIGxlZ2FjeSB3ZWFrIGZ1bmN0aW9uIGluIHRoZSBIQUxfUlRDX0luaXQoKS9IQUxfUlRDX0RlSW5pdCgpIG9ubHkKKyAgd2hlbiB0aGVzZSBjYWxsYmFja3MgYXJlIG51bGwgKG5vdCByZWdpc3RlcmVkIGJlZm9yZWhhbmQpLgorICBJZiBub3QsIE1zcEluaXQoKSBvciBNc3BEZUluaXQoKSBhcmUgbm90IG51bGwsIEhBTF9SVENfSW5pdCgpL0hBTF9SVENfRGVJbml0KCkKKyAga2VlcCBhbmQgdXNlIHRoZSB1c2VyIE1zcEluaXQoKS9Nc3BEZUluaXQoKSBjYWxsYmFja3MgKHJlZ2lzdGVyZWQgYmVmb3JlaGFuZCkuCisgIFsuLl0KICAgQ2FsbGJhY2tzIGNhbiBiZSByZWdpc3RlcmVkL3VucmVnaXN0ZXJlZCBpbiBIQUxfUlRDX1NUQVRFX1JFQURZIHN0YXRlIG9ubHkuCi0gIEV4Y2VwdGlvbiBkb25lIE1zcEluaXQvTXNwRGVJbml0IHRoYXQgY2FuIGJlIHJlZ2lzdGVyZWQvdW5yZWdpc3RlcmVkCi0gIGluIEhBTF9SVENfU1RBVEVfUkVBRFkgb3IgSEFMX1JUQ19TVEFURV9SRVNFVCBzdGF0ZSwKLSAgdGh1cyByZWdpc3RlcmVkICh1c2VyKSBNc3BJbml0L0RlSW5pdCBjYWxsYmFja3MgY2FuIGJlIHVzZWQgZHVyaW5nIHRoZSBJbml0L0RlSW5pdC4KLSAgSW4gdGhhdCBjYXNlIGZpcnN0IHJlZ2lzdGVyIHRoZSBNc3BJbml0L01zcERlSW5pdCB1c2VyIGNhbGxiYWNrcworICBFeGNlcHRpb24gZG9uZSBNc3BJbml0KCkvTXNwRGVJbml0KCkgdGhhdCBjYW4gYmUgcmVnaXN0ZXJlZC91bnJlZ2lzdGVyZWQKKyAgaW4gSEFMX1JUQ19TVEFURV9SRUFEWSBvciBIQUxfUlRDX1NUQVRFX1JFU0VUIHN0YXRlLgorICBUaHVzIHJlZ2lzdGVyZWQgKHVzZXIpIE1zcEluaXQoKS9Nc3BEZUluaXQoKSBjYWxsYmFja3MgY2FuIGJlIHVzZWQgZHVyaW5nIHRoZQorICBJbml0L0RlSW5pdC4KKyAgSW4gdGhhdCBjYXNlIGZpcnN0IHJlZ2lzdGVyIHRoZSBNc3BJbml0KCkvTXNwRGVJbml0KCkgdXNlciBjYWxsYmFja3MKICAgdXNpbmcgSEFMX1JUQ19SZWdpc3RlckNhbGxiYWNrKCkgYmVmb3JlIGNhbGxpbmcgSEFMX1JUQ19EZUluaXQoKQotICBvciBIQUxfUlRDX0luaXQoKSBmdW5jdGlvbi4KLQorICBvciBIQUxfUlRDX0luaXQoKSBmdW5jdGlvbnMuCisgIFsuLl0KICAgV2hlbiBUaGUgY29tcGlsYXRpb24gZGVmaW5lIFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyBpcyBzZXQgdG8gMCBvcgotICBub3QgZGVmaW5lZCwgdGhlIGNhbGxiYWNrIHJlZ2lzdHJhdGlvbiBmZWF0dXJlIGlzIG5vdCBhdmFpbGFibGUgYW5kIGFsbCBjYWxsYmFja3MKLSAgYXJlIHNldCB0byB0aGUgY29ycmVzcG9uZGluZyB3ZWFrIGZ1bmN0aW9ucy4KLSAgIEBlbmR2ZXJiYXRpbQorICBub3QgZGVmaW5lZCwgdGhlIGNhbGxiYWNrIHJlZ2lzdHJhdGlvbiBmZWF0dXJlIGlzIG5vdCBhdmFpbGFibGUgYW5kIGFsbAorICBjYWxsYmFja3MgYXJlIHNldCB0byB0aGUgY29ycmVzcG9uZGluZyB3ZWFrIGZ1bmN0aW9ucy4KKworICBAZW5kdmVyYmF0aW0KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKQEAgLTE4MSw3ICsxOTQsNyBAQAogICAqLwogCiAvKiogQGRlZmdyb3VwIFJUQyBSVEMKLSAgKiBAYnJpZWYgUlRDIEhBTCBtb2R1bGUgZHJpdmVyCisgICogQGJyaWVmICAgIFJUQyBIQUwgbW9kdWxlIGRyaXZlcgogICAqIEB7CiAgICovCiAKQEAgLTE5OCw5ICsyMTEsOSBAQAogICAqIEB7CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgUlRDX0dyb3VwMSBJbml0aWFsaXphdGlvbiBhbmQgZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zCi0gKiAgQGJyaWVmICAgIEluaXRpYWxpemF0aW9uIGFuZCBDb25maWd1cmF0aW9uIGZ1bmN0aW9ucwotICoKKy8qKiBAZGVmZ3JvdXAgUlRDX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDEgSW5pdGlhbGl6YXRpb24gYW5kIGRlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucworICAqIEBicmllZiAgICBJbml0aWFsaXphdGlvbiBhbmQgQ29uZmlndXJhdGlvbiBmdW5jdGlvbnMKKyAgKgogQHZlcmJhdGltCiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAjIyMjIyBJbml0aWFsaXphdGlvbiBhbmQgZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zICMjIyMjCkBAIC0yMTEsNyArMjI0LDcgQEAKICAgICAgICAgIFJUQyByZWdpc3RlcnMgc3luY2hyb25pemF0aW9uIGNoZWNrIGFuZCByZWZlcmVuY2UgY2xvY2sgZGV0ZWN0aW9uIGVuYWJsZS4KICAgICAgICAgICgjKSBUaGUgUlRDIFByZXNjYWxlciBpcyBwcm9ncmFtbWVkIHRvIGdlbmVyYXRlIHRoZSBSVEMgMUh6IHRpbWUgYmFzZS4KICAgICAgICAgICAgICBJdCBpcyBzcGxpdCBpbnRvIDIgcHJvZ3JhbW1hYmxlIHByZXNjYWxlcnMgdG8gbWluaW1pemUgcG93ZXIgY29uc3VtcHRpb24uCi0gICAgICAgICAgICAgKCsrKSBBIDctYml0IGFzeW5jaHJvbm91cyBwcmVzY2FsZXIgYW5kIGEgMTMtYml0IHN5bmNocm9ub3VzIHByZXNjYWxlci4KKyAgICAgICAgICAgICAoKyspIEEgNy1iaXQgYXN5bmNocm9ub3VzIHByZXNjYWxlciBhbmQgYSAxNS1iaXQgc3luY2hyb25vdXMgcHJlc2NhbGVyLgogICAgICAgICAgICAgICgrKykgV2hlbiBib3RoIHByZXNjYWxlcnMgYXJlIHVzZWQsIGl0IGlzIHJlY29tbWVuZGVkIHRvIGNvbmZpZ3VyZSB0aGUKICAgICAgICAgICAgICAgICAgYXN5bmNocm9ub3VzIHByZXNjYWxlciB0byBhIGhpZ2ggdmFsdWUgdG8gbWluaW1pemUgcG93ZXIgY29uc3VtcHRpb24uCiAgICAgICAgICAoIykgQWxsIFJUQyByZWdpc3RlcnMgYXJlIFdyaXRlIHByb3RlY3RlZC4gV3JpdGluZyB0byB0aGUgUlRDIHJlZ2lzdGVycwpAQCAtMjIxLDExICsyMzQsMTEgQEAKICAgICAgICAgICAgICBhbmQgaXRzIHZhbHVlIGNhbiBiZSB1cGRhdGVkLiBXaGVuIHRoZSBpbml0aWFsaXphdGlvbiBzZXF1ZW5jZSBpcwogICAgICAgICAgICAgIGNvbXBsZXRlLCB0aGUgY2FsZW5kYXIgcmVzdGFydHMgY291bnRpbmcgYWZ0ZXIgNCBSVENDTEsgY3ljbGVzLgogICAgICAgICAgKCMpIFRvIHJlYWQgdGhlIGNhbGVuZGFyIHRocm91Z2ggdGhlIHNoYWRvdyByZWdpc3RlcnMgYWZ0ZXIgQ2FsZW5kYXIKLSAgICAgICAgICAgICBpbml0aWFsaXphdGlvbiwgY2FsZW5kYXIgdXBkYXRlIG9yIGFmdGVyIHdha2UtdXAgZnJvbSBsb3cgcG93ZXIgbW9kZXMKKyAgICAgICAgICAgICBpbml0aWFsaXphdGlvbiwgY2FsZW5kYXIgdXBkYXRlIG9yIGFmdGVyIHdha2V1cCBmcm9tIGxvdyBwb3dlciBtb2RlcwogICAgICAgICAgICAgIHRoZSBzb2Z0d2FyZSBtdXN0IGZpcnN0IGNsZWFyIHRoZSBSU0YgZmxhZy4gVGhlIHNvZnR3YXJlIG11c3QgdGhlbgogICAgICAgICAgICAgIHdhaXQgdW50aWwgaXQgaXMgc2V0IGFnYWluIGJlZm9yZSByZWFkaW5nIHRoZSBjYWxlbmRhciwgd2hpY2ggbWVhbnMKICAgICAgICAgICAgICB0aGF0IHRoZSBjYWxlbmRhciByZWdpc3RlcnMgaGF2ZSBiZWVuIGNvcnJlY3RseSBjb3BpZWQgaW50byB0aGUKLSAgICAgICAgICAgICBSVENfVFIgYW5kIFJUQ19EUiBzaGFkb3cgcmVnaXN0ZXJzLlRoZSBIQUxfUlRDX1dhaXRGb3JTeW5jaHJvKCkgZnVuY3Rpb24KKyAgICAgICAgICAgICBSVENfVFIgYW5kIFJUQ19EUiBzaGFkb3cgcmVnaXN0ZXJzLiBUaGUgSEFMX1JUQ19XYWl0Rm9yU3luY2hybygpIGZ1bmN0aW9uCiAgICAgICAgICAgICAgaW1wbGVtZW50cyB0aGUgYWJvdmUgc29mdHdhcmUgc2VxdWVuY2UgKFJTRiBjbGVhciBhbmQgUlNGIGNoZWNrKS4KIAogQGVuZHZlcmJhdGltCkBAIC0yNDAsMTAgKzI1MywxMiBAQAogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ19Jbml0KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKQogewotICAvKiBDaGVjayB0aGUgUlRDIHBlcmlwaGVyYWwgc3RhdGUgKi8KLSAgaWYoaHJ0YyA9PSBOVUxMKQorICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfRVJST1I7CisKKyAgLyogQ2hlY2sgUlRDIGhhbmRsZXIgdmFsaWRpdHkgKi8KKyAgaWYgKGhydGMgPT0gTlVMTCkKICAgewotICAgICByZXR1cm4gSEFMX0VSUk9SOworICAgIHJldHVybiBIQUxfRVJST1I7CiAgIH0KIAogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwpAQCAtMjUxLDEyICsyNjYsMTIgQEAKICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19IT1VSX0ZPUk1BVChocnRjLT5Jbml0LkhvdXJGb3JtYXQpKTsKICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19BU1lOQ0hfUFJFRElWKGhydGMtPkluaXQuQXN5bmNoUHJlZGl2KSk7CiAgIGFzc2VydF9wYXJhbShJU19SVENfU1lOQ0hfUFJFRElWKGhydGMtPkluaXQuU3luY2hQcmVkaXYpKTsKLSAgYXNzZXJ0X3BhcmFtIChJU19SVENfT1VUUFVUKGhydGMtPkluaXQuT3V0UHV0KSk7Ci0gIGFzc2VydF9wYXJhbSAoSVNfUlRDX09VVFBVVF9QT0woaHJ0Yy0+SW5pdC5PdXRQdXRQb2xhcml0eSkpOworICBhc3NlcnRfcGFyYW0oSVNfUlRDX09VVFBVVChocnRjLT5Jbml0Lk91dFB1dCkpOworICBhc3NlcnRfcGFyYW0oSVNfUlRDX09VVFBVVF9QT0woaHJ0Yy0+SW5pdC5PdXRQdXRQb2xhcml0eSkpOwogICBhc3NlcnRfcGFyYW0oSVNfUlRDX09VVFBVVF9UWVBFKGhydGMtPkluaXQuT3V0UHV0VHlwZSkpOwogCiAjaWYgKFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQotICBpZihocnRjLT5TdGF0ZSA9PSBIQUxfUlRDX1NUQVRFX1JFU0VUKQorICBpZiAoaHJ0Yy0+U3RhdGUgPT0gSEFMX1JUQ19TVEFURV9SRVNFVCkKICAgewogICAgIC8qIEFsbG9jYXRlIGxvY2sgcmVzb3VyY2UgYW5kIGluaXRpYWxpemUgaXQgKi8KICAgICBocnRjLT5Mb2NrID0gSEFMX1VOTE9DS0VEOwpAQCAtMjY5LDIwICsyODQsMjAgQEAKICAgICBocnRjLT5UYW1wZXIyRXZlbnRDYWxsYmFjayAgICAgICAgID0gIEhBTF9SVENFeF9UYW1wZXIyRXZlbnRDYWxsYmFjazsgICAgIC8qIExlZ2FjeSB3ZWFrIFRhbXBlcjJFdmVudENhbGxiYWNrICAgICAqLwogICAgIGhydGMtPlRhbXBlcjNFdmVudENhbGxiYWNrICAgICAgICAgPSAgSEFMX1JUQ0V4X1RhbXBlcjNFdmVudENhbGxiYWNrOyAgICAgLyogTGVnYWN5IHdlYWsgVGFtcGVyM0V2ZW50Q2FsbGJhY2sgICAgICovCiAKLSAgICBpZihocnRjLT5Nc3BJbml0Q2FsbGJhY2sgPT0gTlVMTCkKKyAgICBpZiAoaHJ0Yy0+TXNwSW5pdENhbGxiYWNrID09IE5VTEwpCiAgICAgewogICAgICAgaHJ0Yy0+TXNwSW5pdENhbGxiYWNrID0gSEFMX1JUQ19Nc3BJbml0OwogICAgIH0KICAgICAvKiBJbml0IHRoZSBsb3cgbGV2ZWwgaGFyZHdhcmUgKi8KICAgICBocnRjLT5Nc3BJbml0Q2FsbGJhY2soaHJ0Yyk7CiAKLSAgICBpZihocnRjLT5Nc3BEZUluaXRDYWxsYmFjayA9PSBOVUxMKQorICAgIGlmIChocnRjLT5Nc3BEZUluaXRDYWxsYmFjayA9PSBOVUxMKQogICAgIHsKICAgICAgIGhydGMtPk1zcERlSW5pdENhbGxiYWNrID0gSEFMX1JUQ19Nc3BEZUluaXQ7CiAgICAgfQogICB9Ci0jZWxzZQotICBpZihocnRjLT5TdGF0ZSA9PSBIQUxfUlRDX1NUQVRFX1JFU0VUKQorI2Vsc2UgLyogVVNFX0hBTF9SVENfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisgIGlmIChocnRjLT5TdGF0ZSA9PSBIQUxfUlRDX1NUQVRFX1JFU0VUKQogICB7CiAgICAgLyogQWxsb2NhdGUgbG9jayByZXNvdXJjZSBhbmQgaW5pdGlhbGl6ZSBpdCAqLwogICAgIGhydGMtPkxvY2sgPSBIQUxfVU5MT0NLRUQ7CkBAIC0yOTAsNzQgKzMwNSw2OCBAQAogICAgIC8qIEluaXRpYWxpemUgUlRDIE1TUCAqLwogICAgIEhBTF9SVENfTXNwSW5pdChocnRjKTsKICAgfQotI2VuZGlmIC8qIChVU0VfSEFMX1JUQ19SRUdJU1RFUl9DQUxMQkFDS1MpICovCisjZW5kaWYgLyogVVNFX0hBTF9SVENfUkVHSVNURVJfQ0FMTEJBQ0tTICovCiAKICAgLyogU2V0IFJUQyBzdGF0ZSAqLwogICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfQlVTWTsKIAotICAvKiBEaXNhYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCi0gIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRElTQUJMRShocnRjKTsKLQotICAvKiBTZXQgSW5pdGlhbGl6YXRpb24gbW9kZSAqLwotICBpZihSVENfRW50ZXJJbml0TW9kZShocnRjKSAhPSBIQUxfT0spCisgIC8qIENoZWNrIHdoZXRoZXIgdGhlIGNhbGVuZGFyIG5lZWRzIHRvIGJlIGluaXRpYWxpemVkICovCisgIGlmIChfX0hBTF9SVENfSVNfQ0FMRU5EQVJfSU5JVElBTElaRUQoaHJ0YykgPT0gMFUpCiAgIHsKKyAgICAvKiBEaXNhYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCisgICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9ESVNBQkxFKGhydGMpOworCisgICAgLyogRW50ZXIgSW5pdGlhbGl6YXRpb24gbW9kZSAqLworICAgIHN0YXR1cyA9IFJUQ19FbnRlckluaXRNb2RlKGhydGMpOworCisgICAgaWYgKHN0YXR1cyA9PSBIQUxfT0spCisgICAgeworICAgICAgLyogQ2xlYXIgUlRDX0NSIEZNVCwgT1NFTCBhbmQgUE9MIEJpdHMgKi8KKyAgICAgIGhydGMtPkluc3RhbmNlLT5DUiAmPSAoKHVpbnQzMl90KX4oUlRDX0NSX0ZNVCB8IFJUQ19DUl9PU0VMIHwgUlRDX0NSX1BPTCkpOworICAgICAgLyogU2V0IFJUQ19DUiByZWdpc3RlciAqLworICAgICAgaHJ0Yy0+SW5zdGFuY2UtPkNSIHw9ICh1aW50MzJfdCkoaHJ0Yy0+SW5pdC5Ib3VyRm9ybWF0IHwgaHJ0Yy0+SW5pdC5PdXRQdXQgfCBocnRjLT5Jbml0Lk91dFB1dFBvbGFyaXR5KTsKKworICAgICAgLyogQ29uZmlndXJlIHRoZSBSVEMgUFJFUiAqLworICAgICAgaHJ0Yy0+SW5zdGFuY2UtPlBSRVIgPSAodWludDMyX3QpKGhydGMtPkluaXQuU3luY2hQcmVkaXYpOworICAgICAgaHJ0Yy0+SW5zdGFuY2UtPlBSRVIgfD0gKHVpbnQzMl90KShocnRjLT5Jbml0LkFzeW5jaFByZWRpdiA8PCBSVENfUFJFUl9QUkVESVZfQV9Qb3MpOworCisgICAgICAvKiBFeGl0IEluaXRpYWxpemF0aW9uIG1vZGUgKi8KKyAgICAgIHN0YXR1cyA9IFJUQ19FeGl0SW5pdE1vZGUoaHJ0Yyk7CisgICAgfQorCisgICAgaWYgKHN0YXR1cyA9PSBIQUxfT0spCisgICAgeworICAgICAgaHJ0Yy0+SW5zdGFuY2UtPk9SICY9ICh1aW50MzJfdCl+UlRDX09VVFBVVF9UWVBFX1BVU0hQVUxMOworICAgICAgaHJ0Yy0+SW5zdGFuY2UtPk9SIHw9ICh1aW50MzJfdCkoaHJ0Yy0+SW5pdC5PdXRQdXRUeXBlKTsKKyAgICB9CisKICAgICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKLQotICAgIC8qIFNldCBSVEMgc3RhdGUgKi8KLSAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfRVJST1I7Ci0KLSAgICByZXR1cm4gSEFMX0VSUk9SOwogICB9CiAgIGVsc2UKICAgewotICAgIC8qIENsZWFyIFJUQ19DUiBGTVQsIE9TRUwgYW5kIFBPTCBCaXRzICovCi0gICAgaHJ0Yy0+SW5zdGFuY2UtPkNSICY9ICgodWludDMyX3QpfihSVENfQ1JfRk1UIHwgUlRDX0NSX09TRUwgfCBSVENfQ1JfUE9MKSk7Ci0gICAgLyogU2V0IFJUQ19DUiByZWdpc3RlciAqLwotICAgIGhydGMtPkluc3RhbmNlLT5DUiB8PSAodWludDMyX3QpKGhydGMtPkluaXQuSG91ckZvcm1hdCB8IGhydGMtPkluaXQuT3V0UHV0IHwgaHJ0Yy0+SW5pdC5PdXRQdXRQb2xhcml0eSk7Ci0KLSAgICAvKiBDb25maWd1cmUgdGhlIFJUQyBQUkVSICovCi0gICAgaHJ0Yy0+SW5zdGFuY2UtPlBSRVIgPSAodWludDMyX3QpKGhydGMtPkluaXQuU3luY2hQcmVkaXYpOwotICAgIGhydGMtPkluc3RhbmNlLT5QUkVSIHw9ICh1aW50MzJfdCkoaHJ0Yy0+SW5pdC5Bc3luY2hQcmVkaXYgPDwgMTYpOwotCi0gICAgLyogRXhpdCBJbml0aWFsaXphdGlvbiBtb2RlICovCi0gICAgaHJ0Yy0+SW5zdGFuY2UtPklTUiAmPSAodWludDMyX3QpflJUQ19JU1JfSU5JVDsKLSAgICAvKiBJZiAgQ1JfQllQU0hBRCBiaXQgPSAwLCB3YWl0IGZvciBzeW5jaHJvIGVsc2UgdGhpcyBjaGVjayBpcyBub3QgbmVlZGVkICovCi0gICAgaWYoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9CWVBTSEFEKSA9PSBSRVNFVCkKLSAgICB7Ci0gICAgICBpZihIQUxfUlRDX1dhaXRGb3JTeW5jaHJvKGhydGMpICE9IEhBTF9PSykKLSAgICAgIHsKLSAgICAgICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCi0gICAgICAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOwotCi0gICAgICAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9FUlJPUjsKLQotICAgICAgICByZXR1cm4gSEFMX0VSUk9SOwotICAgICAgfQotICAgIH0KLSAgICBocnRjLT5JbnN0YW5jZS0+T1IgJj0gKHVpbnQzMl90KX5SVENfT1JfQUxBUk1UWVBFOwotICAgIGhydGMtPkluc3RhbmNlLT5PUiB8PSAodWludDMyX3QpKGhydGMtPkluaXQuT3V0UHV0VHlwZSk7Ci0KLSAgICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KLSAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKLQotICAgIC8qIFNldCBSVEMgc3RhdGUgKi8KLSAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfUkVBRFk7Ci0KLSAgICByZXR1cm4gSEFMX09LOworICAgIC8qIFRoZSBjYWxlbmRhciBpcyBhbHJlYWR5IGluaXRpYWxpemVkICovCisgICAgc3RhdHVzID0gSEFMX09LOwogICB9CisKKyAgaWYgKHN0YXR1cyA9PSBIQUxfT0spCisgIHsKKyAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfUkVBRFk7CisgIH0KKworICByZXR1cm4gc3RhdHVzOwogfQogCiAvKioKICAgKiBAYnJpZWYgIERlSW5pdGlhbGl6ZXMgdGhlIFJUQyBwZXJpcGhlcmFsCiAgICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCi0gICogQG5vdGUgICBUaGlzIGZ1bmN0aW9uIGRvZXNuJ3QgcmVzZXQgdGhlIFJUQyBCYWNrdXAgRGF0YSByZWdpc3RlcnMuCisgICogQG5vdGUgICBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IHJlc2V0IHRoZSBSVEMgQmFja3VwIERhdGEgcmVnaXN0ZXJzLgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ19EZUluaXQoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpCiB7Ci0gIHVpbnQzMl90IHRpY2tzdGFydCA9IDA7CisgIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1cyA9IEhBTF9FUlJPUjsKIAogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfUlRDX0FMTF9JTlNUQU5DRShocnRjLT5JbnN0YW5jZSkpOwpAQCAtMzY4LDExNCArMzc3LDczIEBACiAgIC8qIERpc2FibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9ESVNBQkxFKGhydGMpOwogCi0gIC8qIFNldCBJbml0aWFsaXphdGlvbiBtb2RlICovCi0gIGlmKFJUQ19FbnRlckluaXRNb2RlKGhydGMpICE9IEhBTF9PSykKKyAgLyogRW50ZXIgSW5pdGlhbGl6YXRpb24gbW9kZSAqLworICBzdGF0dXMgPSBSVENfRW50ZXJJbml0TW9kZShocnRjKTsKKworICBpZiAoc3RhdHVzID09IEhBTF9PSykKICAgewotICAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwotICAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOworICAgIC8qIFJlc2V0IFJUQyByZWdpc3RlcnMgKi8KKyAgICBocnRjLT5JbnN0YW5jZS0+VFIgPSAweDAwMDAwMDAwVTsKKyAgICBocnRjLT5JbnN0YW5jZS0+RFIgPSAoUlRDX0RSX1dEVV8wIHwgUlRDX0RSX01VXzAgfCBSVENfRFJfRFVfMCk7CisgICAgaHJ0Yy0+SW5zdGFuY2UtPkNSICAmPSAweDAwMDAwMDAwVTsKKyAgICBocnRjLT5JbnN0YW5jZS0+V1VUUiA9IFJUQ19XVVRSX1dVVDsKKyAgICBocnRjLT5JbnN0YW5jZS0+UFJFUiA9ICh1aW50MzJfdCkoUlRDX1BSRVJfUFJFRElWX0EgfCAweDAwMDAwMEZGVSk7CisgICAgaHJ0Yy0+SW5zdGFuY2UtPkFMUk1BUiAgID0gMHgwMDAwMDAwMFU7CisgICAgaHJ0Yy0+SW5zdGFuY2UtPkFMUk1CUiAgID0gMHgwMDAwMDAwMFU7CisgICAgaHJ0Yy0+SW5zdGFuY2UtPkNBTFIgICAgID0gMHgwMDAwMDAwMFU7CisgICAgaHJ0Yy0+SW5zdGFuY2UtPlNISUZUUiAgID0gMHgwMDAwMDAwMFU7CisgICAgaHJ0Yy0+SW5zdGFuY2UtPkFMUk1BU1NSID0gMHgwMDAwMDAwMFU7CisgICAgaHJ0Yy0+SW5zdGFuY2UtPkFMUk1CU1NSID0gMHgwMDAwMDAwMFU7CiAKLSAgICAvKiBTZXQgUlRDIHN0YXRlICovCi0gICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX0VSUk9SOwotCi0gICAgcmV0dXJuIEhBTF9FUlJPUjsKLSAgfQotICBlbHNlCi0gIHsKLSAgICAvKiBSZXNldCBUUiwgRFIgYW5kIENSIHJlZ2lzdGVycyAqLwotICAgIGhydGMtPkluc3RhbmNlLT5UUiA9ICh1aW50MzJfdCkweDAwMDAwMDAwOwotICAgIGhydGMtPkluc3RhbmNlLT5EUiA9ICh1aW50MzJfdCkweDAwMDAyMTAxOwotICAgIC8qIFJlc2V0IEFsbCBDUiBiaXRzIGV4Y2VwdCBDUlsyOjBdICovCi0gICAgaHJ0Yy0+SW5zdGFuY2UtPkNSICY9ICh1aW50MzJfdCkweDAwMDAwMDA3OwotCi0gICAgLyogR2V0IHRpY2sgKi8KLSAgICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwotCi0gICAgLyogV2FpdCB0aWxsIFdVVFdGIGZsYWcgaXMgc2V0IGFuZCBpZiBUaW1lIG91dCBpcyByZWFjaGVkIGV4aXQgKi8KLSAgICB3aGlsZSgoKGhydGMtPkluc3RhbmNlLT5JU1IpICYgUlRDX0lTUl9XVVRXRikgPT0gKHVpbnQzMl90KVJFU0VUKQotICAgIHsKLSAgICAgIGlmKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0ICkgPiBSVENfVElNRU9VVF9WQUxVRSkKLSAgICAgIHsKLSAgICAgICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCi0gICAgICAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOwotCi0gICAgICAgIC8qIFNldCBSVEMgc3RhdGUgKi8KLSAgICAgICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1RJTUVPVVQ7Ci0KLSAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOwotICAgICAgfQotICAgIH0KLQotICAgIC8qIFJlc2V0IGFsbCBSVEMgQ1IgcmVnaXN0ZXIgYml0cyAqLwotICAgIGhydGMtPkluc3RhbmNlLT5DUiAmPSAodWludDMyX3QpMHgwMDAwMDAwMDsKLSAgICBocnRjLT5JbnN0YW5jZS0+V1VUUiA9ICh1aW50MzJfdCkweDAwMDBGRkZGOwotICAgIGhydGMtPkluc3RhbmNlLT5QUkVSID0gKHVpbnQzMl90KTB4MDA3RjAwRkY7Ci0gICAgaHJ0Yy0+SW5zdGFuY2UtPkFMUk1BUiA9ICh1aW50MzJfdCkweDAwMDAwMDAwOwotICAgIGhydGMtPkluc3RhbmNlLT5BTFJNQlIgPSAodWludDMyX3QpMHgwMDAwMDAwMDsKLSAgICBocnRjLT5JbnN0YW5jZS0+U0hJRlRSID0gKHVpbnQzMl90KTB4MDAwMDAwMDA7Ci0gICAgaHJ0Yy0+SW5zdGFuY2UtPkNBTFIgPSAodWludDMyX3QpMHgwMDAwMDAwMDsKLSAgICBocnRjLT5JbnN0YW5jZS0+QUxSTUFTU1IgPSAodWludDMyX3QpMHgwMDAwMDAwMDsKLSAgICBocnRjLT5JbnN0YW5jZS0+QUxSTUJTU1IgPSAodWludDMyX3QpMHgwMDAwMDAwMDsKLQotICAgIC8qIFJlc2V0IElTUiByZWdpc3RlciBhbmQgZXhpdCBpbml0aWFsaXphdGlvbiBtb2RlICovCi0gICAgaHJ0Yy0+SW5zdGFuY2UtPklTUiA9ICh1aW50MzJfdCkweDAwMDAwMDAwOwotCi0gICAgLyogUmVzZXQgVGFtcGVyIGFuZCBhbHRlcm5hdGUgZnVuY3Rpb25zIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgKi8KLSAgICBocnRjLT5JbnN0YW5jZS0+VEFNUENSID0gMHgwMDAwMDAwMDsKLQotICAgIC8qIFJlc2V0IE9wdGlvbiByZWdpc3RlciAqLwotICAgIGhydGMtPkluc3RhbmNlLT5PUiA9IDB4MDAwMDAwMDA7Ci0KLSAgICAvKiBJZiAgUlRDX0NSX0JZUFNIQUQgYml0ID0gMCwgd2FpdCBmb3Igc3luY2hybyBlbHNlIHRoaXMgY2hlY2sgaXMgbm90IG5lZWRlZCAqLwotICAgIGlmKChocnRjLT5JbnN0YW5jZS0+Q1IgJiBSVENfQ1JfQllQU0hBRCkgPT0gUkVTRVQpCi0gICAgewotICAgICAgaWYoSEFMX1JUQ19XYWl0Rm9yU3luY2hybyhocnRjKSAhPSBIQUxfT0spCi0gICAgICB7Ci0gICAgICAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwotICAgICAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKLQotICAgICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfRVJST1I7Ci0KLSAgICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKLSAgICAgIH0KLSAgICB9CisgICAgLyogRXhpdCBJbml0aWFsaXphdGlvbiBtb2RlICovCisgICAgc3RhdHVzID0gUlRDX0V4aXRJbml0TW9kZShocnRjKTsKICAgfQogCiAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKIAotI2lmIChVU0VfSEFMX1JUQ19SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKLSAgaWYoaHJ0Yy0+TXNwRGVJbml0Q2FsbGJhY2sgPT0gTlVMTCkKKyAgaWYgKHN0YXR1cyA9PSBIQUxfT0spCiAgIHsKLSAgICBocnRjLT5Nc3BEZUluaXRDYWxsYmFjayA9IEhBTF9SVENfTXNwRGVJbml0OworICAgIC8qIFJlc2V0IFRhbXBlciBhbmQgYWx0ZXJuYXRlIGZ1bmN0aW9ucyBjb25maWd1cmF0aW9uIHJlZ2lzdGVyICovCisgICAgaHJ0Yy0+SW5zdGFuY2UtPlRBTVBDUiA9IDB4MDAwMDAwMDBVOworCisgICAgLyogUmVzZXQgT3B0aW9uIHJlZ2lzdGVyICovCisgICAgaHJ0Yy0+SW5zdGFuY2UtPk9SID0gMHgwMDAwMDAwMFU7CisKKyNpZiAoVVNFX0hBTF9SVENfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCisgICAgaWYgKGhydGMtPk1zcERlSW5pdENhbGxiYWNrID09IE5VTEwpCisgICAgeworICAgICAgaHJ0Yy0+TXNwRGVJbml0Q2FsbGJhY2sgPSBIQUxfUlRDX01zcERlSW5pdDsKKyAgICB9CisKKyAgICAvKiBEZUluaXQgdGhlIGxvdyBsZXZlbCBoYXJkd2FyZTogQ0xPQ0ssIE5WSUMuKi8KKyAgICBocnRjLT5Nc3BEZUluaXRDYWxsYmFjayhocnRjKTsKKyNlbHNlIC8qIFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyAqLworICAgIC8qIERlLUluaXRpYWxpemUgUlRDIE1TUCAqLworICAgIEhBTF9SVENfTXNwRGVJbml0KGhydGMpOworI2VuZGlmIC8qIFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyAqLworCisgICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1JFU0VUOwogICB9CiAKLSAgLyogRGVJbml0IHRoZSBsb3cgbGV2ZWwgaGFyZHdhcmU6IENMT0NLLCBOVklDLiovCi0gIGhydGMtPk1zcERlSW5pdENhbGxiYWNrKGhydGMpOwotCi0jZWxzZQotICAvKiBEZS1Jbml0aWFsaXplIFJUQyBNU1AgKi8KLSAgSEFMX1JUQ19Nc3BEZUluaXQoaHJ0Yyk7Ci0jZW5kaWYgLyogKFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUykgKi8KLQotICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfUkVTRVQ7Ci0KICAgLyogUmVsZWFzZSBMb2NrICovCiAgIF9fSEFMX1VOTE9DSyhocnRjKTsKIAotICByZXR1cm4gSEFMX09LOworICByZXR1cm4gc3RhdHVzOwogfQogCiAjaWYgKFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQogLyoqCi0gICogQGJyaWVmICBSZWdpc3RlciBhIFVzZXIgUlRDIENhbGxiYWNrCisgICogQGJyaWVmICBSZWdpc3RlcnMgYSBVc2VyIFJUQyBDYWxsYmFjawogICAqICAgICAgICAgVG8gYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSB3ZWFrIHByZWRlZmluZWQgY2FsbGJhY2sKLSAgKiBAcGFyYW0gIGhydGMgUlRDIGhhbmRsZQorICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgogICAqIEBwYXJhbSAgQ2FsbGJhY2tJRCBJRCBvZiB0aGUgY2FsbGJhY2sgdG8gYmUgcmVnaXN0ZXJlZAogICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1JUQ19BTEFSTV9BX0VWRU5UX0NCX0lEICAgICAgICAgIEFsYXJtIEEgRXZlbnQgQ2FsbGJhY2sgSUQKICAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1JUQ19BTEFSTV9CX0VWRU5UX0NCX0lEICAgICAgICAgIEFsYXJtIEIgRXZlbnQgQ2FsbGJhY2sgSUQKLSAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1JUQ19USU1FU1RBTVBfRVZFTlRfQ0JfSUQgICAgICAgIFRpbWVTdGFtcCBFdmVudCBDYWxsYmFjayBJRAotICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfUlRDX1dBS0VVUFRJTUVSX0VWRU5UX0NCX0lEICAgICAgV2FrZS1VcCBUaW1lciBFdmVudCBDYWxsYmFjayBJRAorICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfUlRDX1RJTUVTVEFNUF9FVkVOVF9DQl9JRCAgICAgICAgVGltZXN0YW1wIEV2ZW50IENhbGxiYWNrIElECisgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9SVENfV0FLRVVQVElNRVJfRVZFTlRfQ0JfSUQgICAgICBXYWtldXAgVGltZXIgRXZlbnQgQ2FsbGJhY2sgSUQKICAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1JUQ19UQU1QRVIxX0VWRU5UX0NCX0lEICAgICAgICAgIFRhbXBlciAxIENhbGxiYWNrIElECiAgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9SVENfVEFNUEVSMl9FVkVOVF9DQl9JRCAgICAgICAgICBUYW1wZXIgMiBDYWxsYmFjayBJRAogICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfUlRDX1RBTVBFUjNfRVZFTlRfQ0JfSUQgICAgICAgICAgVGFtcGVyIDMgQ2FsbGJhY2sgSUQKQEAgLTQ4OCw3ICs0NTYsNyBAQAogewogICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfT0s7CiAKLSAgaWYocENhbGxiYWNrID09IE5VTEwpCisgIGlmIChwQ2FsbGJhY2sgPT0gTlVMTCkKICAgewogICAgIHJldHVybiBIQUxfRVJST1I7CiAgIH0KQEAgLTQ5Niw2OCArNDY0LDY4IEBACiAgIC8qIFByb2Nlc3MgbG9ja2VkICovCiAgIF9fSEFMX0xPQ0soaHJ0Yyk7CiAKLSAgaWYoSEFMX1JUQ19TVEFURV9SRUFEWSA9PSBocnRjLT5TdGF0ZSkKKyAgaWYgKEhBTF9SVENfU1RBVEVfUkVBRFkgPT0gaHJ0Yy0+U3RhdGUpCiAgIHsKICAgICBzd2l0Y2ggKENhbGxiYWNrSUQpCiAgICAgewotICAgIGNhc2UgSEFMX1JUQ19BTEFSTV9BX0VWRU5UX0NCX0lEIDoKLSAgICAgIGhydGMtPkFsYXJtQUV2ZW50Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1JUQ19BTEFSTV9BX0VWRU5UX0NCX0lEIDoKKyAgICAgICAgaHJ0Yy0+QWxhcm1BRXZlbnRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIEhBTF9SVENfQUxBUk1fQl9FVkVOVF9DQl9JRCA6Ci0gICAgICBocnRjLT5BbGFybUJFdmVudENhbGxiYWNrID0gcENhbGxiYWNrOwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9SVENfQUxBUk1fQl9FVkVOVF9DQl9JRCA6CisgICAgICAgIGhydGMtPkFsYXJtQkV2ZW50Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7CisgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBIQUxfUlRDX1RJTUVTVEFNUF9FVkVOVF9DQl9JRCA6Ci0gICAgICBocnRjLT5UaW1lU3RhbXBFdmVudENhbGxiYWNrID0gcENhbGxiYWNrOwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9SVENfVElNRVNUQU1QX0VWRU5UX0NCX0lEIDoKKyAgICAgICAgaHJ0Yy0+VGltZVN0YW1wRXZlbnRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIEhBTF9SVENfV0FLRVVQVElNRVJfRVZFTlRfQ0JfSUQgOgotICAgICAgaHJ0Yy0+V2FrZVVwVGltZXJFdmVudENhbGxiYWNrID0gcENhbGxiYWNrOwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9SVENfV0FLRVVQVElNRVJfRVZFTlRfQ0JfSUQgOgorICAgICAgICBocnRjLT5XYWtlVXBUaW1lckV2ZW50Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7CisgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBIQUxfUlRDX1RBTVBFUjFfRVZFTlRfQ0JfSUQgOgotICAgICAgaHJ0Yy0+VGFtcGVyMUV2ZW50Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1JUQ19UQU1QRVIxX0VWRU5UX0NCX0lEIDoKKyAgICAgICAgaHJ0Yy0+VGFtcGVyMUV2ZW50Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7CisgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBIQUxfUlRDX1RBTVBFUjJfRVZFTlRfQ0JfSUQgOgotICAgICAgaHJ0Yy0+VGFtcGVyMkV2ZW50Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1JUQ19UQU1QRVIyX0VWRU5UX0NCX0lEIDoKKyAgICAgICAgaHJ0Yy0+VGFtcGVyMkV2ZW50Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7CisgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBIQUxfUlRDX1RBTVBFUjNfRVZFTlRfQ0JfSUQgOgotICAgICAgaHJ0Yy0+VGFtcGVyM0V2ZW50Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1JUQ19UQU1QRVIzX0VWRU5UX0NCX0lEIDoKKyAgICAgICAgaHJ0Yy0+VGFtcGVyM0V2ZW50Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7CisgICAgICAgIGJyZWFrOwogCi0gICBjYXNlIEhBTF9SVENfTVNQSU5JVF9DQl9JRCA6Ci0gICAgICBocnRjLT5Nc3BJbml0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1JUQ19NU1BJTklUX0NCX0lEIDoKKyAgICAgICAgaHJ0Yy0+TXNwSW5pdENhbGxiYWNrID0gcENhbGxiYWNrOworICAgICAgICBicmVhazsKIAotICAgY2FzZSBIQUxfUlRDX01TUERFSU5JVF9DQl9JRCA6Ci0gICAgICBocnRjLT5Nc3BEZUluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKLSAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfUlRDX01TUERFSU5JVF9DQl9JRCA6CisgICAgICAgIGhydGMtPk1zcERlSW5pdENhbGxiYWNrID0gcENhbGxiYWNrOworICAgICAgICBicmVhazsKIAotICAgIGRlZmF1bHQgOgotICAgICAvKiBSZXR1cm4gZXJyb3Igc3RhdHVzICovCi0gICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOwotICAgICAgYnJlYWs7CisgICAgICBkZWZhdWx0IDoKKyAgICAgICAgLyogUmV0dXJuIGVycm9yIHN0YXR1cyAqLworICAgICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOworICAgICAgICBicmVhazsKICAgICB9CiAgIH0KLSAgZWxzZSBpZihIQUxfUlRDX1NUQVRFX1JFU0VUID09IGhydGMtPlN0YXRlKQorICBlbHNlIGlmIChIQUxfUlRDX1NUQVRFX1JFU0VUID09IGhydGMtPlN0YXRlKQogICB7CiAgICAgc3dpdGNoIChDYWxsYmFja0lEKQogICAgIHsKLSAgICBjYXNlIEhBTF9SVENfTVNQSU5JVF9DQl9JRCA6Ci0gICAgICBocnRjLT5Nc3BJbml0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1JUQ19NU1BJTklUX0NCX0lEIDoKKyAgICAgICAgaHJ0Yy0+TXNwSW5pdENhbGxiYWNrID0gcENhbGxiYWNrOworICAgICAgICBicmVhazsKIAotICAgY2FzZSBIQUxfUlRDX01TUERFSU5JVF9DQl9JRCA6Ci0gICAgICBocnRjLT5Nc3BEZUluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKLSAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfUlRDX01TUERFSU5JVF9DQl9JRCA6CisgICAgICAgIGhydGMtPk1zcERlSW5pdENhbGxiYWNrID0gcENhbGxiYWNrOworICAgICAgICBicmVhazsKIAotICAgIGRlZmF1bHQgOgotICAgICAvKiBSZXR1cm4gZXJyb3Igc3RhdHVzICovCi0gICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOwotICAgICAgYnJlYWs7CisgICAgICBkZWZhdWx0IDoKKyAgICAgICAgLyogUmV0dXJuIGVycm9yIHN0YXR1cyAqLworICAgICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOworICAgICAgICBicmVhazsKICAgICB9CiAgIH0KICAgZWxzZQpAQCAtNTczLDE1ICs1NDEsMTYgQEAKIH0KIAogLyoqCi0gICogQGJyaWVmICBVbnJlZ2lzdGVyIGFuIFJUQyBDYWxsYmFjaworICAqIEBicmllZiAgVW5yZWdpc3RlcnMgYW4gUlRDIENhbGxiYWNrCiAgICogICAgICAgICBSVEMgY2FsbGFiY2sgaXMgcmVkaXJlY3RlZCB0byB0aGUgd2VhayBwcmVkZWZpbmVkIGNhbGxiYWNrCi0gICogQHBhcmFtICBocnRjIFJUQyBoYW5kbGUKKyAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcGFyYW0gIENhbGxiYWNrSUQgSUQgb2YgdGhlIGNhbGxiYWNrIHRvIGJlIHVucmVnaXN0ZXJlZAogICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1JUQ19BTEFSTV9BX0VWRU5UX0NCX0lEICAgICAgICAgIEFsYXJtIEEgRXZlbnQgQ2FsbGJhY2sgSUQKICAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1JUQ19BTEFSTV9CX0VWRU5UX0NCX0lEICAgICAgICAgIEFsYXJtIEIgRXZlbnQgQ2FsbGJhY2sgSUQKLSAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1JUQ19USU1FU1RBTVBfRVZFTlRfQ0JfSUQgICAgICAgIFRpbWVTdGFtcCBFdmVudCBDYWxsYmFjayBJRAotICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfUlRDX1dBS0VVUFRJTUVSX0VWRU5UX0NCX0lEICAgICAgV2FrZS1VcCBUaW1lciBFdmVudCBDYWxsYmFjayBJRAorICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfUlRDX1RJTUVTVEFNUF9FVkVOVF9DQl9JRCAgICAgICAgVGltZXN0YW1wIEV2ZW50IENhbGxiYWNrIElECisgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9SVENfV0FLRVVQVElNRVJfRVZFTlRfQ0JfSUQgICAgICBXYWtldXAgVGltZXIgRXZlbnQgQ2FsbGJhY2sgSUQKICAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1JUQ19UQU1QRVIxX0VWRU5UX0NCX0lEICAgICAgICAgIFRhbXBlciAxIENhbGxiYWNrIElECiAgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9SVENfVEFNUEVSMl9FVkVOVF9DQl9JRCAgICAgICAgICBUYW1wZXIgMiBDYWxsYmFjayBJRAogICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfUlRDX1RBTVBFUjNfRVZFTlRfQ0JfSUQgICAgICAgICAgVGFtcGVyIDMgQ2FsbGJhY2sgSUQKQEAgLTU5Niw2OCArNTY1LDY4IEBACiAgIC8qIFByb2Nlc3MgbG9ja2VkICovCiAgIF9fSEFMX0xPQ0soaHJ0Yyk7CiAKLSAgaWYoSEFMX1JUQ19TVEFURV9SRUFEWSA9PSBocnRjLT5TdGF0ZSkKKyAgaWYgKEhBTF9SVENfU1RBVEVfUkVBRFkgPT0gaHJ0Yy0+U3RhdGUpCiAgIHsKICAgICBzd2l0Y2ggKENhbGxiYWNrSUQpCiAgICAgewotICAgIGNhc2UgSEFMX1JUQ19BTEFSTV9BX0VWRU5UX0NCX0lEIDoKLSAgICAgIGhydGMtPkFsYXJtQUV2ZW50Q2FsbGJhY2sgPSBIQUxfUlRDX0FsYXJtQUV2ZW50Q2FsbGJhY2s7ICAgICAgICAgLyogTGVnYWN5IHdlYWsgQWxhcm1BRXZlbnRDYWxsYmFjayAgICAqLwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9SVENfQUxBUk1fQV9FVkVOVF9DQl9JRCA6CisgICAgICAgIGhydGMtPkFsYXJtQUV2ZW50Q2FsbGJhY2sgPSBIQUxfUlRDX0FsYXJtQUV2ZW50Q2FsbGJhY2s7ICAgICAgICAgICAgIC8qIExlZ2FjeSB3ZWFrIEFsYXJtQUV2ZW50Q2FsbGJhY2sgICAgKi8KKyAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIEhBTF9SVENfQUxBUk1fQl9FVkVOVF9DQl9JRCA6Ci0gICAgICBocnRjLT5BbGFybUJFdmVudENhbGxiYWNrID0gSEFMX1JUQ0V4X0FsYXJtQkV2ZW50Q2FsbGJhY2s7ICAgICAgICAgIC8qIExlZ2FjeSB3ZWFrIEFsYXJtQkV2ZW50Q2FsbGJhY2sgKi8KLSAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfUlRDX0FMQVJNX0JfRVZFTlRfQ0JfSUQgOgorICAgICAgICBocnRjLT5BbGFybUJFdmVudENhbGxiYWNrID0gSEFMX1JUQ0V4X0FsYXJtQkV2ZW50Q2FsbGJhY2s7ICAgICAgICAgICAvKiBMZWdhY3kgd2VhayBBbGFybUJFdmVudENhbGxiYWNrICovCisgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBIQUxfUlRDX1RJTUVTVEFNUF9FVkVOVF9DQl9JRCA6Ci0gICAgICBocnRjLT5UaW1lU3RhbXBFdmVudENhbGxiYWNrID0gSEFMX1JUQ0V4X1RpbWVTdGFtcEV2ZW50Q2FsbGJhY2s7ICAgIC8qIExlZ2FjeSB3ZWFrIFRpbWVTdGFtcEV2ZW50Q2FsbGJhY2sgICAgKi8KLSAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfUlRDX1RJTUVTVEFNUF9FVkVOVF9DQl9JRCA6CisgICAgICAgIGhydGMtPlRpbWVTdGFtcEV2ZW50Q2FsbGJhY2sgPSBIQUxfUlRDRXhfVGltZVN0YW1wRXZlbnRDYWxsYmFjazsgICAgIC8qIExlZ2FjeSB3ZWFrIFRpbWVTdGFtcEV2ZW50Q2FsbGJhY2sgICAgKi8KKyAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIEhBTF9SVENfV0FLRVVQVElNRVJfRVZFTlRfQ0JfSUQgOgotICAgICAgaHJ0Yy0+V2FrZVVwVGltZXJFdmVudENhbGxiYWNrID0gSEFMX1JUQ0V4X1dha2VVcFRpbWVyRXZlbnRDYWxsYmFjazsgLyogTGVnYWN5IHdlYWsgV2FrZVVwVGltZXJFdmVudENhbGxiYWNrICovCi0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1JUQ19XQUtFVVBUSU1FUl9FVkVOVF9DQl9JRCA6CisgICAgICAgIGhydGMtPldha2VVcFRpbWVyRXZlbnRDYWxsYmFjayA9IEhBTF9SVENFeF9XYWtlVXBUaW1lckV2ZW50Q2FsbGJhY2s7IC8qIExlZ2FjeSB3ZWFrIFdha2VVcFRpbWVyRXZlbnRDYWxsYmFjayAqLworICAgICAgICBicmVhazsKIAotICAgIGNhc2UgSEFMX1JUQ19UQU1QRVIxX0VWRU5UX0NCX0lEIDoKLSAgICAgIGhydGMtPlRhbXBlcjFFdmVudENhbGxiYWNrID0gSEFMX1JUQ0V4X1RhbXBlcjFFdmVudENhbGxiYWNrOyAgICAgICAgIC8qIExlZ2FjeSB3ZWFrIFRhbXBlcjFFdmVudENhbGxiYWNrICAgKi8KLSAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfUlRDX1RBTVBFUjFfRVZFTlRfQ0JfSUQgOgorICAgICAgICBocnRjLT5UYW1wZXIxRXZlbnRDYWxsYmFjayA9IEhBTF9SVENFeF9UYW1wZXIxRXZlbnRDYWxsYmFjazsgICAgICAgICAvKiBMZWdhY3kgd2VhayBUYW1wZXIxRXZlbnRDYWxsYmFjayAgICovCisgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBIQUxfUlRDX1RBTVBFUjJfRVZFTlRfQ0JfSUQgOgotICAgICAgaHJ0Yy0+VGFtcGVyMkV2ZW50Q2FsbGJhY2sgPSBIQUxfUlRDRXhfVGFtcGVyMkV2ZW50Q2FsbGJhY2s7ICAgICAgICAgLyogTGVnYWN5IHdlYWsgVGFtcGVyMkV2ZW50Q2FsbGJhY2sgICAgICAgICAqLwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9SVENfVEFNUEVSMl9FVkVOVF9DQl9JRCA6CisgICAgICAgIGhydGMtPlRhbXBlcjJFdmVudENhbGxiYWNrID0gSEFMX1JUQ0V4X1RhbXBlcjJFdmVudENhbGxiYWNrOyAgICAgICAgIC8qIExlZ2FjeSB3ZWFrIFRhbXBlcjJFdmVudENhbGxiYWNrICAgICAgICAgKi8KKyAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIEhBTF9SVENfVEFNUEVSM19FVkVOVF9DQl9JRCA6Ci0gICAgICBocnRjLT5UYW1wZXIzRXZlbnRDYWxsYmFjayA9IEhBTF9SVENFeF9UYW1wZXIzRXZlbnRDYWxsYmFjazsgICAgICAgICAvKiBMZWdhY3kgd2VhayBUYW1wZXIzRXZlbnRDYWxsYmFjayAgICAgICAgICovCi0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1JUQ19UQU1QRVIzX0VWRU5UX0NCX0lEIDoKKyAgICAgICAgaHJ0Yy0+VGFtcGVyM0V2ZW50Q2FsbGJhY2sgPSBIQUxfUlRDRXhfVGFtcGVyM0V2ZW50Q2FsbGJhY2s7ICAgICAgICAgLyogTGVnYWN5IHdlYWsgVGFtcGVyM0V2ZW50Q2FsbGJhY2sgICAgICAgICAqLworICAgICAgICBicmVhazsKIAotICAgIGNhc2UgSEFMX1JUQ19NU1BJTklUX0NCX0lEIDoKLSAgICAgIGhydGMtPk1zcEluaXRDYWxsYmFjayA9IEhBTF9SVENfTXNwSW5pdDsKLSAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfUlRDX01TUElOSVRfQ0JfSUQgOgorICAgICAgICBocnRjLT5Nc3BJbml0Q2FsbGJhY2sgPSBIQUxfUlRDX01zcEluaXQ7CisgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBIQUxfUlRDX01TUERFSU5JVF9DQl9JRCA6Ci0gICAgICBocnRjLT5Nc3BEZUluaXRDYWxsYmFjayA9IEhBTF9SVENfTXNwRGVJbml0OwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9SVENfTVNQREVJTklUX0NCX0lEIDoKKyAgICAgICAgaHJ0Yy0+TXNwRGVJbml0Q2FsbGJhY2sgPSBIQUxfUlRDX01zcERlSW5pdDsKKyAgICAgICAgYnJlYWs7CiAKLSAgICBkZWZhdWx0IDoKLSAgICAgLyogUmV0dXJuIGVycm9yIHN0YXR1cyAqLwotICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKLSAgICAgIGJyZWFrOworICAgICAgZGVmYXVsdCA6CisgICAgICAgIC8qIFJldHVybiBlcnJvciBzdGF0dXMgKi8KKyAgICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICB9Ci0gIGVsc2UgaWYoSEFMX1JUQ19TVEFURV9SRVNFVCA9PSBocnRjLT5TdGF0ZSkKKyAgZWxzZSBpZiAoSEFMX1JUQ19TVEFURV9SRVNFVCA9PSBocnRjLT5TdGF0ZSkKICAgewogICAgIHN3aXRjaCAoQ2FsbGJhY2tJRCkKICAgICB7Ci0gICAgY2FzZSBIQUxfUlRDX01TUElOSVRfQ0JfSUQgOgotICAgICAgaHJ0Yy0+TXNwSW5pdENhbGxiYWNrID0gSEFMX1JUQ19Nc3BJbml0OwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9SVENfTVNQSU5JVF9DQl9JRCA6CisgICAgICAgIGhydGMtPk1zcEluaXRDYWxsYmFjayA9IEhBTF9SVENfTXNwSW5pdDsKKyAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIEhBTF9SVENfTVNQREVJTklUX0NCX0lEIDoKLSAgICAgIGhydGMtPk1zcERlSW5pdENhbGxiYWNrID0gSEFMX1JUQ19Nc3BEZUluaXQ7Ci0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1JUQ19NU1BERUlOSVRfQ0JfSUQgOgorICAgICAgICBocnRjLT5Nc3BEZUluaXRDYWxsYmFjayA9IEhBTF9SVENfTXNwRGVJbml0OworICAgICAgICBicmVhazsKIAotICAgIGRlZmF1bHQgOgotICAgICAvKiBSZXR1cm4gZXJyb3Igc3RhdHVzICovCi0gICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOwotICAgICAgYnJlYWs7CisgICAgICBkZWZhdWx0IDoKKyAgICAgICAgLyogUmV0dXJuIGVycm9yIHN0YXR1cyAqLworICAgICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOworICAgICAgICBicmVhazsKICAgICB9CiAgIH0KICAgZWxzZQpAQCAtNjc5LDEzICs2NDgsMTMgQEAKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgogICAqIEByZXR2YWwgTm9uZQogICAqLwotX193ZWFrIHZvaWQgSEFMX1JUQ19Nc3BJbml0KFJUQ19IYW5kbGVUeXBlRGVmKiBocnRjKQorX193ZWFrIHZvaWQgSEFMX1JUQ19Nc3BJbml0KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKQogewogICAvKiBQcmV2ZW50IHVudXNlZCBhcmd1bWVudChzKSBjb21waWxhdGlvbiB3YXJuaW5nICovCiAgIFVOVVNFRChocnRjKTsKIAotICAvKiBOT1RFIDogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCi0gICAgICAgICAgICB0aGUgSEFMX1JUQ19Nc3BJbml0IGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKKyAgLyogTk9URTogVGhpcyBmdW5jdGlvbiBzaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCisgICAgICAgICAgIHRoZSBIQUxfUlRDX01zcEluaXQgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQogICAgKi8KIH0KIApAQCAtNjk1LDEzICs2NjQsMTMgQEAKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgogICAqIEByZXR2YWwgTm9uZQogICAqLwotX193ZWFrIHZvaWQgSEFMX1JUQ19Nc3BEZUluaXQoUlRDX0hhbmRsZVR5cGVEZWYqIGhydGMpCitfX3dlYWsgdm9pZCBIQUxfUlRDX01zcERlSW5pdChSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKIHsKICAgLyogUHJldmVudCB1bnVzZWQgYXJndW1lbnQocykgY29tcGlsYXRpb24gd2FybmluZyAqLwogICBVTlVTRUQoaHJ0Yyk7CiAKLSAgLyogTk9URSA6IFRoaXMgZnVuY3Rpb24gU2hvdWxkIG5vdCBiZSBtb2RpZmllZCwgd2hlbiB0aGUgY2FsbGJhY2sgaXMgbmVlZGVkLAotICAgICAgICAgICAgdGhlIEhBTF9SVENfTXNwRGVJbml0IGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKKyAgLyogTk9URTogVGhpcyBmdW5jdGlvbiBzaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCisgICAgICAgICAgIHRoZSBIQUxfUlRDX01zcERlSW5pdCBjb3VsZCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgdXNlciBmaWxlCiAgICAqLwogfQogCkBAIC03MDksOSArNjc4LDkgQEAKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIFJUQ19Hcm91cDIgUlRDIFRpbWUgYW5kIERhdGUgZnVuY3Rpb25zCi0gKiAgQGJyaWVmICAgUlRDIFRpbWUgYW5kIERhdGUgZnVuY3Rpb25zCi0gKgorLyoqIEBkZWZncm91cCBSVENfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMiBSVEMgVGltZSBhbmQgRGF0ZSBmdW5jdGlvbnMKKyAgKiBAYnJpZWYgICAgUlRDIFRpbWUgYW5kIERhdGUgZnVuY3Rpb25zCisgICoKIEB2ZXJiYXRpbQogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgIyMjIyMgUlRDIFRpbWUgYW5kIERhdGUgZnVuY3Rpb25zICMjIyMjCkBAIC03MjgsMTcgKzY5NywyMCBAQAogICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgogICAqIEBwYXJhbSAgc1RpbWUgUG9pbnRlciB0byBUaW1lIHN0cnVjdHVyZQorICAqIEBub3RlICAgRGF5TGlnaHRTYXZpbmcgYW5kIFN0b3JlT3BlcmF0aW9uIGludGVyZmFjZXMgYXJlIGRlcHJlY2F0ZWQuCisgICogICAgICAgICBUbyBtYW5hZ2UgRGF5bGlnaHQgU2F2aW5nIFRpbWUsIHBsZWFzZSB1c2UgSEFMX1JUQ19EU1RfeHh4IGZ1bmN0aW9ucy4KICAgKiBAcGFyYW0gIEZvcm1hdCBTcGVjaWZpZXMgdGhlIGZvcm1hdCBvZiB0aGUgZW50ZXJlZCBwYXJhbWV0ZXJzLgogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6Ci0gICogICAgICAgICAgICBAYXJnIEZPUk1BVF9CSU46IEJpbmFyeSBkYXRhIGZvcm1hdAotICAqICAgICAgICAgICAgQGFyZyBGT1JNQVRfQkNEOiBCQ0QgZGF0YSBmb3JtYXQKKyAgKiAgICAgICAgICAgIEBhcmcgUlRDX0ZPUk1BVF9CSU46IEJpbmFyeSBkYXRhIGZvcm1hdAorICAqICAgICAgICAgICAgQGFyZyBSVENfRk9STUFUX0JDRDogQkNEIGRhdGEgZm9ybWF0CiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDX1NldFRpbWUoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIFJUQ19UaW1lVHlwZURlZiAqc1RpbWUsIHVpbnQzMl90IEZvcm1hdCkKIHsKLSAgdWludDMyX3QgdG1wcmVnID0gMDsKKyAgdWludDMyX3QgdG1wcmVnID0gMFU7CisgIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1czsKIAotIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCisgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19SVENfRk9STUFUKEZvcm1hdCkpOwogICBhc3NlcnRfcGFyYW0oSVNfUlRDX0RBWUxJR0hUX1NBVklORyhzVGltZS0+RGF5TGlnaHRTYXZpbmcpKTsKICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19TVE9SRV9PUEVSQVRJT04oc1RpbWUtPlN0b3JlT3BlcmF0aW9uKSk7CkBAIC03NDgsMTM0ICs3MjAsMTEzIEBACiAKICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX0JVU1k7CiAKLSAgaWYoRm9ybWF0ID09IFJUQ19GT1JNQVRfQklOKQorICBpZiAoRm9ybWF0ID09IFJUQ19GT1JNQVRfQklOKQogICB7Ci0gICAgaWYoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9GTVQpICE9ICh1aW50MzJfdClSRVNFVCkKKyAgICBpZiAoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9GTVQpICE9IDBVKQogICAgIHsKICAgICAgIGFzc2VydF9wYXJhbShJU19SVENfSE9VUjEyKHNUaW1lLT5Ib3VycykpOwogICAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19IT1VSRk9STUFUMTIoc1RpbWUtPlRpbWVGb3JtYXQpKTsKICAgICB9CiAgICAgZWxzZQogICAgIHsKLSAgICAgIHNUaW1lLT5UaW1lRm9ybWF0ID0gMHgwMDsKKyAgICAgIHNUaW1lLT5UaW1lRm9ybWF0ID0gMHgwMFU7CiAgICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX0hPVVIyNChzVGltZS0+SG91cnMpKTsKICAgICB9CiAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19NSU5VVEVTKHNUaW1lLT5NaW51dGVzKSk7CiAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19TRUNPTkRTKHNUaW1lLT5TZWNvbmRzKSk7CiAKLSAgICB0bXByZWcgPSAodWludDMyX3QpKCgodWludDMyX3QpUlRDX0J5dGVUb0JjZDIoc1RpbWUtPkhvdXJzKSA8PCAxNikgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KVJUQ19CeXRlVG9CY2QyKHNUaW1lLT5NaW51dGVzKSA8PCA4KSB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpUlRDX0J5dGVUb0JjZDIoc1RpbWUtPlNlY29uZHMpKSB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KXNUaW1lLT5UaW1lRm9ybWF0KSA8PCAxNikpOworICAgIHRtcHJlZyA9ICh1aW50MzJfdCkoKCAodWludDMyX3QpUlRDX0J5dGVUb0JjZDIoc1RpbWUtPkhvdXJzKSAgIDw8IFJUQ19UUl9IVV9Qb3MpICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICggKHVpbnQzMl90KVJUQ19CeXRlVG9CY2QyKHNUaW1lLT5NaW51dGVzKSA8PCBSVENfVFJfTU5VX1BvcykgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAoICh1aW50MzJfdClSVENfQnl0ZVRvQmNkMihzVGltZS0+U2Vjb25kcykpICAgICAgICAgICAgICAgICAgIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3Qpc1RpbWUtPlRpbWVGb3JtYXQpICAgICAgICAgICAgIDw8IFJUQ19UUl9QTV9Qb3MpKTsKICAgfQogICBlbHNlCiAgIHsKLSAgICBpZigoaHJ0Yy0+SW5zdGFuY2UtPkNSICYgUlRDX0NSX0ZNVCkgIT0gKHVpbnQzMl90KVJFU0VUKQorICAgIGlmICgoaHJ0Yy0+SW5zdGFuY2UtPkNSICYgUlRDX0NSX0ZNVCkgIT0gMFUpCiAgICAgewogICAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19IT1VSMTIoUlRDX0JjZDJUb0J5dGUoc1RpbWUtPkhvdXJzKSkpOwogICAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19IT1VSRk9STUFUMTIoc1RpbWUtPlRpbWVGb3JtYXQpKTsKICAgICB9CiAgICAgZWxzZQogICAgIHsKLSAgICAgIHNUaW1lLT5UaW1lRm9ybWF0ID0gMHgwMDsKKyAgICAgIHNUaW1lLT5UaW1lRm9ybWF0ID0gMHgwMFU7CiAgICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX0hPVVIyNChSVENfQmNkMlRvQnl0ZShzVGltZS0+SG91cnMpKSk7CiAgICAgfQogICAgIGFzc2VydF9wYXJhbShJU19SVENfTUlOVVRFUyhSVENfQmNkMlRvQnl0ZShzVGltZS0+TWludXRlcykpKTsKICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX1NFQ09ORFMoUlRDX0JjZDJUb0J5dGUoc1RpbWUtPlNlY29uZHMpKSk7Ci0gICAgdG1wcmVnID0gKCgodWludDMyX3QpKHNUaW1lLT5Ib3VycykgPDwgMTYpIHwgXAotICAgICAgICAgICAgICAoKHVpbnQzMl90KShzVGltZS0+TWludXRlcykgPDwgOCkgfCBcCi0gICAgICAgICAgICAgICgodWludDMyX3Qpc1RpbWUtPlNlY29uZHMpIHwgXAotICAgICAgICAgICAgICAoKHVpbnQzMl90KShzVGltZS0+VGltZUZvcm1hdCkgPDwgMTYpKTsKKyAgICB0bXByZWcgPSAoKCh1aW50MzJfdCkoc1RpbWUtPkhvdXJzKSAgICAgIDw8IFJUQ19UUl9IVV9Qb3MpICB8IFwKKyAgICAgICAgICAgICAgKCh1aW50MzJfdCkoc1RpbWUtPk1pbnV0ZXMpICAgIDw8IFJUQ19UUl9NTlVfUG9zKSB8IFwKKyAgICAgICAgICAgICAgKCh1aW50MzJfdCkgc1RpbWUtPlNlY29uZHMpICAgICAgICAgICAgICAgICAgICAgICB8IFwKKyAgICAgICAgICAgICAgKCh1aW50MzJfdCkoc1RpbWUtPlRpbWVGb3JtYXQpIDw8IFJUQ19UUl9QTV9Qb3MpKTsKICAgfQogCiAgIC8qIERpc2FibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9ESVNBQkxFKGhydGMpOwogCi0gIC8qIFNldCBJbml0aWFsaXphdGlvbiBtb2RlICovCi0gIGlmKFJUQ19FbnRlckluaXRNb2RlKGhydGMpICE9IEhBTF9PSykKLSAgewotICAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwotICAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOworICAvKiBFbnRlciBJbml0aWFsaXphdGlvbiBtb2RlICovCisgIHN0YXR1cyA9IFJUQ19FbnRlckluaXRNb2RlKGhydGMpOwogCi0gICAgLyogU2V0IFJUQyBzdGF0ZSAqLwotICAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9FUlJPUjsKLQotICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgICBfX0hBTF9VTkxPQ0soaHJ0Yyk7Ci0KLSAgICByZXR1cm4gSEFMX0VSUk9SOwotICB9Ci0gIGVsc2UKKyAgaWYgKHN0YXR1cyA9PSBIQUxfT0spCiAgIHsKICAgICAvKiBTZXQgdGhlIFJUQ19UUiByZWdpc3RlciAqLwogICAgIGhydGMtPkluc3RhbmNlLT5UUiA9ICh1aW50MzJfdCkodG1wcmVnICYgUlRDX1RSX1JFU0VSVkVEX01BU0spOwogCi0gICAgLyogVGhpcyBpbnRlcmZhY2UgaXMgZGVwcmVjYXRlZC4gVG8gbWFuYWdlIERheWxpZ2h0IFNhdmluZyBUaW1lLCBwbGVhc2UgdXNlIEhBTF9SVENfRFNUX3h4eCBmdW5jdGlvbnMgKi8KKyAgICAvKiBDbGVhciB0aGUgYml0cyB0byBiZSBjb25maWd1cmVkIChEZXByZWNhdGVkLiBVc2UgSEFMX1JUQ19EU1RfeHh4IGZ1bmN0aW9ucyBpbnN0ZWFkKSAqLwogICAgIGhydGMtPkluc3RhbmNlLT5DUiAmPSAodWludDMyX3QpflJUQ19DUl9CS1A7CiAKLSAgICAvKiBUaGlzIGludGVyZmFjZSBpcyBkZXByZWNhdGVkLiBUbyBtYW5hZ2UgRGF5bGlnaHQgU2F2aW5nIFRpbWUsIHBsZWFzZSB1c2UgSEFMX1JUQ19EU1RfeHh4IGZ1bmN0aW9ucyAqLworICAgIC8qIENvbmZpZ3VyZSB0aGUgUlRDX0NSIHJlZ2lzdGVyIChEZXByZWNhdGVkLiBVc2UgSEFMX1JUQ19EU1RfeHh4IGZ1bmN0aW9ucyBpbnN0ZWFkKSAqLwogICAgIGhydGMtPkluc3RhbmNlLT5DUiB8PSAodWludDMyX3QpKHNUaW1lLT5EYXlMaWdodFNhdmluZyB8IHNUaW1lLT5TdG9yZU9wZXJhdGlvbik7CiAKICAgICAvKiBFeGl0IEluaXRpYWxpemF0aW9uIG1vZGUgKi8KLSAgICBocnRjLT5JbnN0YW5jZS0+SVNSICY9ICh1aW50MzJfdCl+UlRDX0lTUl9JTklUOwotCi0gICAgLyogSWYgIENSX0JZUFNIQUQgYml0ID0gMCwgd2FpdCBmb3Igc3luY2hybyBlbHNlIHRoaXMgY2hlY2sgaXMgbm90IG5lZWRlZCAqLwotICAgIGlmKChocnRjLT5JbnN0YW5jZS0+Q1IgJiBSVENfQ1JfQllQU0hBRCkgPT0gUkVTRVQpCi0gICAgewotICAgICAgaWYoSEFMX1JUQ19XYWl0Rm9yU3luY2hybyhocnRjKSAhPSBIQUxfT0spCi0gICAgICB7Ci0gICAgICAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwotICAgICAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKLQotICAgICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfRVJST1I7Ci0KLSAgICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwotICAgICAgICBfX0hBTF9VTkxPQ0soaHJ0Yyk7Ci0KLSAgICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKLSAgICAgIH0KLSAgICB9Ci0KLSAgICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KLSAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKLQotICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1JFQURZOwotCi0gICBfX0hBTF9VTkxPQ0soaHJ0Yyk7Ci0KLSAgIHJldHVybiBIQUxfT0s7CisgICAgc3RhdHVzID0gUlRDX0V4aXRJbml0TW9kZShocnRjKTsKICAgfQorCisgIGlmIChzdGF0dXMgPT0gSEFMX09LKQorICB7CisgICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1JFQURZOworICB9CisKKyAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCisgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOworCisgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KKyAgX19IQUxfVU5MT0NLKGhydGMpOworCisgIHJldHVybiBzdGF0dXM7CiB9CiAKIC8qKgogICAqIEBicmllZiAgR2V0cyBSVEMgY3VycmVudCB0aW1lLgotICAqIEBwYXJhbSAgaHJ0YyBSVEMgaGFuZGxlCi0gICogQHBhcmFtICBzVGltZSBQb2ludGVyIHRvIFRpbWUgc3RydWN0dXJlIHdpdGggSG91cnMsIE1pbnV0ZXMgYW5kIFNlY29uZHMgZmllbGRzIHJldHVybmVkCi0gICogICAgICAgICAgICAgICAgd2l0aCBpbnB1dCBmb3JtYXQgKEJJTiBvciBCQ0QpLCBhbHNvIFN1YlNlY29uZHMgZmllbGQgcmV0dXJuaW5nIHRoZQotICAqICAgICAgICAgICAgICAgIFJUQ19TU1IgcmVnaXN0ZXIgY29udGVudCBhbmQgU2Vjb25kRnJhY3Rpb24gZmllbGQgdGhlIFN5bmNocm9ub3VzIHByZS1zY2FsZXIKLSAgKiAgICAgICAgICAgICAgICBmYWN0b3IgdG8gYmUgdXNlZCBmb3Igc2Vjb25kIGZyYWN0aW9uIHJhdGlvIGNvbXB1dGF0aW9uLgorICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgorICAqIEBwYXJhbSAgc1RpbWUgUG9pbnRlciB0byBUaW1lIHN0cnVjdHVyZQogICAqIEBwYXJhbSAgRm9ybWF0IFNwZWNpZmllcyB0aGUgZm9ybWF0IG9mIHRoZSBlbnRlcmVkIHBhcmFtZXRlcnMuCiAgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICAgKiAgICAgICAgICAgIEBhcmcgUlRDX0ZPUk1BVF9CSU46IEJpbmFyeSBkYXRhIGZvcm1hdAogICAqICAgICAgICAgICAgQGFyZyBSVENfRk9STUFUX0JDRDogQkNEIGRhdGEgZm9ybWF0Ci0gICogQG5vdGUgIFlvdSBjYW4gdXNlIFN1YlNlY29uZHMgYW5kIFNlY29uZEZyYWN0aW9uIChzVGltZSBzdHJ1Y3R1cmUgZmllbGRzIHJldHVybmVkKSB0byBjb252ZXJ0IFN1YlNlY29uZHMKLSAgKiAgICAgICAgdmFsdWUgaW4gc2Vjb25kIGZyYWN0aW9uIHJhdGlvIHdpdGggdGltZSB1bml0IGZvbGxvd2luZyBnZW5lcmljIGZvcm11bGE6Ci0gICogICAgICAgIFNlY29uZCBmcmFjdGlvbiByYXRpbyAqIHRpbWVfdW5pdD0gWyhTZWNvbmRGcmFjdGlvbi1TdWJTZWNvbmRzKS8oU2Vjb25kRnJhY3Rpb24rMSldICogdGltZV91bml0Ci0gICogICAgICAgIFRoaXMgY29udmVyc2lvbiBjYW4gYmUgcGVyZm9ybWVkIG9ubHkgaWYgbm8gc2hpZnQgb3BlcmF0aW9uIGlzIHBlbmRpbmcgKGllLiBTSEZQPTApIHdoZW4gUFJFRElWX1MgPj0gU1MKLSAgKiBAbm90ZSAgWW91IG11c3QgY2FsbCBIQUxfUlRDX0dldERhdGUoKSBhZnRlciBIQUxfUlRDX0dldFRpbWUoKSB0byB1bmxvY2sgdGhlIHZhbHVlcwotICAqICAgICAgICBpbiB0aGUgaGlnaGVyLW9yZGVyIGNhbGVuZGFyIHNoYWRvdyByZWdpc3RlcnMgdG8gZW5zdXJlIGNvbnNpc3RlbmN5IGJldHdlZW4gdGhlIHRpbWUgYW5kIGRhdGUgdmFsdWVzLgotICAqICAgICAgICBSZWFkaW5nIFJUQyBjdXJyZW50IHRpbWUgbG9ja3MgdGhlIHZhbHVlcyBpbiBjYWxlbmRhciBzaGFkb3cgcmVnaXN0ZXJzIHVudGlsIEN1cnJlbnQgZGF0ZSBpcyByZWFkCi0gICogICAgICAgIHRvIGVuc3VyZSBjb25zaXN0ZW5jeSBiZXR3ZWVuIHRoZSB0aW1lIGFuZCBkYXRlIHZhbHVlcy4KKyAgKiBAbm90ZSAgWW91IGNhbiB1c2UgU3ViU2Vjb25kcyBhbmQgU2Vjb25kRnJhY3Rpb24gKHNUaW1lIHN0cnVjdHVyZSBmaWVsZHMKKyAgKiAgICAgICAgcmV0dXJuZWQpIHRvIGNvbnZlcnQgU3ViU2Vjb25kcyB2YWx1ZSBpbiBzZWNvbmQgZnJhY3Rpb24gcmF0aW8gd2l0aAorICAqICAgICAgICB0aW1lIHVuaXQgZm9sbG93aW5nIGdlbmVyaWMgZm9ybXVsYToKKyAgKiAgICAgICAgU2Vjb25kIGZyYWN0aW9uIHJhdGlvICogdGltZV91bml0ID0KKyAgKiAgICAgICAgICAgWyhTZWNvbmRGcmFjdGlvbiAtIFN1YlNlY29uZHMpIC8gKFNlY29uZEZyYWN0aW9uICsgMSldICogdGltZV91bml0CisgICogICAgICAgIFRoaXMgY29udmVyc2lvbiBjYW4gYmUgcGVyZm9ybWVkIG9ubHkgaWYgbm8gc2hpZnQgb3BlcmF0aW9uIGlzIHBlbmRpbmcKKyAgKiAgICAgICAgKGllLiBTSEZQPTApIHdoZW4gUFJFRElWX1MgPj0gU1MKKyAgKiBAbm90ZSAgWW91IG11c3QgY2FsbCBIQUxfUlRDX0dldERhdGUoKSBhZnRlciBIQUxfUlRDX0dldFRpbWUoKSB0byB1bmxvY2sgdGhlCisgICogICAgICAgIHZhbHVlcyBpbiB0aGUgaGlnaGVyLW9yZGVyIGNhbGVuZGFyIHNoYWRvdyByZWdpc3RlcnMgdG8gZW5zdXJlCisgICogICAgICAgIGNvbnNpc3RlbmN5IGJldHdlZW4gdGhlIHRpbWUgYW5kIGRhdGUgdmFsdWVzLgorICAqICAgICAgICBSZWFkaW5nIFJUQyBjdXJyZW50IHRpbWUgbG9ja3MgdGhlIHZhbHVlcyBpbiBjYWxlbmRhciBzaGFkb3cgcmVnaXN0ZXJzCisgICogICAgICAgIHVudGlsIGN1cnJlbnQgZGF0ZSBpcyByZWFkIHRvIGVuc3VyZSBjb25zaXN0ZW5jeSBiZXR3ZWVuIHRoZSB0aW1lIGFuZAorICAqICAgICAgICBkYXRlIHZhbHVlcy4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENfR2V0VGltZShSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgUlRDX1RpbWVUeXBlRGVmICpzVGltZSwgdWludDMyX3QgRm9ybWF0KQogewotICB1aW50MzJfdCB0bXByZWcgPSAwOworICB1aW50MzJfdCB0bXByZWcgPSAwVTsKIAogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfUlRDX0ZPUk1BVChGb3JtYXQpKTsKIAotICAvKiBHZXQgc3Vic2Vjb25kcyB2YWx1ZXMgZnJvbSB0aGUgY29ycmVzcG9uZGVudCByZWdpc3RlcnMqLworICAvKiBHZXQgc3Vic2Vjb25kcyB2YWx1ZSBmcm9tIHRoZSBjb3JyZXNwb25kaW5nIHJlZ2lzdGVyICovCiAgIHNUaW1lLT5TdWJTZWNvbmRzID0gKHVpbnQzMl90KShocnRjLT5JbnN0YW5jZS0+U1NSKTsKIAogICAvKiBHZXQgU2Vjb25kRnJhY3Rpb24gc3RydWN0dXJlIGZpZWxkIGZyb20gdGhlIGNvcnJlc3BvbmRpbmcgcmVnaXN0ZXIgZmllbGQqLwpAQCAtODg1LDEzICs4MzYsMTMgQEAKICAgdG1wcmVnID0gKHVpbnQzMl90KShocnRjLT5JbnN0YW5jZS0+VFIgJiBSVENfVFJfUkVTRVJWRURfTUFTSyk7CiAKICAgLyogRmlsbCB0aGUgc3RydWN0dXJlIGZpZWxkcyB3aXRoIHRoZSByZWFkIHBhcmFtZXRlcnMgKi8KLSAgc1RpbWUtPkhvdXJzID0gKHVpbnQ4X3QpKCh0bXByZWcgJiAoUlRDX1RSX0hUIHwgUlRDX1RSX0hVKSkgPj4gMTYpOwotICBzVGltZS0+TWludXRlcyA9ICh1aW50OF90KSgodG1wcmVnICYgKFJUQ19UUl9NTlQgfCBSVENfVFJfTU5VKSkgPj44KTsKLSAgc1RpbWUtPlNlY29uZHMgPSAodWludDhfdCkodG1wcmVnICYgKFJUQ19UUl9TVCB8IFJUQ19UUl9TVSkpOwotICBzVGltZS0+VGltZUZvcm1hdCA9ICh1aW50OF90KSgodG1wcmVnICYgKFJUQ19UUl9QTSkpID4+IDE2KTsKKyAgc1RpbWUtPkhvdXJzICAgICAgPSAodWludDhfdCkoKHRtcHJlZyAmIChSVENfVFJfSFQgIHwgUlRDX1RSX0hVKSkgID4+IFJUQ19UUl9IVV9Qb3MpOworICBzVGltZS0+TWludXRlcyAgICA9ICh1aW50OF90KSgodG1wcmVnICYgKFJUQ19UUl9NTlQgfCBSVENfVFJfTU5VKSkgPj4gUlRDX1RSX01OVV9Qb3MpOworICBzVGltZS0+U2Vjb25kcyAgICA9ICh1aW50OF90KSggdG1wcmVnICYgKFJUQ19UUl9TVCAgfCBSVENfVFJfU1UpKTsKKyAgc1RpbWUtPlRpbWVGb3JtYXQgPSAodWludDhfdCkoKHRtcHJlZyAmIChSVENfVFJfUE0pKSAgICAgICAgICAgICAgID4+IFJUQ19UUl9QTV9Qb3MpOwogCiAgIC8qIENoZWNrIHRoZSBpbnB1dCBwYXJhbWV0ZXJzIGZvcm1hdCAqLwotICBpZihGb3JtYXQgPT0gUlRDX0ZPUk1BVF9CSU4pCisgIGlmIChGb3JtYXQgPT0gUlRDX0ZPUk1BVF9CSU4pCiAgIHsKICAgICAvKiBDb252ZXJ0IHRoZSB0aW1lIHN0cnVjdHVyZSBwYXJhbWV0ZXJzIHRvIEJpbmFyeSBmb3JtYXQgKi8KICAgICBzVGltZS0+SG91cnMgPSAodWludDhfdClSVENfQmNkMlRvQnl0ZShzVGltZS0+SG91cnMpOwpAQCAtOTE1LDMzICs4NjYsMzQgQEAKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENfU2V0RGF0ZShSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgUlRDX0RhdGVUeXBlRGVmICpzRGF0ZSwgdWludDMyX3QgRm9ybWF0KQogewotICB1aW50MzJfdCBkYXRldG1wcmVnID0gMDsKKyAgdWludDMyX3QgZGF0ZXRtcHJlZyA9IDBVOworICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXM7CiAKLSAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLworICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfUlRDX0ZPUk1BVChGb3JtYXQpKTsKIAotIC8qIFByb2Nlc3MgTG9ja2VkICovCi0gX19IQUxfTE9DSyhocnRjKTsKKyAgLyogUHJvY2VzcyBMb2NrZWQgKi8KKyAgX19IQUxfTE9DSyhocnRjKTsKIAogICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfQlVTWTsKIAotICBpZigoRm9ybWF0ID09IFJUQ19GT1JNQVRfQklOKSAmJiAoKHNEYXRlLT5Nb250aCAmIDB4MTBVKSA9PSAweDEwVSkpCisgIGlmICgoRm9ybWF0ID09IFJUQ19GT1JNQVRfQklOKSAmJiAoKHNEYXRlLT5Nb250aCAmIDB4MTBVKSA9PSAweDEwVSkpCiAgIHsKICAgICBzRGF0ZS0+TW9udGggPSAodWludDhfdCkoKHNEYXRlLT5Nb250aCAmICh1aW50OF90KX4oMHgxMFUpKSArICh1aW50OF90KTB4MEFVKTsKICAgfQogCiAgIGFzc2VydF9wYXJhbShJU19SVENfV0VFS0RBWShzRGF0ZS0+V2Vla0RheSkpOwogCi0gIGlmKEZvcm1hdCA9PSBSVENfRk9STUFUX0JJTikKKyAgaWYgKEZvcm1hdCA9PSBSVENfRk9STUFUX0JJTikKICAgewogICAgIGFzc2VydF9wYXJhbShJU19SVENfWUVBUihzRGF0ZS0+WWVhcikpOwogICAgIGFzc2VydF9wYXJhbShJU19SVENfTU9OVEgoc0RhdGUtPk1vbnRoKSk7CiAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19EQVRFKHNEYXRlLT5EYXRlKSk7CiAKLSAgIGRhdGV0bXByZWcgPSAoKCh1aW50MzJfdClSVENfQnl0ZVRvQmNkMihzRGF0ZS0+WWVhcikgPDwgMTYpIHwgXAotICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KVJUQ19CeXRlVG9CY2QyKHNEYXRlLT5Nb250aCkgPDwgOCkgfCBcCi0gICAgICAgICAgICAgICAgICgodWludDMyX3QpUlRDX0J5dGVUb0JjZDIoc0RhdGUtPkRhdGUpKSB8IFwKLSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdClzRGF0ZS0+V2Vla0RheSA8PCAxMykpOworICAgIGRhdGV0bXByZWcgPSAoKCh1aW50MzJfdClSVENfQnl0ZVRvQmNkMihzRGF0ZS0+WWVhcikgIDw8IFJUQ19EUl9ZVV9Qb3MpIHwgXAorICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdClSVENfQnl0ZVRvQmNkMihzRGF0ZS0+TW9udGgpIDw8IFJUQ19EUl9NVV9Qb3MpIHwgXAorICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdClSVENfQnl0ZVRvQmNkMihzRGF0ZS0+RGF0ZSkpICAgICAgICAgICAgICAgICAgIHwgXAorICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdClzRGF0ZS0+V2Vla0RheSAgICAgICAgICAgICAgIDw8IFJUQ19EUl9XRFVfUG9zKSk7CiAgIH0KICAgZWxzZQogICB7CkBAIC05NDksNjQgKzkwMSwzOSBAQAogICAgIGFzc2VydF9wYXJhbShJU19SVENfTU9OVEgoUlRDX0JjZDJUb0J5dGUoc0RhdGUtPk1vbnRoKSkpOwogICAgIGFzc2VydF9wYXJhbShJU19SVENfREFURShSVENfQmNkMlRvQnl0ZShzRGF0ZS0+RGF0ZSkpKTsKIAotICAgIGRhdGV0bXByZWcgPSAoKCgodWludDMyX3Qpc0RhdGUtPlllYXIpIDw8IDE2KSB8IFwKLSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KXNEYXRlLT5Nb250aCkgPDwgOCkgfCBcCi0gICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KXNEYXRlLT5EYXRlKSB8IFwKLSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KXNEYXRlLT5XZWVrRGF5KSA8PCAxMykpOworICAgIGRhdGV0bXByZWcgPSAoKCgodWludDMyX3Qpc0RhdGUtPlllYXIpICAgIDw8IFJUQ19EUl9ZVV9Qb3MpIHwgXAorICAgICAgICAgICAgICAgICAgKCgodWludDMyX3Qpc0RhdGUtPk1vbnRoKSAgIDw8IFJUQ19EUl9NVV9Qb3MpIHwgXAorICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkgc0RhdGUtPkRhdGUpICAgICAgICAgICAgICAgICAgICAgIHwgXAorICAgICAgICAgICAgICAgICAgKCgodWludDMyX3Qpc0RhdGUtPldlZWtEYXkpIDw8IFJUQ19EUl9XRFVfUG9zKSk7CiAgIH0KIAogICAvKiBEaXNhYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCiAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRElTQUJMRShocnRjKTsKIAotICAvKiBTZXQgSW5pdGlhbGl6YXRpb24gbW9kZSAqLwotICBpZihSVENfRW50ZXJJbml0TW9kZShocnRjKSAhPSBIQUxfT0spCi0gIHsKLSAgICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KLSAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKKyAgLyogRW50ZXIgSW5pdGlhbGl6YXRpb24gbW9kZSAqLworICBzdGF0dXMgPSBSVENfRW50ZXJJbml0TW9kZShocnRjKTsKIAotICAgIC8qIFNldCBSVEMgc3RhdGUqLwotICAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9FUlJPUjsKLQotICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgICBfX0hBTF9VTkxPQ0soaHJ0Yyk7Ci0KLSAgICByZXR1cm4gSEFMX0VSUk9SOwotICB9Ci0gIGVsc2UKKyAgaWYgKHN0YXR1cyA9PSBIQUxfT0spCiAgIHsKICAgICAvKiBTZXQgdGhlIFJUQ19EUiByZWdpc3RlciAqLwogICAgIGhydGMtPkluc3RhbmNlLT5EUiA9ICh1aW50MzJfdCkoZGF0ZXRtcHJlZyAmIFJUQ19EUl9SRVNFUlZFRF9NQVNLKTsKIAogICAgIC8qIEV4aXQgSW5pdGlhbGl6YXRpb24gbW9kZSAqLwotICAgIGhydGMtPkluc3RhbmNlLT5JU1IgJj0gKHVpbnQzMl90KX5SVENfSVNSX0lOSVQ7Ci0KLSAgICAvKiBJZiAgQ1JfQllQU0hBRCBiaXQgPSAwLCB3YWl0IGZvciBzeW5jaHJvIGVsc2UgdGhpcyBjaGVjayBpcyBub3QgbmVlZGVkICovCi0gICAgaWYoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9CWVBTSEFEKSA9PSBSRVNFVCkKLSAgICB7Ci0gICAgICBpZihIQUxfUlRDX1dhaXRGb3JTeW5jaHJvKGhydGMpICE9IEhBTF9PSykKLSAgICAgIHsKLSAgICAgICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCi0gICAgICAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOwotCi0gICAgICAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9FUlJPUjsKLQotICAgICAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCi0gICAgICAgIF9fSEFMX1VOTE9DSyhocnRjKTsKLQotICAgICAgICByZXR1cm4gSEFMX0VSUk9SOwotICAgICAgfQotICAgIH0KLQotICAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwotICAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOwotCi0gICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1JFQURZIDsKLQotICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgICBfX0hBTF9VTkxPQ0soaHJ0Yyk7Ci0KLSAgICByZXR1cm4gSEFMX09LOworICAgIHN0YXR1cyA9IFJUQ19FeGl0SW5pdE1vZGUoaHJ0Yyk7CiAgIH0KKworICBpZiAoc3RhdHVzID09IEhBTF9PSykKKyAgeworICAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9SRUFEWTsKKyAgfQorCisgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLworICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKKworICAvKiBQcm9jZXNzIFVubG9ja2VkICovCisgIF9fSEFMX1VOTE9DSyhocnRjKTsKKworICByZXR1cm4gc3RhdHVzOwogfQogCiAvKioKQEAgLTEwMTgsMTQgKzk0NSwxNyBAQAogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICBAYXJnIFJUQ19GT1JNQVRfQklOOiAgQmluYXJ5IGRhdGEgZm9ybWF0CiAgICogICAgICAgICAgICBAYXJnIFJUQ19GT1JNQVRfQkNEOiAgQkNEIGRhdGEgZm9ybWF0Ci0gICogQG5vdGUgWW91IG11c3QgY2FsbCBIQUxfUlRDX0dldERhdGUoKSBhZnRlciBIQUxfUlRDX0dldFRpbWUoKSB0byB1bmxvY2sgdGhlIHZhbHVlcwotICAqIGluIHRoZSBoaWdoZXItb3JkZXIgY2FsZW5kYXIgc2hhZG93IHJlZ2lzdGVycyB0byBlbnN1cmUgY29uc2lzdGVuY3kgYmV0d2VlbiB0aGUgdGltZSBhbmQgZGF0ZSB2YWx1ZXMuCi0gICogUmVhZGluZyBSVEMgY3VycmVudCB0aW1lIGxvY2tzIHRoZSB2YWx1ZXMgaW4gY2FsZW5kYXIgc2hhZG93IHJlZ2lzdGVycyB1bnRpbCBDdXJyZW50IGRhdGUgaXMgcmVhZC4KKyAgKiBAbm90ZSAgWW91IG11c3QgY2FsbCBIQUxfUlRDX0dldERhdGUoKSBhZnRlciBIQUxfUlRDX0dldFRpbWUoKSB0byB1bmxvY2sgdGhlCisgICogICAgICAgIHZhbHVlcyBpbiB0aGUgaGlnaGVyLW9yZGVyIGNhbGVuZGFyIHNoYWRvdyByZWdpc3RlcnMgdG8gZW5zdXJlCisgICogICAgICAgIGNvbnNpc3RlbmN5IGJldHdlZW4gdGhlIHRpbWUgYW5kIGRhdGUgdmFsdWVzLgorICAqICAgICAgICBSZWFkaW5nIFJUQyBjdXJyZW50IHRpbWUgbG9ja3MgdGhlIHZhbHVlcyBpbiBjYWxlbmRhciBzaGFkb3cgcmVnaXN0ZXJzCisgICogICAgICAgIHVudGlsIGN1cnJlbnQgZGF0ZSBpcyByZWFkIHRvIGVuc3VyZSBjb25zaXN0ZW5jeSBiZXR3ZWVuIHRoZSB0aW1lIGFuZAorICAqICAgICAgICBkYXRlIHZhbHVlcy4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENfR2V0RGF0ZShSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgUlRDX0RhdGVUeXBlRGVmICpzRGF0ZSwgdWludDMyX3QgRm9ybWF0KQogewotICB1aW50MzJfdCBkYXRldG1wcmVnID0gMDsKKyAgdWludDMyX3QgZGF0ZXRtcHJlZyA9IDBVOwogCiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19SVENfRk9STUFUKEZvcm1hdCkpOwpAQCAtMTAzNCwxOCArOTY0LDE4IEBACiAgIGRhdGV0bXByZWcgPSAodWludDMyX3QpKGhydGMtPkluc3RhbmNlLT5EUiAmIFJUQ19EUl9SRVNFUlZFRF9NQVNLKTsKIAogICAvKiBGaWxsIHRoZSBzdHJ1Y3R1cmUgZmllbGRzIHdpdGggdGhlIHJlYWQgcGFyYW1ldGVycyAqLwotICBzRGF0ZS0+WWVhciA9ICh1aW50OF90KSgoZGF0ZXRtcHJlZyAmIChSVENfRFJfWVQgfCBSVENfRFJfWVUpKSA+PiAxNik7Ci0gIHNEYXRlLT5Nb250aCA9ICh1aW50OF90KSgoZGF0ZXRtcHJlZyAmIChSVENfRFJfTVQgfCBSVENfRFJfTVUpKSA+PiA4KTsKLSAgc0RhdGUtPkRhdGUgPSAodWludDhfdCkoZGF0ZXRtcHJlZyAmIChSVENfRFJfRFQgfCBSVENfRFJfRFUpKTsKLSAgc0RhdGUtPldlZWtEYXkgPSAodWludDhfdCkoKGRhdGV0bXByZWcgJiAoUlRDX0RSX1dEVSkpID4+IDEzKTsKKyAgc0RhdGUtPlllYXIgICAgPSAodWludDhfdCkoKGRhdGV0bXByZWcgJiAoUlRDX0RSX1lUIHwgUlRDX0RSX1lVKSkgPj4gUlRDX0RSX1lVX1Bvcyk7CisgIHNEYXRlLT5Nb250aCAgID0gKHVpbnQ4X3QpKChkYXRldG1wcmVnICYgKFJUQ19EUl9NVCB8IFJUQ19EUl9NVSkpID4+IFJUQ19EUl9NVV9Qb3MpOworICBzRGF0ZS0+RGF0ZSAgICA9ICh1aW50OF90KSAoZGF0ZXRtcHJlZyAmIChSVENfRFJfRFQgfCBSVENfRFJfRFUpKTsKKyAgc0RhdGUtPldlZWtEYXkgPSAodWludDhfdCkoKGRhdGV0bXByZWcgJiAoUlRDX0RSX1dEVSkpICAgICAgICAgICAgPj4gUlRDX0RSX1dEVV9Qb3MpOwogCiAgIC8qIENoZWNrIHRoZSBpbnB1dCBwYXJhbWV0ZXJzIGZvcm1hdCAqLwotICBpZihGb3JtYXQgPT0gUlRDX0ZPUk1BVF9CSU4pCisgIGlmIChGb3JtYXQgPT0gUlRDX0ZPUk1BVF9CSU4pCiAgIHsKICAgICAvKiBDb252ZXJ0IHRoZSBkYXRlIHN0cnVjdHVyZSBwYXJhbWV0ZXJzIHRvIEJpbmFyeSBmb3JtYXQgKi8KLSAgICBzRGF0ZS0+WWVhciA9ICh1aW50OF90KVJUQ19CY2QyVG9CeXRlKHNEYXRlLT5ZZWFyKTsKKyAgICBzRGF0ZS0+WWVhciAgPSAodWludDhfdClSVENfQmNkMlRvQnl0ZShzRGF0ZS0+WWVhcik7CiAgICAgc0RhdGUtPk1vbnRoID0gKHVpbnQ4X3QpUlRDX0JjZDJUb0J5dGUoc0RhdGUtPk1vbnRoKTsKLSAgICBzRGF0ZS0+RGF0ZSA9ICh1aW50OF90KVJUQ19CY2QyVG9CeXRlKHNEYXRlLT5EYXRlKTsKKyAgICBzRGF0ZS0+RGF0ZSAgPSAodWludDhfdClSVENfQmNkMlRvQnl0ZShzRGF0ZS0+RGF0ZSk7CiAgIH0KICAgcmV0dXJuIEhBTF9PSzsKIH0KQEAgLTEwNTQsOSArOTg0LDkgQEAKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIFJUQ19Hcm91cDMgUlRDIEFsYXJtIGZ1bmN0aW9ucwotICogIEBicmllZiAgIFJUQyBBbGFybSBmdW5jdGlvbnMKLSAqCisvKiogQGRlZmdyb3VwIFJUQ19FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAzIFJUQyBBbGFybSBmdW5jdGlvbnMKKyAgKiBAYnJpZWYgICAgUlRDIEFsYXJtIGZ1bmN0aW9ucworICAqCiBAdmVyYmF0aW0KICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICMjIyMjIFJUQyBBbGFybSBmdW5jdGlvbnMgIyMjIyMKQEAgLTEwNzQsMTQgKzEwMDQsMTggQEAKICAgKiBAcGFyYW0gIHNBbGFybSBQb2ludGVyIHRvIEFsYXJtIHN0cnVjdHVyZQogICAqIEBwYXJhbSAgRm9ybWF0IFNwZWNpZmllcyB0aGUgZm9ybWF0IG9mIHRoZSBlbnRlcmVkIHBhcmFtZXRlcnMuCiAgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKLSAgKiAgICAgICAgICAgICBAYXJnIEZPUk1BVF9CSU46IEJpbmFyeSBkYXRhIGZvcm1hdAotICAqICAgICAgICAgICAgIEBhcmcgRk9STUFUX0JDRDogQkNEIGRhdGEgZm9ybWF0CisgICogICAgICAgICAgICAgQGFyZyBSVENfRk9STUFUX0JJTjogQmluYXJ5IGRhdGEgZm9ybWF0CisgICogICAgICAgICAgICAgQGFyZyBSVENfRk9STUFUX0JDRDogQkNEIGRhdGEgZm9ybWF0CisgICogQG5vdGUgICBUaGUgQWxhcm0gcmVnaXN0ZXIgY2FuIG9ubHkgYmUgd3JpdHRlbiB3aGVuIHRoZSBjb3JyZXNwb25kaW5nIEFsYXJtCisgICogICAgICAgICBpcyBkaXNhYmxlZCAoVXNlIHRoZSBIQUxfUlRDX0RlYWN0aXZhdGVBbGFybSgpKS4KKyAgKiBAbm90ZSAgIFRoZSBIQUxfUlRDX1NldFRpbWUoKSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgZW5hYmxpbmcgdGhlIEFsYXJtIGZlYXR1cmUuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDX1NldEFsYXJtKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCBSVENfQWxhcm1UeXBlRGVmICpzQWxhcm0sIHVpbnQzMl90IEZvcm1hdCkKIHsKLSAgdWludDMyX3QgdGlja3N0YXJ0ID0gMDsKLSAgdWludDMyX3QgdG1wcmVnID0gMCwgc3Vic2Vjb25kdG1wcmVnID0gMDsKKyAgdWludDMyX3QgdGlja3N0YXJ0ID0gMFU7CisgIHVpbnQzMl90IHRtcHJlZyA9IDBVOworICB1aW50MzJfdCBzdWJzZWNvbmR0bXByZWcgPSAwVTsKIAogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfUlRDX0ZPUk1BVChGb3JtYXQpKTsKQEAgLTEwOTQsMjQgKzEwMjgsMjcgQEAKICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KICAgX19IQUxfTE9DSyhocnRjKTsKIAorICAvKiBDaGFuZ2UgUlRDIHN0YXRlIHRvIEJVU1kgKi8KICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX0JVU1k7CiAKLSAgaWYoRm9ybWF0ID09IFJUQ19GT1JNQVRfQklOKQorICAvKiBDaGVjayB0aGUgZGF0YSBmb3JtYXQgKGJpbmFyeSBvciBCQ0QpIGFuZCBzdG9yZSB0aGUgQWxhcm0gdGltZSBhbmQgZGF0ZQorICAgICBjb25maWd1cmF0aW9uIGFjY29yZGluZ2x5ICovCisgIGlmIChGb3JtYXQgPT0gUlRDX0ZPUk1BVF9CSU4pCiAgIHsKLSAgICBpZigoaHJ0Yy0+SW5zdGFuY2UtPkNSICYgUlRDX0NSX0ZNVCkgIT0gKHVpbnQzMl90KVJFU0VUKQorICAgIGlmICgoaHJ0Yy0+SW5zdGFuY2UtPkNSICYgUlRDX0NSX0ZNVCkgIT0gMFUpCiAgICAgewogICAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19IT1VSMTIoc0FsYXJtLT5BbGFybVRpbWUuSG91cnMpKTsKICAgICAgIGFzc2VydF9wYXJhbShJU19SVENfSE9VUkZPUk1BVDEyKHNBbGFybS0+QWxhcm1UaW1lLlRpbWVGb3JtYXQpKTsKICAgICB9CiAgICAgZWxzZQogICAgIHsKLSAgICAgIHNBbGFybS0+QWxhcm1UaW1lLlRpbWVGb3JtYXQgPSAweDAwOworICAgICAgc0FsYXJtLT5BbGFybVRpbWUuVGltZUZvcm1hdCA9IDB4MDBVOwogICAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19IT1VSMjQoc0FsYXJtLT5BbGFybVRpbWUuSG91cnMpKTsKICAgICB9CiAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19NSU5VVEVTKHNBbGFybS0+QWxhcm1UaW1lLk1pbnV0ZXMpKTsKICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX1NFQ09ORFMoc0FsYXJtLT5BbGFybVRpbWUuU2Vjb25kcykpOwogCi0gICAgaWYoc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5U2VsID09IFJUQ19BTEFSTURBVEVXRUVLREFZU0VMX0RBVEUpCisgICAgaWYgKHNBbGFybS0+QWxhcm1EYXRlV2Vla0RheVNlbCA9PSBSVENfQUxBUk1EQVRFV0VFS0RBWVNFTF9EQVRFKQogICAgIHsKICAgICAgIGFzc2VydF9wYXJhbShJU19SVENfQUxBUk1fREFURV9XRUVLREFZX0RBVEUoc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5KSk7CiAgICAgfQpAQCAtMTEyMCwzMSArMTA1NywzMSBAQAogICAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19BTEFSTV9EQVRFX1dFRUtEQVlfV0VFS0RBWShzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXkpKTsKICAgICB9CiAKLSAgICB0bXByZWcgPSAoKCh1aW50MzJfdClSVENfQnl0ZVRvQmNkMihzQWxhcm0tPkFsYXJtVGltZS5Ib3VycykgPDwgMTYpIHwgXAotICAgICAgICAgICAgICAoKHVpbnQzMl90KVJUQ19CeXRlVG9CY2QyKHNBbGFybS0+QWxhcm1UaW1lLk1pbnV0ZXMpIDw8IDgpIHwgXAotICAgICAgICAgICAgICAoKHVpbnQzMl90KVJUQ19CeXRlVG9CY2QyKHNBbGFybS0+QWxhcm1UaW1lLlNlY29uZHMpKSB8IFwKLSAgICAgICAgICAgICAgKCh1aW50MzJfdCkoc0FsYXJtLT5BbGFybVRpbWUuVGltZUZvcm1hdCkgPDwgMTYpIHwgXAotICAgICAgICAgICAgICAoKHVpbnQzMl90KVJUQ19CeXRlVG9CY2QyKHNBbGFybS0+QWxhcm1EYXRlV2Vla0RheSkgPDwgMjQpIHwgXAotICAgICAgICAgICAgICAoKHVpbnQzMl90KXNBbGFybS0+QWxhcm1EYXRlV2Vla0RheVNlbCkgfCBcCisgICAgdG1wcmVnID0gKCgodWludDMyX3QpUlRDX0J5dGVUb0JjZDIoc0FsYXJtLT5BbGFybVRpbWUuSG91cnMpICAgPDwgUlRDX0FMUk1BUl9IVV9Qb3MpICB8IFwKKyAgICAgICAgICAgICAgKCh1aW50MzJfdClSVENfQnl0ZVRvQmNkMihzQWxhcm0tPkFsYXJtVGltZS5NaW51dGVzKSA8PCBSVENfQUxSTUFSX01OVV9Qb3MpIHwgXAorICAgICAgICAgICAgICAoKHVpbnQzMl90KVJUQ19CeXRlVG9CY2QyKHNBbGFybS0+QWxhcm1UaW1lLlNlY29uZHMpKSAgICAgICAgICAgICAgICAgICAgICAgfCBcCisgICAgICAgICAgICAgICgodWludDMyX3QpKHNBbGFybS0+QWxhcm1UaW1lLlRpbWVGb3JtYXQpICAgICAgICAgICAgPDwgUlRDX1RSX1BNX1BvcykgICAgICB8IFwKKyAgICAgICAgICAgICAgKCh1aW50MzJfdClSVENfQnl0ZVRvQmNkMihzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXkpICA8PCBSVENfQUxSTUFSX0RVX1BvcykgIHwgXAorICAgICAgICAgICAgICAoKHVpbnQzMl90KXNBbGFybS0+QWxhcm1EYXRlV2Vla0RheVNlbCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcCiAgICAgICAgICAgICAgICgodWludDMyX3Qpc0FsYXJtLT5BbGFybU1hc2spKTsKICAgfQogICBlbHNlCiAgIHsKLSAgICBpZigoaHJ0Yy0+SW5zdGFuY2UtPkNSICYgUlRDX0NSX0ZNVCkgIT0gKHVpbnQzMl90KVJFU0VUKQorICAgIGlmICgoaHJ0Yy0+SW5zdGFuY2UtPkNSICYgUlRDX0NSX0ZNVCkgIT0gMFUpCiAgICAgewogICAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19IT1VSMTIoUlRDX0JjZDJUb0J5dGUoc0FsYXJtLT5BbGFybVRpbWUuSG91cnMpKSk7CiAgICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX0hPVVJGT1JNQVQxMihzQWxhcm0tPkFsYXJtVGltZS5UaW1lRm9ybWF0KSk7CiAgICAgfQogICAgIGVsc2UKICAgICB7Ci0gICAgICBzQWxhcm0tPkFsYXJtVGltZS5UaW1lRm9ybWF0ID0gMHgwMDsKKyAgICAgIHNBbGFybS0+QWxhcm1UaW1lLlRpbWVGb3JtYXQgPSAweDAwVTsKICAgICAgIGFzc2VydF9wYXJhbShJU19SVENfSE9VUjI0KFJUQ19CY2QyVG9CeXRlKHNBbGFybS0+QWxhcm1UaW1lLkhvdXJzKSkpOwogICAgIH0KIAogICAgIGFzc2VydF9wYXJhbShJU19SVENfTUlOVVRFUyhSVENfQmNkMlRvQnl0ZShzQWxhcm0tPkFsYXJtVGltZS5NaW51dGVzKSkpOwogICAgIGFzc2VydF9wYXJhbShJU19SVENfU0VDT05EUyhSVENfQmNkMlRvQnl0ZShzQWxhcm0tPkFsYXJtVGltZS5TZWNvbmRzKSkpOwogCi0gICAgaWYoc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5U2VsID09IFJUQ19BTEFSTURBVEVXRUVLREFZU0VMX0RBVEUpCisgICAgaWYgKHNBbGFybS0+QWxhcm1EYXRlV2Vla0RheVNlbCA9PSBSVENfQUxBUk1EQVRFV0VFS0RBWVNFTF9EQVRFKQogICAgIHsKICAgICAgIGFzc2VydF9wYXJhbShJU19SVENfQUxBUk1fREFURV9XRUVLREFZX0RBVEUoUlRDX0JjZDJUb0J5dGUoc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5KSkpOwogICAgIH0KQEAgLTExNTMsMzcgKzEwOTAsNDEgQEAKICAgICAgIGFzc2VydF9wYXJhbShJU19SVENfQUxBUk1fREFURV9XRUVLREFZX1dFRUtEQVkoUlRDX0JjZDJUb0J5dGUoc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5KSkpOwogICAgIH0KIAotICAgIHRtcHJlZyA9ICgoKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtVGltZS5Ib3VycykgPDwgMTYpIHwgXAotICAgICAgICAgICAgICAoKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtVGltZS5NaW51dGVzKSA8PCA4KSB8IFwKLSAgICAgICAgICAgICAgKCh1aW50MzJfdCkgc0FsYXJtLT5BbGFybVRpbWUuU2Vjb25kcykgfCBcCi0gICAgICAgICAgICAgICgodWludDMyX3QpKHNBbGFybS0+QWxhcm1UaW1lLlRpbWVGb3JtYXQpIDw8IDE2KSB8IFwKLSAgICAgICAgICAgICAgKCh1aW50MzJfdCkoc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5KSA8PCAyNCkgfCBcCi0gICAgICAgICAgICAgICgodWludDMyX3Qpc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5U2VsKSB8IFwKLSAgICAgICAgICAgICAgKCh1aW50MzJfdClzQWxhcm0tPkFsYXJtTWFzaykpOworICAgIHRtcHJlZyA9ICgoKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtVGltZS5Ib3VycykgICAgICA8PCBSVENfQUxSTUFSX0hVX1BvcykgIHwgXAorICAgICAgICAgICAgICAoKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtVGltZS5NaW51dGVzKSAgICA8PCBSVENfQUxSTUFSX01OVV9Qb3MpIHwgXAorICAgICAgICAgICAgICAoKHVpbnQzMl90KSBzQWxhcm0tPkFsYXJtVGltZS5TZWNvbmRzKSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXAorICAgICAgICAgICAgICAoKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtVGltZS5UaW1lRm9ybWF0KSA8PCBSVENfVFJfUE1fUG9zKSAgICAgIHwgXAorICAgICAgICAgICAgICAoKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXkpICAgICA8PCBSVENfQUxSTUFSX0RVX1BvcykgIHwgXAorICAgICAgICAgICAgICAoKHVpbnQzMl90KSBzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXlTZWwpICAgICAgICAgICAgICAgICAgICAgICAgIHwgXAorICAgICAgICAgICAgICAoKHVpbnQzMl90KSBzQWxhcm0tPkFsYXJtTWFzaykpOwogICB9CiAKLSAgLyogQ29uZmlndXJlIHRoZSBBbGFybSBBIG9yIEFsYXJtIEIgU3ViIFNlY29uZCByZWdpc3RlcnMgKi8KLSAgc3Vic2Vjb25kdG1wcmVnID0gKHVpbnQzMl90KSgodWludDMyX3QpKHNBbGFybS0+QWxhcm1UaW1lLlN1YlNlY29uZHMpIHwgKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtU3ViU2Vjb25kTWFzaykpOworICAvKiBTdG9yZSB0aGUgQWxhcm0gc3Vic2Vjb25kcyBjb25maWd1cmF0aW9uICovCisgIHN1YnNlY29uZHRtcHJlZyA9ICh1aW50MzJfdCkoKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtVGltZS5TdWJTZWNvbmRzKSB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3QpKHNBbGFybS0+QWxhcm1TdWJTZWNvbmRNYXNrKSk7CiAKICAgLyogRGlzYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoaHJ0Yyk7CiAKICAgLyogQ29uZmlndXJlIHRoZSBBbGFybSByZWdpc3RlciAqLwotICBpZihzQWxhcm0tPkFsYXJtID09IFJUQ19BTEFSTV9BKQorICBpZiAoc0FsYXJtLT5BbGFybSA9PSBSVENfQUxBUk1fQSkKICAgewotICAgIC8qIERpc2FibGUgdGhlIEFsYXJtIEEgaW50ZXJydXB0ICovCisgICAgLyogRGlzYWJsZSB0aGUgQWxhcm0gQSAqLwogICAgIF9fSEFMX1JUQ19BTEFSTUFfRElTQUJMRShocnRjKTsKIAotICAgIC8qIEluIGNhc2Ugb2YgaW50ZXJydXB0IG1vZGUgaXMgdXNlZCwgdGhlIGludGVycnVwdCBzb3VyY2UgbXVzdCBkaXNhYmxlZCAqLworICAgIC8qIEluIGNhc2UgaW50ZXJydXB0IG1vZGUgaXMgdXNlZCwgdGhlIGludGVycnVwdCBzb3VyY2UgbXVzdCBiZSBkaXNhYmxlZCAqLwogICAgIF9fSEFMX1JUQ19BTEFSTV9ESVNBQkxFX0lUKGhydGMsIFJUQ19JVF9BTFJBKTsKIAorICAgIC8qIENsZWFyIHRoZSBBbGFybSBmbGFnICovCisgICAgX19IQUxfUlRDX0FMQVJNX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfQUxSQUYpOworCiAgICAgLyogR2V0IHRpY2sgKi8KICAgICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCi0gICAgLyogV2FpdCB0aWxsIFJUQyBBTFJBV0YgZmxhZyBpcyBzZXQgYW5kIGlmIFRpbWUgb3V0IGlzIHJlYWNoZWQgZXhpdCAqLwotICAgIHdoaWxlKF9fSEFMX1JUQ19BTEFSTV9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19BTFJBV0YpID09IFJFU0VUKQorICAgIC8qIFdhaXQgdGlsbCBSVEMgQUxSQVdGIGZsYWcgaXMgc2V0IGFuZCBpZiB0aW1lb3V0IGlzIHJlYWNoZWQgZXhpdCAqLworICAgIHdoaWxlIChfX0hBTF9SVENfQUxBUk1fR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfQUxSQVdGKSA9PSAwVSkKICAgICB7Ci0gICAgICBpZigoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCApID4gUlRDX1RJTUVPVVRfVkFMVUUpCisgICAgICBpZiAoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQpID4gUlRDX1RJTUVPVVRfVkFMVUUpCiAgICAgICB7CiAgICAgICAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICAgICAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKQEAgLTExOTgsMjYgKzExMzksMjkgQEAKICAgICB9CiAKICAgICBocnRjLT5JbnN0YW5jZS0+QUxSTUFSID0gKHVpbnQzMl90KXRtcHJlZzsKLSAgICAvKiBDb25maWd1cmUgdGhlIEFsYXJtIEEgU3ViIFNlY29uZCByZWdpc3RlciAqLworICAgIC8qIENvbmZpZ3VyZSB0aGUgQWxhcm0gQSBTdWJzZWNvbmRzIHJlZ2lzdGVyICovCiAgICAgaHJ0Yy0+SW5zdGFuY2UtPkFMUk1BU1NSID0gc3Vic2Vjb25kdG1wcmVnOwogICAgIC8qIENvbmZpZ3VyZSB0aGUgQWxhcm0gc3RhdGU6IEVuYWJsZSBBbGFybSAqLwogICAgIF9fSEFMX1JUQ19BTEFSTUFfRU5BQkxFKGhydGMpOwogICB9CiAgIGVsc2UKICAgewotICAgIC8qIERpc2FibGUgdGhlIEFsYXJtIEIgaW50ZXJydXB0ICovCisgICAgLyogRGlzYWJsZSB0aGUgQWxhcm0gQiAqLwogICAgIF9fSEFMX1JUQ19BTEFSTUJfRElTQUJMRShocnRjKTsKIAotICAgIC8qIEluIGNhc2Ugb2YgaW50ZXJydXB0IG1vZGUgaXMgdXNlZCwgdGhlIGludGVycnVwdCBzb3VyY2UgbXVzdCBkaXNhYmxlZCAqLworICAgIC8qIEluIGNhc2UgaW50ZXJydXB0IG1vZGUgaXMgdXNlZCwgdGhlIGludGVycnVwdCBzb3VyY2UgbXVzdCBiZSBkaXNhYmxlZCAqLwogICAgIF9fSEFMX1JUQ19BTEFSTV9ESVNBQkxFX0lUKGhydGMsIFJUQ19JVF9BTFJCKTsKIAorICAgIC8qIENsZWFyIHRoZSBBbGFybSBmbGFnICovCisgICAgX19IQUxfUlRDX0FMQVJNX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfQUxSQkYpOworCiAgICAgLyogR2V0IHRpY2sgKi8KICAgICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCi0gICAgLyogV2FpdCB0aWxsIFJUQyBBTFJCV0YgZmxhZyBpcyBzZXQgYW5kIGlmIFRpbWUgb3V0IGlzIHJlYWNoZWQgZXhpdCAqLwotICAgIHdoaWxlKF9fSEFMX1JUQ19BTEFSTV9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19BTFJCV0YpID09IFJFU0VUKQorICAgIC8qIFdhaXQgdGlsbCBSVEMgQUxSQldGIGZsYWcgaXMgc2V0IGFuZCBpZiB0aW1lb3V0IGlzIHJlYWNoZWQgZXhpdCAqLworICAgIHdoaWxlIChfX0hBTF9SVENfQUxBUk1fR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfQUxSQldGKSA9PSAwVSkKICAgICB7Ci0gICAgICBpZigoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCApID4gUlRDX1RJTUVPVVRfVkFMVUUpCisgICAgICBpZiAoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQpID4gUlRDX1RJTUVPVVRfVkFMVUUpCiAgICAgICB7CiAgICAgICAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICAgICAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKQEAgLTEyMzIsNyArMTE3Niw3IEBACiAgICAgfQogCiAgICAgaHJ0Yy0+SW5zdGFuY2UtPkFMUk1CUiA9ICh1aW50MzJfdCl0bXByZWc7Ci0gICAgLyogQ29uZmlndXJlIHRoZSBBbGFybSBCIFN1YiBTZWNvbmQgcmVnaXN0ZXIgKi8KKyAgICAvKiBDb25maWd1cmUgdGhlIEFsYXJtIEIgU3Vic2Vjb25kcyByZWdpc3RlciAqLwogICAgIGhydGMtPkluc3RhbmNlLT5BTFJNQlNTUiA9IHN1YnNlY29uZHRtcHJlZzsKICAgICAvKiBDb25maWd1cmUgdGhlIEFsYXJtIHN0YXRlOiBFbmFibGUgQWxhcm0gKi8KICAgICBfX0hBTF9SVENfQUxBUk1CX0VOQUJMRShocnRjKTsKQEAgLTEyNDEsNyArMTE4NSw3IEBACiAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKIAotICAvKiBDaGFuZ2UgUlRDIHN0YXRlICovCisgIC8qIENoYW5nZSBSVEMgc3RhdGUgYmFjayB0byBSRUFEWSAqLwogICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfUkVBRFk7CiAKICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwpAQCAtMTI1MSwxNCArMTE5NSwxNCBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIFNldHMgdGhlIHNwZWNpZmllZCBSVEMgQWxhcm0gd2l0aCBJbnRlcnJ1cHQKKyAgKiBAYnJpZWYgIFNldHMgdGhlIHNwZWNpZmllZCBSVEMgQWxhcm0gd2l0aCBJbnRlcnJ1cHQuCiAgICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCiAgICogQHBhcmFtICBzQWxhcm0gUG9pbnRlciB0byBBbGFybSBzdHJ1Y3R1cmUKICAgKiBAcGFyYW0gIEZvcm1hdCBTcGVjaWZpZXMgdGhlIGZvcm1hdCBvZiB0aGUgZW50ZXJlZCBwYXJhbWV0ZXJzLgogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6Ci0gICogICAgICAgICAgICAgQGFyZyBGT1JNQVRfQklOOiBCaW5hcnkgZGF0YSBmb3JtYXQKLSAgKiAgICAgICAgICAgICBAYXJnIEZPUk1BVF9CQ0Q6IEJDRCBkYXRhIGZvcm1hdAorICAqICAgICAgICAgICAgIEBhcmcgUlRDX0ZPUk1BVF9CSU46IEJpbmFyeSBkYXRhIGZvcm1hdAorICAqICAgICAgICAgICAgIEBhcmcgUlRDX0ZPUk1BVF9CQ0Q6IEJDRCBkYXRhIGZvcm1hdAogICAqIEBub3RlICAgVGhlIEFsYXJtIHJlZ2lzdGVyIGNhbiBvbmx5IGJlIHdyaXR0ZW4gd2hlbiB0aGUgY29ycmVzcG9uZGluZyBBbGFybQogICAqICAgICAgICAgaXMgZGlzYWJsZWQgKFVzZSB0aGUgSEFMX1JUQ19EZWFjdGl2YXRlQWxhcm0oKSkuCiAgICogQG5vdGUgICBUaGUgSEFMX1JUQ19TZXRUaW1lKCkgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGVuYWJsaW5nIHRoZSBBbGFybSBmZWF0dXJlLgpAQCAtMTI2Niw4ICsxMjEwLDkgQEAKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENfU2V0QWxhcm1fSVQoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIFJUQ19BbGFybVR5cGVEZWYgKnNBbGFybSwgdWludDMyX3QgRm9ybWF0KQogewotICB1aW50MzJfdCB0bXByZWcgPSAwVSwgc3Vic2Vjb25kdG1wcmVnID0gMFU7Ci0gIF9fSU8gdWludDMyX3QgY291bnQgPSBSVENfVElNRU9VVF9WQUxVRSAgKiAoU3lzdGVtQ29yZUNsb2NrIC8gMzJVIC8gMTAwMFUpIDsKKyAgX19JTyB1aW50MzJfdCBjb3VudCAgPSBSVENfVElNRU9VVF9WQUxVRSAqIChTeXN0ZW1Db3JlQ2xvY2sgLyAzMlUgLyAxMDAwVSk7CisgICAgICAgdWludDMyX3QgdG1wcmVnID0gMFU7CisgICAgICAgdWludDMyX3Qgc3Vic2Vjb25kdG1wcmVnID0gMFU7CiAKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19GT1JNQVQoRm9ybWF0KSk7CkBAIC0xMjgwLDExICsxMjI1LDE0IEBACiAgIC8qIFByb2Nlc3MgTG9ja2VkICovCiAgIF9fSEFMX0xPQ0soaHJ0Yyk7CiAKKyAgLyogQ2hhbmdlIFJUQyBzdGF0ZSB0byBCVVNZICovCiAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9CVVNZOwogCi0gIGlmKEZvcm1hdCA9PSBSVENfRk9STUFUX0JJTikKKyAgLyogQ2hlY2sgdGhlIGRhdGEgZm9ybWF0IChiaW5hcnkgb3IgQkNEKSBhbmQgc3RvcmUgdGhlIEFsYXJtIHRpbWUgYW5kIGRhdGUKKyAgICAgY29uZmlndXJhdGlvbiBhY2NvcmRpbmdseSAqLworICBpZiAoRm9ybWF0ID09IFJUQ19GT1JNQVRfQklOKQogICB7Ci0gICAgaWYoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9GTVQpICE9ICh1aW50MzJfdClSRVNFVCkKKyAgICBpZiAoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9GTVQpICE9IDBVKQogICAgIHsKICAgICAgIGFzc2VydF9wYXJhbShJU19SVENfSE9VUjEyKHNBbGFybS0+QWxhcm1UaW1lLkhvdXJzKSk7CiAgICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX0hPVVJGT1JNQVQxMihzQWxhcm0tPkFsYXJtVGltZS5UaW1lRm9ybWF0KSk7CkBAIC0xMjk3LDcgKzEyNDUsNyBAQAogICAgIGFzc2VydF9wYXJhbShJU19SVENfTUlOVVRFUyhzQWxhcm0tPkFsYXJtVGltZS5NaW51dGVzKSk7CiAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19TRUNPTkRTKHNBbGFybS0+QWxhcm1UaW1lLlNlY29uZHMpKTsKIAotICAgIGlmKHNBbGFybS0+QWxhcm1EYXRlV2Vla0RheVNlbCA9PSBSVENfQUxBUk1EQVRFV0VFS0RBWVNFTF9EQVRFKQorICAgIGlmIChzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXlTZWwgPT0gUlRDX0FMQVJNREFURVdFRUtEQVlTRUxfREFURSkKICAgICB7CiAgICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX0FMQVJNX0RBVEVfV0VFS0RBWV9EQVRFKHNBbGFybS0+QWxhcm1EYXRlV2Vla0RheSkpOwogICAgIH0KQEAgLTEzMDUsMTcgKzEyNTMsMTggQEAKICAgICB7CiAgICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX0FMQVJNX0RBVEVfV0VFS0RBWV9XRUVLREFZKHNBbGFybS0+QWxhcm1EYXRlV2Vla0RheSkpOwogICAgIH0KLSAgICB0bXByZWcgPSAoKCh1aW50MzJfdClSVENfQnl0ZVRvQmNkMihzQWxhcm0tPkFsYXJtVGltZS5Ib3VycykgPDwgMTZVKSB8IFwKLSAgICAgICAgICAgICAgKCh1aW50MzJfdClSVENfQnl0ZVRvQmNkMihzQWxhcm0tPkFsYXJtVGltZS5NaW51dGVzKSA8PCA4VSkgfCBcCi0gICAgICAgICAgICAgICgodWludDMyX3QpUlRDX0J5dGVUb0JjZDIoc0FsYXJtLT5BbGFybVRpbWUuU2Vjb25kcykpIHwgXAotICAgICAgICAgICAgICAoKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtVGltZS5UaW1lRm9ybWF0KSA8PCAxNlUpIHwgXAotICAgICAgICAgICAgICAoKHVpbnQzMl90KVJUQ19CeXRlVG9CY2QyKHNBbGFybS0+QWxhcm1EYXRlV2Vla0RheSkgPDwgMjRVKSB8IFwKLSAgICAgICAgICAgICAgKCh1aW50MzJfdClzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXlTZWwpIHwgXAorCisgICAgdG1wcmVnID0gKCgodWludDMyX3QpUlRDX0J5dGVUb0JjZDIoc0FsYXJtLT5BbGFybVRpbWUuSG91cnMpICAgPDwgUlRDX0FMUk1BUl9IVV9Qb3MpICB8IFwKKyAgICAgICAgICAgICAgKCh1aW50MzJfdClSVENfQnl0ZVRvQmNkMihzQWxhcm0tPkFsYXJtVGltZS5NaW51dGVzKSA8PCBSVENfQUxSTUFSX01OVV9Qb3MpIHwgXAorICAgICAgICAgICAgICAoKHVpbnQzMl90KVJUQ19CeXRlVG9CY2QyKHNBbGFybS0+QWxhcm1UaW1lLlNlY29uZHMpKSAgICAgICAgICAgICAgICAgICAgICAgfCBcCisgICAgICAgICAgICAgICgodWludDMyX3QpKHNBbGFybS0+QWxhcm1UaW1lLlRpbWVGb3JtYXQpICAgICAgICAgICAgPDwgUlRDX1RSX1BNX1BvcykgICAgICB8IFwKKyAgICAgICAgICAgICAgKCh1aW50MzJfdClSVENfQnl0ZVRvQmNkMihzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXkpICA8PCBSVENfQUxSTUFSX0RVX1BvcykgIHwgXAorICAgICAgICAgICAgICAoKHVpbnQzMl90KXNBbGFybS0+QWxhcm1EYXRlV2Vla0RheVNlbCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcCiAgICAgICAgICAgICAgICgodWludDMyX3Qpc0FsYXJtLT5BbGFybU1hc2spKTsKICAgfQogICBlbHNlCiAgIHsKLSAgICBpZigoaHJ0Yy0+SW5zdGFuY2UtPkNSICYgUlRDX0NSX0ZNVCkgIT0gKHVpbnQzMl90KVJFU0VUKQorICAgIGlmICgoaHJ0Yy0+SW5zdGFuY2UtPkNSICYgUlRDX0NSX0ZNVCkgIT0gMFUpCiAgICAgewogICAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19IT1VSMTIoUlRDX0JjZDJUb0J5dGUoc0FsYXJtLT5BbGFybVRpbWUuSG91cnMpKSk7CiAgICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX0hPVVJGT1JNQVQxMihzQWxhcm0tPkFsYXJtVGltZS5UaW1lRm9ybWF0KSk7CkBAIC0xMzI5LDcgKzEyNzgsNyBAQAogICAgIGFzc2VydF9wYXJhbShJU19SVENfTUlOVVRFUyhSVENfQmNkMlRvQnl0ZShzQWxhcm0tPkFsYXJtVGltZS5NaW51dGVzKSkpOwogICAgIGFzc2VydF9wYXJhbShJU19SVENfU0VDT05EUyhSVENfQmNkMlRvQnl0ZShzQWxhcm0tPkFsYXJtVGltZS5TZWNvbmRzKSkpOwogCi0gICAgaWYoc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5U2VsID09IFJUQ19BTEFSTURBVEVXRUVLREFZU0VMX0RBVEUpCisgICAgaWYgKHNBbGFybS0+QWxhcm1EYXRlV2Vla0RheVNlbCA9PSBSVENfQUxBUk1EQVRFV0VFS0RBWVNFTF9EQVRFKQogICAgIHsKICAgICAgIGFzc2VydF9wYXJhbShJU19SVENfQUxBUk1fREFURV9XRUVLREFZX0RBVEUoUlRDX0JjZDJUb0J5dGUoc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5KSkpOwogICAgIH0KQEAgLTEzMzcsMzAgKzEyODYsMzMgQEAKICAgICB7CiAgICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX0FMQVJNX0RBVEVfV0VFS0RBWV9XRUVLREFZKFJUQ19CY2QyVG9CeXRlKHNBbGFybS0+QWxhcm1EYXRlV2Vla0RheSkpKTsKICAgICB9Ci0gICAgdG1wcmVnID0gKCgodWludDMyX3QpKHNBbGFybS0+QWxhcm1UaW1lLkhvdXJzKSA8PCAxNlUpIHwgXAotICAgICAgICAgICAgICAoKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtVGltZS5NaW51dGVzKSA8PCA4VSkgfCBcCi0gICAgICAgICAgICAgICgodWludDMyX3QpIHNBbGFybS0+QWxhcm1UaW1lLlNlY29uZHMpIHwgXAotICAgICAgICAgICAgICAoKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtVGltZS5UaW1lRm9ybWF0KSA8PCAxNlUpIHwgXAotICAgICAgICAgICAgICAoKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXkpIDw8IDI0VSkgfCBcCi0gICAgICAgICAgICAgICgodWludDMyX3Qpc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5U2VsKSB8IFwKLSAgICAgICAgICAgICAgKCh1aW50MzJfdClzQWxhcm0tPkFsYXJtTWFzaykpOworCisgICAgdG1wcmVnID0gKCgodWludDMyX3QpKHNBbGFybS0+QWxhcm1UaW1lLkhvdXJzKSAgICAgIDw8IFJUQ19BTFJNQVJfSFVfUG9zKSAgfCBcCisgICAgICAgICAgICAgICgodWludDMyX3QpKHNBbGFybS0+QWxhcm1UaW1lLk1pbnV0ZXMpICAgIDw8IFJUQ19BTFJNQVJfTU5VX1BvcykgfCBcCisgICAgICAgICAgICAgICgodWludDMyX3QpIHNBbGFybS0+QWxhcm1UaW1lLlNlY29uZHMpICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcCisgICAgICAgICAgICAgICgodWludDMyX3QpKHNBbGFybS0+QWxhcm1UaW1lLlRpbWVGb3JtYXQpIDw8IFJUQ19UUl9QTV9Qb3MpICAgICAgfCBcCisgICAgICAgICAgICAgICgodWludDMyX3QpKHNBbGFybS0+QWxhcm1EYXRlV2Vla0RheSkgICAgIDw8IFJUQ19BTFJNQVJfRFVfUG9zKSAgfCBcCisgICAgICAgICAgICAgICgodWludDMyX3QpIHNBbGFybS0+QWxhcm1EYXRlV2Vla0RheVNlbCkgICAgICAgICAgICAgICAgICAgICAgICAgfCBcCisgICAgICAgICAgICAgICgodWludDMyX3QpIHNBbGFybS0+QWxhcm1NYXNrKSk7CiAgIH0KLSAgLyogQ29uZmlndXJlIHRoZSBBbGFybSBBIG9yIEFsYXJtIEIgU3ViIFNlY29uZCByZWdpc3RlcnMgKi8KLSAgc3Vic2Vjb25kdG1wcmVnID0gKHVpbnQzMl90KSgodWludDMyX3QpKHNBbGFybS0+QWxhcm1UaW1lLlN1YlNlY29uZHMpIHwgKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtU3ViU2Vjb25kTWFzaykpOworCisgIC8qIFN0b3JlIHRoZSBBbGFybSBzdWJzZWNvbmRzIGNvbmZpZ3VyYXRpb24gKi8KKyAgc3Vic2Vjb25kdG1wcmVnID0gKHVpbnQzMl90KSgodWludDMyX3QpKHNBbGFybS0+QWxhcm1UaW1lLlN1YlNlY29uZHMpIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdCkoc0FsYXJtLT5BbGFybVN1YlNlY29uZE1hc2spKTsKIAogICAvKiBEaXNhYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCiAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRElTQUJMRShocnRjKTsKIAogICAvKiBDb25maWd1cmUgdGhlIEFsYXJtIHJlZ2lzdGVyICovCi0gIGlmKHNBbGFybS0+QWxhcm0gPT0gUlRDX0FMQVJNX0EpCisgIGlmIChzQWxhcm0tPkFsYXJtID09IFJUQ19BTEFSTV9BKQogICB7Ci0gICAgLyogRGlzYWJsZSB0aGUgQWxhcm0gQSBpbnRlcnJ1cHQgKi8KKyAgICAvKiBEaXNhYmxlIHRoZSBBbGFybSBBICovCiAgICAgX19IQUxfUlRDX0FMQVJNQV9ESVNBQkxFKGhydGMpOwogCi0gICAgLyogQ2xlYXIgZmxhZyBhbGFybSBBICovCisgICAgLyogQ2xlYXIgdGhlIEFsYXJtIGZsYWcgKi8KICAgICBfX0hBTF9SVENfQUxBUk1fQ0xFQVJfRkxBRyhocnRjLCBSVENfRkxBR19BTFJBRik7CiAKLSAgICAvKiBXYWl0IHRpbGwgUlRDIEFMUkFXRiBmbGFnIGlzIHNldCBhbmQgaWYgVGltZSBvdXQgaXMgcmVhY2hlZCBleGl0ICovCisgICAgLyogV2FpdCB0aWxsIFJUQyBBTFJBV0YgZmxhZyBpcyBzZXQgYW5kIGlmIHRpbWVvdXQgaXMgcmVhY2hlZCBleGl0ICovCiAgICAgZG8KICAgICB7CiAgICAgICBpZiAoY291bnQtLSA9PSAwVSkKQEAgLTEzNzUsMjYgKzEzMjcsMjggQEAKIAogICAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7CiAgICAgICB9Ci0gICAgfQotICAgIHdoaWxlIChfX0hBTF9SVENfQUxBUk1fR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfQUxSQVdGKSA9PSBSRVNFVCk7CisgICAgfSB3aGlsZSAoX19IQUxfUlRDX0FMQVJNX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX0FMUkFXRikgPT0gMFUpOwogCiAgICAgaHJ0Yy0+SW5zdGFuY2UtPkFMUk1BUiA9ICh1aW50MzJfdCl0bXByZWc7Ci0gICAgLyogQ29uZmlndXJlIHRoZSBBbGFybSBBIFN1YiBTZWNvbmQgcmVnaXN0ZXIgKi8KKyAgICAvKiBDb25maWd1cmUgdGhlIEFsYXJtIEEgU3Vic2Vjb25kcyByZWdpc3RlciAqLwogICAgIGhydGMtPkluc3RhbmNlLT5BTFJNQVNTUiA9IHN1YnNlY29uZHRtcHJlZzsKICAgICAvKiBDb25maWd1cmUgdGhlIEFsYXJtIHN0YXRlOiBFbmFibGUgQWxhcm0gKi8KICAgICBfX0hBTF9SVENfQUxBUk1BX0VOQUJMRShocnRjKTsKICAgICAvKiBDb25maWd1cmUgdGhlIEFsYXJtIGludGVycnVwdCAqLwotICAgIF9fSEFMX1JUQ19BTEFSTV9FTkFCTEVfSVQoaHJ0YyxSVENfSVRfQUxSQSk7CisgICAgX19IQUxfUlRDX0FMQVJNX0VOQUJMRV9JVChocnRjLCBSVENfSVRfQUxSQSk7CiAgIH0KICAgZWxzZQogICB7Ci0gICAgLyogRGlzYWJsZSB0aGUgQWxhcm0gQiBpbnRlcnJ1cHQgKi8KKyAgICAvKiBEaXNhYmxlIHRoZSBBbGFybSBCICovCiAgICAgX19IQUxfUlRDX0FMQVJNQl9ESVNBQkxFKGhydGMpOwogCi0gICAgLyogQ2xlYXIgZmxhZyBhbGFybSBCICovCisgICAgLyogQ2xlYXIgdGhlIEFsYXJtIGZsYWcgKi8KICAgICBfX0hBTF9SVENfQUxBUk1fQ0xFQVJfRkxBRyhocnRjLCBSVENfRkxBR19BTFJCRik7CiAKLSAgICAvKiBXYWl0IHRpbGwgUlRDIEFMUkJXRiBmbGFnIGlzIHNldCBhbmQgaWYgVGltZSBvdXQgaXMgcmVhY2hlZCBleGl0ICovCisgICAgLyogUmVsb2FkIHRoZSBjb3VudGVyICovCisgICAgY291bnQgPSBSVENfVElNRU9VVF9WQUxVRSAqIChTeXN0ZW1Db3JlQ2xvY2sgLyAzMlUgLyAxMDAwVSk7CisKKyAgICAvKiBXYWl0IHRpbGwgUlRDIEFMUkJXRiBmbGFnIGlzIHNldCBhbmQgaWYgdGltZW91dCBpcyByZWFjaGVkIGV4aXQgKi8KICAgICBkbwogICAgIHsKICAgICAgIGlmIChjb3VudC0tID09IDBVKQpAQCAtMTQwOSwxMSArMTM2MywxMCBAQAogCiAgICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgICAgIH0KLSAgICB9Ci0gICAgd2hpbGUgKF9fSEFMX1JUQ19BTEFSTV9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19BTFJCV0YpID09IFJFU0VUKTsKKyAgICB9IHdoaWxlIChfX0hBTF9SVENfQUxBUk1fR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfQUxSQldGKSA9PSAwVSk7CiAKICAgICBocnRjLT5JbnN0YW5jZS0+QUxSTUJSID0gKHVpbnQzMl90KXRtcHJlZzsKLSAgICAvKiBDb25maWd1cmUgdGhlIEFsYXJtIEIgU3ViIFNlY29uZCByZWdpc3RlciAqLworICAgIC8qIENvbmZpZ3VyZSB0aGUgQWxhcm0gQiBTdWJzZWNvbmRzIHJlZ2lzdGVyICovCiAgICAgaHJ0Yy0+SW5zdGFuY2UtPkFMUk1CU1NSID0gc3Vic2Vjb25kdG1wcmVnOwogICAgIC8qIENvbmZpZ3VyZSB0aGUgQWxhcm0gc3RhdGU6IEVuYWJsZSBBbGFybSAqLwogICAgIF9fSEFMX1JUQ19BTEFSTUJfRU5BQkxFKGhydGMpOwpAQCAtMTQyMywxMiArMTM3NiwxMiBAQAogCiAgIC8qIFJUQyBBbGFybSBJbnRlcnJ1cHQgQ29uZmlndXJhdGlvbjogRVhUSSBjb25maWd1cmF0aW9uICovCiAgIF9fSEFMX1JUQ19BTEFSTV9FWFRJX0VOQUJMRV9JVCgpOwotCi0gIEVYVEktPlJUU1IgfD0gUlRDX0VYVElfTElORV9BTEFSTV9FVkVOVDsKKyAgX19IQUxfUlRDX0FMQVJNX0VYVElfRU5BQkxFX1JJU0lOR19FREdFKCk7CiAKICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCiAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOwogCisgIC8qIENoYW5nZSBSVEMgc3RhdGUgYmFjayB0byBSRUFEWSAqLwogICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfUkVBRFk7CiAKICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwpAQCAtMTQzOCwxOCArMTM5MSwxOCBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIERlYWN0aXZhdGUgdGhlIHNwZWNpZmllZCBSVEMgQWxhcm0KKyAgKiBAYnJpZWYgIERlYWN0aXZhdGVzIHRoZSBzcGVjaWZpZWQgUlRDIEFsYXJtLgogICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgogICAqIEBwYXJhbSAgQWxhcm0gU3BlY2lmaWVzIHRoZSBBbGFybS4KICAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgotICAqICAgICAgICAgICAgQGFyZyBSVENfQUxBUk1fQTogIEFsYXJtQQotICAqICAgICAgICAgICAgQGFyZyBSVENfQUxBUk1fQjogIEFsYXJtQgorICAqICAgICAgICAgICAgQGFyZyBSVENfQUxBUk1fQTogQWxhcm0gQQorICAqICAgICAgICAgICAgQGFyZyBSVENfQUxBUk1fQjogQWxhcm0gQgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ19EZWFjdGl2YXRlQWxhcm0oUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIHVpbnQzMl90IEFsYXJtKQogewotICB1aW50MzJfdCB0aWNrc3RhcnQgPSAwOworICB1aW50MzJfdCB0aWNrc3RhcnQgPSAwVTsKIAogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfUlRDX0FMQVJNKEFsYXJtKSk7CkBAIC0xNDYyLDIxICsxNDE1LDIxIEBACiAgIC8qIERpc2FibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9ESVNBQkxFKGhydGMpOwogCi0gIGlmKEFsYXJtID09IFJUQ19BTEFSTV9BKQorICBpZiAoQWxhcm0gPT0gUlRDX0FMQVJNX0EpCiAgIHsKLSAgICAvKiBBbGFybUEgKi8KKyAgICAvKiBEaXNhYmxlIEFsYXJtIEEgKi8KICAgICBfX0hBTF9SVENfQUxBUk1BX0RJU0FCTEUoaHJ0Yyk7CiAKLSAgICAvKiBJbiBjYXNlIG9mIGludGVycnVwdCBtb2RlIGlzIHVzZWQsIHRoZSBpbnRlcnJ1cHQgc291cmNlIG11c3QgZGlzYWJsZWQgKi8KKyAgICAvKiBJbiBjYXNlIGludGVycnVwdCBtb2RlIGlzIHVzZWQsIHRoZSBpbnRlcnJ1cHQgc291cmNlIG11c3QgYmUgZGlzYWJsZWQgKi8KICAgICBfX0hBTF9SVENfQUxBUk1fRElTQUJMRV9JVChocnRjLCBSVENfSVRfQUxSQSk7CiAKICAgICAvKiBHZXQgdGljayAqLwogICAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CiAKLSAgICAvKiBXYWl0IHRpbGwgUlRDIEFMUnhXRiBmbGFnIGlzIHNldCBhbmQgaWYgVGltZSBvdXQgaXMgcmVhY2hlZCBleGl0ICovCi0gICAgd2hpbGUoX19IQUxfUlRDX0FMQVJNX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX0FMUkFXRikgPT0gUkVTRVQpCisgICAgLyogV2FpdCB0aWxsIFJUQyBBTFJ4V0YgZmxhZyBpcyBzZXQgYW5kIGlmIHRpbWVvdXQgaXMgcmVhY2hlZCBleGl0ICovCisgICAgd2hpbGUgKF9fSEFMX1JUQ19BTEFSTV9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19BTFJBV0YpID09IDBVKQogICAgIHsKLSAgICAgIGlmKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0ICkgPiBSVENfVElNRU9VVF9WQUxVRSkKKyAgICAgIGlmICgoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCkgPiBSVENfVElNRU9VVF9WQUxVRSkKICAgICAgIHsKICAgICAgICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCiAgICAgICAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOwpAQCAtMTQ5MiwxOSArMTQ0NSwxOSBAQAogICB9CiAgIGVsc2UKICAgewotICAgIC8qIEFsYXJtQiAqLworICAgIC8qIERpc2FibGUgQWxhcm0gQiAqLwogICAgIF9fSEFMX1JUQ19BTEFSTUJfRElTQUJMRShocnRjKTsKIAotICAgIC8qIEluIGNhc2Ugb2YgaW50ZXJydXB0IG1vZGUgaXMgdXNlZCwgdGhlIGludGVycnVwdCBzb3VyY2UgbXVzdCBkaXNhYmxlZCAqLwotICAgIF9fSEFMX1JUQ19BTEFSTV9ESVNBQkxFX0lUKGhydGMsUlRDX0lUX0FMUkIpOworICAgIC8qIEluIGNhc2UgaW50ZXJydXB0IG1vZGUgaXMgdXNlZCwgdGhlIGludGVycnVwdCBzb3VyY2UgbXVzdCBiZSBkaXNhYmxlZCAqLworICAgIF9fSEFMX1JUQ19BTEFSTV9ESVNBQkxFX0lUKGhydGMsIFJUQ19JVF9BTFJCKTsKIAogICAgIC8qIEdldCB0aWNrICovCiAgICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKIAotICAgIC8qIFdhaXQgdGlsbCBSVEMgQUxSeFdGIGZsYWcgaXMgc2V0IGFuZCBpZiBUaW1lIG91dCBpcyByZWFjaGVkIGV4aXQgKi8KLSAgICB3aGlsZShfX0hBTF9SVENfQUxBUk1fR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfQUxSQldGKSA9PSBSRVNFVCkKKyAgICAvKiBXYWl0IHRpbGwgUlRDIEFMUnhXRiBmbGFnIGlzIHNldCBhbmQgaWYgdGltZW91dCBpcyByZWFjaGVkIGV4aXQgKi8KKyAgICB3aGlsZSAoX19IQUxfUlRDX0FMQVJNX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX0FMUkJXRikgPT0gMFUpCiAgICAgewotICAgICAgaWYoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IFJUQ19USU1FT1VUX1ZBTFVFKQorICAgICAgaWYgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFJUQ19USU1FT1VUX1ZBTFVFKQogICAgICAgewogICAgICAgICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgICAgICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CkBAIC0xNTE4LDYgKzE0NzEsNyBAQAogICAgICAgfQogICAgIH0KICAgfQorCiAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKIApAQCAtMTUzNiw4ICsxNDkwLDggQEAKICAgKiBAcGFyYW0gIHNBbGFybSBQb2ludGVyIHRvIERhdGUgc3RydWN0dXJlCiAgICogQHBhcmFtICBBbGFybSBTcGVjaWZpZXMgdGhlIEFsYXJtLgogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6Ci0gICogICAgICAgICAgICAgQGFyZyBSVENfQUxBUk1fQTogQWxhcm1BCi0gICogICAgICAgICAgICAgQGFyZyBSVENfQUxBUk1fQjogQWxhcm1CCisgICogICAgICAgICAgICBAYXJnIFJUQ19BTEFSTV9BOiBBbGFybSBBCisgICogICAgICAgICAgICBAYXJnIFJUQ19BTEFSTV9COiBBbGFybSBCCiAgICogQHBhcmFtICBGb3JtYXQgU3BlY2lmaWVzIHRoZSBmb3JtYXQgb2YgdGhlIGVudGVyZWQgcGFyYW1ldGVycy4KICAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgogICAqICAgICAgICAgICAgIEBhcmcgUlRDX0ZPUk1BVF9CSU46IEJpbmFyeSBkYXRhIGZvcm1hdApAQCAtMTU0NiwxOSArMTUwMCwxOSBAQAogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ19HZXRBbGFybShSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgUlRDX0FsYXJtVHlwZURlZiAqc0FsYXJtLCB1aW50MzJfdCBBbGFybSwgdWludDMyX3QgRm9ybWF0KQogewotICB1aW50MzJfdCB0bXByZWcgPSAwLCBzdWJzZWNvbmR0bXByZWcgPSAwOworICB1aW50MzJfdCB0bXByZWcgPSAwVTsKKyAgdWludDMyX3Qgc3Vic2Vjb25kdG1wcmVnID0gMFU7CiAKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19GT1JNQVQoRm9ybWF0KSk7CiAgIGFzc2VydF9wYXJhbShJU19SVENfQUxBUk0oQWxhcm0pKTsKIAotICBpZihBbGFybSA9PSBSVENfQUxBUk1fQSkKKyAgaWYgKEFsYXJtID09IFJUQ19BTEFSTV9BKQogICB7Ci0gICAgLyogQWxhcm1BICovCiAgICAgc0FsYXJtLT5BbGFybSA9IFJUQ19BTEFSTV9BOwogCiAgICAgdG1wcmVnID0gKHVpbnQzMl90KShocnRjLT5JbnN0YW5jZS0+QUxSTUFSKTsKLSAgICBzdWJzZWNvbmR0bXByZWcgPSAodWludDMyX3QpKChocnRjLT5JbnN0YW5jZS0+QUxSTUFTU1IgKSAmIFJUQ19BTFJNQVNTUl9TUyk7CisgICAgc3Vic2Vjb25kdG1wcmVnID0gKHVpbnQzMl90KSgoaHJ0Yy0+SW5zdGFuY2UtPkFMUk1BU1NSKSAmIFJUQ19BTFJNQVNTUl9TUyk7CiAgIH0KICAgZWxzZQogICB7CkBAIC0xNTY5LDczICsxNTIzLDczIEBACiAgIH0KIAogICAvKiBGaWxsIHRoZSBzdHJ1Y3R1cmUgd2l0aCB0aGUgcmVhZCBwYXJhbWV0ZXJzICovCi0gIHNBbGFybS0+QWxhcm1UaW1lLkhvdXJzID0gKHVpbnQzMl90KSgodG1wcmVnICYgKFJUQ19BTFJNQVJfSFQgfCBSVENfQUxSTUFSX0hVKSkgPj4gMTYpOwotICBzQWxhcm0tPkFsYXJtVGltZS5NaW51dGVzID0gKHVpbnQzMl90KSgodG1wcmVnICYgKFJUQ19BTFJNQVJfTU5UIHwgUlRDX0FMUk1BUl9NTlUpKSA+PiA4KTsKLSAgc0FsYXJtLT5BbGFybVRpbWUuU2Vjb25kcyA9ICh1aW50MzJfdCkodG1wcmVnICYgKFJUQ19BTFJNQVJfU1QgfCBSVENfQUxSTUFSX1NVKSk7Ci0gIHNBbGFybS0+QWxhcm1UaW1lLlRpbWVGb3JtYXQgPSAodWludDMyX3QpKCh0bXByZWcgJiBSVENfQUxSTUFSX1BNKSA+PiAxNik7CisgIHNBbGFybS0+QWxhcm1UaW1lLkhvdXJzICAgICAgPSAodWludDhfdCkgKCh0bXByZWcgJiAoUlRDX0FMUk1BUl9IVCAgfCBSVENfQUxSTUFSX0hVKSkgID4+IFJUQ19BTFJNQVJfSFVfUG9zKTsKKyAgc0FsYXJtLT5BbGFybVRpbWUuTWludXRlcyAgICA9ICh1aW50OF90KSAoKHRtcHJlZyAmIChSVENfQUxSTUFSX01OVCB8IFJUQ19BTFJNQVJfTU5VKSkgPj4gUlRDX0FMUk1BUl9NTlVfUG9zKTsKKyAgc0FsYXJtLT5BbGFybVRpbWUuU2Vjb25kcyAgICA9ICh1aW50OF90KSAoIHRtcHJlZyAmIChSVENfQUxSTUFSX1NUICB8IFJUQ19BTFJNQVJfU1UpKTsKKyAgc0FsYXJtLT5BbGFybVRpbWUuVGltZUZvcm1hdCA9ICh1aW50OF90KSAoKHRtcHJlZyAmIFJUQ19BTFJNQVJfUE0pICAgICAgICAgICAgICAgICAgICAgPj4gUlRDX1RSX1BNX1Bvcyk7CiAgIHNBbGFybS0+QWxhcm1UaW1lLlN1YlNlY29uZHMgPSAodWludDMyX3QpIHN1YnNlY29uZHRtcHJlZzsKLSAgc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5ID0gKHVpbnQzMl90KSgodG1wcmVnICYgKFJUQ19BTFJNQVJfRFQgfCBSVENfQUxSTUFSX0RVKSkgPj4gMjQpOwotICBzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXlTZWwgPSAodWludDMyX3QpKHRtcHJlZyAmIFJUQ19BTFJNQVJfV0RTRUwpOwotICBzQWxhcm0tPkFsYXJtTWFzayA9ICh1aW50MzJfdCkodG1wcmVnICYgUlRDX0FMQVJNTUFTS19BTEwpOworICBzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXkgICAgID0gKHVpbnQ4X3QpICgodG1wcmVnICYgKFJUQ19BTFJNQVJfRFQgIHwgUlRDX0FMUk1BUl9EVSkpICA+PiBSVENfQUxSTUFSX0RVX1Bvcyk7CisgIHNBbGFybS0+QWxhcm1EYXRlV2Vla0RheVNlbCAgPSAodWludDMyX3QpICh0bXByZWcgJiBSVENfQUxSTUFSX1dEU0VMKTsKKyAgc0FsYXJtLT5BbGFybU1hc2sgICAgICAgICAgICA9ICh1aW50MzJfdCkgKHRtcHJlZyAmIFJUQ19BTEFSTU1BU0tfQUxMKTsKIAotICBpZihGb3JtYXQgPT0gUlRDX0ZPUk1BVF9CSU4pCisgIGlmIChGb3JtYXQgPT0gUlRDX0ZPUk1BVF9CSU4pCiAgIHsKLSAgICBzQWxhcm0tPkFsYXJtVGltZS5Ib3VycyA9IFJUQ19CY2QyVG9CeXRlKHNBbGFybS0+QWxhcm1UaW1lLkhvdXJzKTsKKyAgICBzQWxhcm0tPkFsYXJtVGltZS5Ib3VycyAgID0gUlRDX0JjZDJUb0J5dGUoc0FsYXJtLT5BbGFybVRpbWUuSG91cnMpOwogICAgIHNBbGFybS0+QWxhcm1UaW1lLk1pbnV0ZXMgPSBSVENfQmNkMlRvQnl0ZShzQWxhcm0tPkFsYXJtVGltZS5NaW51dGVzKTsKICAgICBzQWxhcm0tPkFsYXJtVGltZS5TZWNvbmRzID0gUlRDX0JjZDJUb0J5dGUoc0FsYXJtLT5BbGFybVRpbWUuU2Vjb25kcyk7Ci0gICAgc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5ID0gUlRDX0JjZDJUb0J5dGUoc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5KTsKKyAgICBzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXkgID0gUlRDX0JjZDJUb0J5dGUoc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5KTsKICAgfQogCiAgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgotICAqIEBicmllZiAgVGhpcyBmdW5jdGlvbiBoYW5kbGVzIEFsYXJtIGludGVycnVwdCByZXF1ZXN0LgorICAqIEBicmllZiAgSGFuZGxlcyBBbGFybSBpbnRlcnJ1cHQgcmVxdWVzdC4KICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KLXZvaWQgSEFMX1JUQ19BbGFybUlSUUhhbmRsZXIoUlRDX0hhbmRsZVR5cGVEZWYqIGhydGMpCit2b2lkIEhBTF9SVENfQWxhcm1JUlFIYW5kbGVyKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKQogewotICAvKiBHZXQgdGhlIEFsYXJtQSBpbnRlcnJ1cHQgc291cmNlIGVuYWJsZSBzdGF0dXMgKi8KLSAgaWYoX19IQUxfUlRDX0FMQVJNX0dFVF9JVF9TT1VSQ0UoaHJ0YywgUlRDX0lUX0FMUkEpICE9ICh1aW50MzJfdClSRVNFVCkKLSAgewotICAgIC8qIEdldCB0aGUgcGVuZGluZyBzdGF0dXMgb2YgdGhlIEFsYXJtQSBJbnRlcnJ1cHQgKi8KLSAgICBpZihfX0hBTF9SVENfQUxBUk1fR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfQUxSQUYpICE9ICh1aW50MzJfdClSRVNFVCkKLSAgICB7Ci0gICAgICAvKiBBbGFybUEgY2FsbGJhY2sgKi8KLSAgICAjaWYgKFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQotICAgICAgaHJ0Yy0+QWxhcm1BRXZlbnRDYWxsYmFjayhocnRjKTsKLSAgICAjZWxzZQotICAgICAgSEFMX1JUQ19BbGFybUFFdmVudENhbGxiYWNrKGhydGMpOwotICAgICNlbmRpZiAvKiBVU0VfSEFMX1JUQ19SRUdJU1RFUl9DQUxMQkFDS1MgKi8KLQotICAgICAgLyogQ2xlYXIgdGhlIEFsYXJtQSBpbnRlcnJ1cHQgcGVuZGluZyBiaXQgKi8KLSAgICAgIF9fSEFMX1JUQ19BTEFSTV9DTEVBUl9GTEFHKGhydGMsUlRDX0ZMQUdfQUxSQUYpOwotICAgIH0KLSAgfQotCi0gIC8qIEdldCB0aGUgQWxhcm1CIGludGVycnVwdCBzb3VyY2UgZW5hYmxlIHN0YXR1cyAqLwotICBpZihfX0hBTF9SVENfQUxBUk1fR0VUX0lUX1NPVVJDRShocnRjLCBSVENfSVRfQUxSQikgIT0gKHVpbnQzMl90KVJFU0VUKQotICB7Ci0gICAgLyogR2V0IHRoZSBwZW5kaW5nIHN0YXR1cyBvZiB0aGUgQWxhcm1CIEludGVycnVwdCAqLwotICAgIGlmKF9fSEFMX1JUQ19BTEFSTV9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19BTFJCRikgIT0gKHVpbnQzMl90KVJFU0VUKQotICAgIHsKLSAgICAgIC8qIEFsYXJtQiBjYWxsYmFjayAqLwotICAgICNpZiAoVVNFX0hBTF9SVENfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCi0gICAgICBocnRjLT5BbGFybUJFdmVudENhbGxiYWNrKGhydGMpOwotICAgICNlbHNlCi0gICAgICBIQUxfUlRDRXhfQWxhcm1CRXZlbnRDYWxsYmFjayhocnRjKTsKLSAgICAjZW5kaWYgLyogVVNFX0hBTF9SVENfUkVHSVNURVJfQ0FMTEJBQ0tTICovCi0KLSAgICAgIC8qIENsZWFyIHRoZSBBbGFybUIgaW50ZXJydXB0IHBlbmRpbmcgYml0ICovCi0gICAgICBfX0hBTF9SVENfQUxBUk1fQ0xFQVJfRkxBRyhocnRjLFJUQ19GTEFHX0FMUkJGKTsKLSAgICB9Ci0gIH0KLQogICAvKiBDbGVhciB0aGUgRVhUSSdzIGxpbmUgRmxhZyBmb3IgUlRDIEFsYXJtICovCiAgIF9fSEFMX1JUQ19BTEFSTV9FWFRJX0NMRUFSX0ZMQUcoKTsKIAorICAvKiBHZXQgdGhlIEFsYXJtIEEgaW50ZXJydXB0IHNvdXJjZSBlbmFibGUgc3RhdHVzICovCisgIGlmIChfX0hBTF9SVENfQUxBUk1fR0VUX0lUX1NPVVJDRShocnRjLCBSVENfSVRfQUxSQSkgIT0gMFUpCisgIHsKKyAgICAvKiBHZXQgdGhlIHBlbmRpbmcgc3RhdHVzIG9mIHRoZSBBbGFybSBBIEludGVycnVwdCAqLworICAgIGlmIChfX0hBTF9SVENfQUxBUk1fR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfQUxSQUYpICE9IDBVKQorICAgIHsKKyAgICAgIC8qIENsZWFyIHRoZSBBbGFybSBBIGludGVycnVwdCBwZW5kaW5nIGJpdCAqLworICAgICAgX19IQUxfUlRDX0FMQVJNX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfQUxSQUYpOworCisgICAgICAvKiBBbGFybSBBIGNhbGxiYWNrICovCisjaWYgKFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQorICAgICAgaHJ0Yy0+QWxhcm1BRXZlbnRDYWxsYmFjayhocnRjKTsKKyNlbHNlCisgICAgICBIQUxfUlRDX0FsYXJtQUV2ZW50Q2FsbGJhY2soaHJ0Yyk7CisjZW5kaWYgLyogVVNFX0hBTF9SVENfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisgICAgfQorICB9CisKKyAgLyogR2V0IHRoZSBBbGFybSBCIGludGVycnVwdCBzb3VyY2UgZW5hYmxlIHN0YXR1cyAqLworICBpZiAoX19IQUxfUlRDX0FMQVJNX0dFVF9JVF9TT1VSQ0UoaHJ0YywgUlRDX0lUX0FMUkIpICE9IDBVKQorICB7CisgICAgLyogR2V0IHRoZSBwZW5kaW5nIHN0YXR1cyBvZiB0aGUgQWxhcm0gQiBJbnRlcnJ1cHQgKi8KKyAgICBpZiAoX19IQUxfUlRDX0FMQVJNX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX0FMUkJGKSAhPSAwVSkKKyAgICB7CisgICAgICAvKiBDbGVhciB0aGUgQWxhcm0gQiBpbnRlcnJ1cHQgcGVuZGluZyBiaXQgKi8KKyAgICAgIF9fSEFMX1JUQ19BTEFSTV9DTEVBUl9GTEFHKGhydGMsIFJUQ19GTEFHX0FMUkJGKTsKKworICAgICAgLyogQWxhcm0gQiBjYWxsYmFjayAqLworI2lmIChVU0VfSEFMX1JUQ19SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKKyAgICAgIGhydGMtPkFsYXJtQkV2ZW50Q2FsbGJhY2soaHJ0Yyk7CisjZWxzZQorICAgICAgSEFMX1JUQ0V4X0FsYXJtQkV2ZW50Q2FsbGJhY2soaHJ0Yyk7CisjZW5kaWYgLyogVVNFX0hBTF9SVENfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisgICAgfQorICB9CisKICAgLyogQ2hhbmdlIFJUQyBzdGF0ZSAqLwogICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfUkVBRFk7CiB9CkBAIC0xNjUxLDEzICsxNjA1LDEzIEBACiAgIC8qIFByZXZlbnQgdW51c2VkIGFyZ3VtZW50KHMpIGNvbXBpbGF0aW9uIHdhcm5pbmcgKi8KICAgVU5VU0VEKGhydGMpOwogCi0gIC8qIE5PVEUgOiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBub3QgYmUgbW9kaWZpZWQsIHdoZW4gdGhlIGNhbGxiYWNrIGlzIG5lZWRlZCwKLSAgICAgICAgICAgIHRoZSBIQUxfUlRDX0FsYXJtQUV2ZW50Q2FsbGJhY2sgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQorICAvKiBOT1RFOiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBub3QgYmUgbW9kaWZpZWQsIHdoZW4gdGhlIGNhbGxiYWNrIGlzIG5lZWRlZCwKKyAgICAgICAgICAgdGhlIEhBTF9SVENfQWxhcm1BRXZlbnRDYWxsYmFjayBjb3VsZCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgdXNlciBmaWxlCiAgICAqLwogfQogCiAvKioKLSAgKiBAYnJpZWYgIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBBbGFybUEgUG9sbGluZyByZXF1ZXN0LgorICAqIEBicmllZiAgSGFuZGxlcyBBbGFybSBBIFBvbGxpbmcgcmVxdWVzdC4KICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcGFyYW0gIFRpbWVvdXQgVGltZW91dCBkdXJhdGlvbgpAQCAtMTY2NSwxNiArMTYxOSwxNyBAQAogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ19Qb2xsRm9yQWxhcm1BRXZlbnQoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIHVpbnQzMl90IFRpbWVvdXQpCiB7Ci0gIHVpbnQzMl90IHRpY2tzdGFydCA9IDA7CisgIHVpbnQzMl90IHRpY2tzdGFydCA9IDBVOwogCi0gICAgLyogR2V0IHRpY2sgKi8KLSAgICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOworICAvKiBHZXQgdGljayAqLworICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCi0gIHdoaWxlKF9fSEFMX1JUQ19BTEFSTV9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19BTFJBRikgPT0gUkVTRVQpCisgIC8qIFdhaXQgdGlsbCBSVEMgQUxSQUYgZmxhZyBpcyBzZXQgYW5kIGlmIHRpbWVvdXQgaXMgcmVhY2hlZCBleGl0ICovCisgIHdoaWxlIChfX0hBTF9SVENfQUxBUk1fR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfQUxSQUYpID09IDBVKQogICB7Ci0gICAgaWYoVGltZW91dCAhPSBIQUxfTUFYX0RFTEFZKQorICAgIGlmIChUaW1lb3V0ICE9IEhBTF9NQVhfREVMQVkpCiAgICAgewotICAgICAgaWYoKFRpbWVvdXQgPT0gMCl8fCgoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCApID4gVGltZW91dCkpCisgICAgICBpZiAoKFRpbWVvdXQgPT0gMFUpIHx8ICgoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCkgPiBUaW1lb3V0KSkKICAgICAgIHsKICAgICAgICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1RJTUVPVVQ7CiAgICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKQEAgLTE2ODIsNyArMTYzNyw3IEBACiAgICAgfQogICB9CiAKLSAgLyogQ2xlYXIgdGhlIEFsYXJtIGludGVycnVwdCBwZW5kaW5nIGJpdCAqLworICAvKiBDbGVhciB0aGUgQWxhcm0gZmxhZyAqLwogICBfX0hBTF9SVENfQUxBUk1fQ0xFQVJfRkxBRyhocnRjLCBSVENfRkxBR19BTFJBRik7CiAKICAgLyogQ2hhbmdlIFJUQyBzdGF0ZSAqLwpAQCAtMTY5NSw5ICsxNjUwLDkgQEAKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIFJUQ19Hcm91cDQgUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucwotICogIEBicmllZiAgIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMKLSAqCisvKiogQGRlZmdyb3VwIFJUQ19FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXA0IFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMKKyAgKiBAYnJpZWYgICAgUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucworICAqCiBAdmVyYmF0aW0KICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zICMjIyMjCkBAIC0xNzA1LDYgKzE2NjAsNyBAQAogICAgIFsuLl0KICAgICBUaGlzIHN1YnNlY3Rpb24gcHJvdmlkZXMgZnVuY3Rpb25zIGFsbG93aW5nIHRvCiAgICAgICAoKykgV2FpdCBmb3IgUlRDIFRpbWUgYW5kIERhdGUgU3luY2hyb25pemF0aW9uCisgICAgICAoKykgTWFuYWdlIFJUQyBTdW1tZXIgb3IgV2ludGVyIHRpbWUgY2hhbmdlCiAKIEBlbmR2ZXJiYXRpbQogICAqIEB7CkBAIC0xNzE2LDcgKzE2NzIsNyBAQAogICAqIEBub3RlICAgVGhlIFJUQyBSZXN5bmNocm9uaXphdGlvbiBtb2RlIGlzIHdyaXRlIHByb3RlY3RlZCwgdXNlIHRoZQogICAqICAgICAgICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9ESVNBQkxFKCkgYmVmb3JlIGNhbGxpbmcgdGhpcyBmdW5jdGlvbi4KICAgKiBAbm90ZSAgIFRvIHJlYWQgdGhlIGNhbGVuZGFyIHRocm91Z2ggdGhlIHNoYWRvdyByZWdpc3RlcnMgYWZ0ZXIgQ2FsZW5kYXIKLSAgKiAgICAgICAgIGluaXRpYWxpemF0aW9uLCBjYWxlbmRhciB1cGRhdGUgb3IgYWZ0ZXIgd2FrZS11cCBmcm9tIGxvdyBwb3dlciBtb2RlcworICAqICAgICAgICAgaW5pdGlhbGl6YXRpb24sIGNhbGVuZGFyIHVwZGF0ZSBvciBhZnRlciB3YWtldXAgZnJvbSBsb3cgcG93ZXIgbW9kZXMKICAgKiAgICAgICAgIHRoZSBzb2Z0d2FyZSBtdXN0IGZpcnN0IGNsZWFyIHRoZSBSU0YgZmxhZy4KICAgKiAgICAgICAgIFRoZSBzb2Z0d2FyZSBtdXN0IHRoZW4gd2FpdCB1bnRpbCBpdCBpcyBzZXQgYWdhaW4gYmVmb3JlIHJlYWRpbmcKICAgKiAgICAgICAgIHRoZSBjYWxlbmRhciwgd2hpY2ggbWVhbnMgdGhhdCB0aGUgY2FsZW5kYXIgcmVnaXN0ZXJzIGhhdmUgYmVlbgpAQCAtMTcyNSwyMCArMTY4MSwyMCBAQAogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDX1dhaXRGb3JTeW5jaHJvKFJUQ19IYW5kbGVUeXBlRGVmKiBocnRjKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ19XYWl0Rm9yU3luY2hybyhSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKIHsKLSAgdWludDMyX3QgdGlja3N0YXJ0ID0gMDsKKyAgdWludDMyX3QgdGlja3N0YXJ0ID0gMFU7CiAKICAgLyogQ2xlYXIgUlNGIGZsYWcgKi8KICAgaHJ0Yy0+SW5zdGFuY2UtPklTUiAmPSAodWludDMyX3QpUlRDX1JTRl9NQVNLOwogCi0gICAgLyogR2V0IHRpY2sgKi8KLSAgICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOworICAvKiBHZXQgdGljayAqLworICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCiAgIC8qIFdhaXQgdGhlIHJlZ2lzdGVycyB0byBiZSBzeW5jaHJvbmlzZWQgKi8KLSAgd2hpbGUoKGhydGMtPkluc3RhbmNlLT5JU1IgJiBSVENfSVNSX1JTRikgPT0gKHVpbnQzMl90KVJFU0VUKQorICB3aGlsZSAoKGhydGMtPkluc3RhbmNlLT5JU1IgJiBSVENfSVNSX1JTRikgPT0gMFUpCiAgIHsKLSAgICBpZigoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCApID4gUlRDX1RJTUVPVVRfVkFMVUUpCisgICAgaWYgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFJUQ19USU1FT1VUX1ZBTFVFKQogICAgIHsKICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgICB9CkBAIC0xNzQ4LDEyICsxNzA0LDc3IEBACiB9CiAKIC8qKgorICAqIEBicmllZiAgRGF5bGlnaHQgU2F2aW5nIFRpbWUsIGFkZHMgb25lIGhvdXIgdG8gdGhlIGNhbGVuZGFyIGluIG9uZQorICAqICAgICAgICAgc2luZ2xlIG9wZXJhdGlvbiB3aXRob3V0IGdvaW5nIHRocm91Z2ggdGhlIGluaXRpYWxpemF0aW9uIHByb2NlZHVyZS4KKyAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK3ZvaWQgSEFMX1JUQ19EU1RfQWRkMUhvdXIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpCit7CisgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRElTQUJMRShocnRjKTsKKyAgU0VUX0JJVChocnRjLT5JbnN0YW5jZS0+Q1IsIFJUQ19DUl9BREQxSCk7CisgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOworfQorCisvKioKKyAgKiBAYnJpZWYgIERheWxpZ2h0IFNhdmluZyBUaW1lLCBzdWJ0cmFjdHMgb25lIGhvdXIgZnJvbSB0aGUgY2FsZW5kYXIgaW4gb25lCisgICogICAgICAgICBzaW5nbGUgb3BlcmF0aW9uIHdpdGhvdXQgZ29pbmcgdGhyb3VnaCB0aGUgaW5pdGlhbGl6YXRpb24gcHJvY2VkdXJlLgorICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgorICAqIEByZXR2YWwgTm9uZQorICAqLwordm9pZCBIQUxfUlRDX0RTVF9TdWIxSG91cihSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKK3sKKyAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9ESVNBQkxFKGhydGMpOworICBTRVRfQklUKGhydGMtPkluc3RhbmNlLT5DUiwgUlRDX0NSX1NVQjFIKTsKKyAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7Cit9CisKKy8qKgorICAqIEBicmllZiAgRGF5bGlnaHQgU2F2aW5nIFRpbWUsIHNldHMgdGhlIHN0b3JlIG9wZXJhdGlvbiBiaXQuCisgICogQG5vdGUgICBJdCBjYW4gYmUgdXNlZCBieSB0aGUgc29mdHdhcmUgaW4gb3JkZXIgdG8gbWVtb3JpemUgdGhlIERTVCBzdGF0dXMuCisgICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCisgICogQHJldHZhbCBOb25lCisgICovCit2b2lkIEhBTF9SVENfRFNUX1NldFN0b3JlT3BlcmF0aW9uKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKQoreworICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoaHJ0Yyk7CisgIFNFVF9CSVQoaHJ0Yy0+SW5zdGFuY2UtPkNSLCBSVENfQ1JfQktQKTsKKyAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7Cit9CisKKy8qKgorICAqIEBicmllZiAgRGF5bGlnaHQgU2F2aW5nIFRpbWUsIGNsZWFycyB0aGUgc3RvcmUgb3BlcmF0aW9uIGJpdC4KKyAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK3ZvaWQgSEFMX1JUQ19EU1RfQ2xlYXJTdG9yZU9wZXJhdGlvbihSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKK3sKKyAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9ESVNBQkxFKGhydGMpOworICBDTEVBUl9CSVQoaHJ0Yy0+SW5zdGFuY2UtPkNSLCBSVENfQ1JfQktQKTsKKyAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7Cit9CisKKy8qKgorICAqIEBicmllZiAgRGF5bGlnaHQgU2F2aW5nIFRpbWUsIHJlYWRzIHRoZSBzdG9yZSBvcGVyYXRpb24gYml0LgorICAqIEBwYXJhbSAgaHJ0YyBSVEMgaGFuZGxlCisgICogQHJldHZhbCBvcGVyYXRpb24gc2VlIFJUQ19TdG9yZU9wZXJhdGlvbl9EZWZpbml0aW9ucworICAqLwordWludDMyX3QgSEFMX1JUQ19EU1RfUmVhZFN0b3JlT3BlcmF0aW9uKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKQoreworICByZXR1cm4gUkVBRF9CSVQoaHJ0Yy0+SW5zdGFuY2UtPkNSLCBSVENfQ1JfQktQKTsKK30KKworLyoqCiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBSVENfR3JvdXA1IFBlcmlwaGVyYWwgU3RhdGUgZnVuY3Rpb25zCi0gKiAgQGJyaWVmICAgUGVyaXBoZXJhbCBTdGF0ZSBmdW5jdGlvbnMKLSAqCisvKiogQGRlZmdyb3VwIFJUQ19FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXA1IFBlcmlwaGVyYWwgU3RhdGUgZnVuY3Rpb25zCisgICogQGJyaWVmICAgIFBlcmlwaGVyYWwgU3RhdGUgZnVuY3Rpb25zCisgICoKIEB2ZXJiYXRpbQogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICMjIyMjIFBlcmlwaGVyYWwgU3RhdGUgZnVuY3Rpb25zICMjIyMjCkBAIC0xNzcxLDc2ICsxNzkyLDI0IEBACiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcmV0dmFsIEhBTCBzdGF0ZQogICAqLwotSEFMX1JUQ1N0YXRlVHlwZURlZiBIQUxfUlRDX0dldFN0YXRlKFJUQ19IYW5kbGVUeXBlRGVmKiBocnRjKQorSEFMX1JUQ1N0YXRlVHlwZURlZiBIQUxfUlRDX0dldFN0YXRlKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKQogewogICByZXR1cm4gaHJ0Yy0+U3RhdGU7CiB9CiAKIC8qKgotICAqIEBicmllZiAgRGF5bGlnaHQgU2F2aW5nIFRpbWUsIEFkZCBvbmUgaG91ciB0byB0aGUgY2FsZW5kYXIgaW4gb25lIHNpbmdsZSBvcGVyYXRpb24KLSAgKiAgICAgICAgIHdpdGhvdXQgZ29pbmcgdGhyb3VnaCB0aGUgaW5pdGlhbGl6YXRpb24gcHJvY2VkdXJlLgotICAqIEBwYXJhbSAgaHJ0YyBSVEMgaGFuZGxlCi0gICogQHJldHZhbCBOb25lCisgICogQH0KICAgKi8KLXZvaWQgSEFMX1JUQ19EU1RfQWRkMUhvdXIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpCi17Ci0gIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRElTQUJMRShocnRjKTsKLSAgU0VUX0JJVChocnRjLT5JbnN0YW5jZS0+Q1IsIFJUQ19DUl9BREQxSCk7Ci0gIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOwotfQogCi0vKioKLSAgKiBAYnJpZWYgIERheWxpZ2h0IFNhdmluZyBUaW1lLCBTdWJ0cmFjdCBvbmUgaG91ciBmcm9tIHRoZSBjYWxlbmRhciBpbiBvbmUKLSAgKiAgICAgICAgIHNpbmdsZSBvcGVyYXRpb24gd2l0aG91dCBnb2luZyB0aHJvdWdoIHRoZSBpbml0aWFsaXphdGlvbiBwcm9jZWR1cmUuCi0gICogQHBhcmFtICBocnRjIFJUQyBoYW5kbGUKLSAgKiBAcmV0dmFsIE5vbmUKLSAgKi8KLXZvaWQgSEFMX1JUQ19EU1RfU3ViMUhvdXIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpCi17Ci0gIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRElTQUJMRShocnRjKTsKLSAgU0VUX0JJVChocnRjLT5JbnN0YW5jZS0+Q1IsIFJUQ19DUl9TVUIxSCk7Ci0gIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOwotfQotCi0vKioKLSAgKiBAYnJpZWYgIERheWxpZ2h0IFNhdmluZyBUaW1lLCBTZXQgdGhlIHN0b3JlIG9wZXJhdGlvbiBiaXQuCi0gICogQG5vdGUgICBJdCBjYW4gYmUgdXNlZCBieSB0aGUgc29mdHdhcmUgaW4gb3JkZXIgdG8gbWVtb3JpemUgdGhlIERTVCBzdGF0dXMuCi0gICogQHBhcmFtICBocnRjIFJUQyBoYW5kbGUKLSAgKiBAcmV0dmFsIE5vbmUKLSAgKi8KLXZvaWQgSEFMX1JUQ19EU1RfU2V0U3RvcmVPcGVyYXRpb24oUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpCi17Ci0gIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRElTQUJMRShocnRjKTsKLSAgU0VUX0JJVChocnRjLT5JbnN0YW5jZS0+Q1IsIFJUQ19DUl9CS1ApOwotICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKLX0KLQotLyoqCi0gICogQGJyaWVmICBEYXlsaWdodCBTYXZpbmcgVGltZSwgQ2xlYXIgdGhlIHN0b3JlIG9wZXJhdGlvbiBiaXQuCi0gICogQHBhcmFtICBocnRjIFJUQyBoYW5kbGUKLSAgKiBAcmV0dmFsIE5vbmUKLSAgKi8KLXZvaWQgSEFMX1JUQ19EU1RfQ2xlYXJTdG9yZU9wZXJhdGlvbihSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKLXsKLSAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9ESVNBQkxFKGhydGMpOwotICBDTEVBUl9CSVQoaHJ0Yy0+SW5zdGFuY2UtPkNSLCBSVENfQ1JfQktQKTsKLSAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7Ci19Ci0KLS8qKgotICAqIEBicmllZiAgRGF5bGlnaHQgU2F2aW5nIFRpbWUsIFJlYWQgdGhlIHN0b3JlIG9wZXJhdGlvbiBiaXQuCi0gICogQHBhcmFtICBocnRjIFJUQyBoYW5kbGUKLSAgKiBAcmV0dmFsIG9wZXJhdGlvbiBzZWUgUlRDX1N0b3JlT3BlcmF0aW9uX0RlZmluaXRpb25zCi0gICovCi11aW50MzJfdCBIQUxfUlRDX0RTVF9SZWFkU3RvcmVPcGVyYXRpb24oUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpCi17Ci0gIHJldHVybiBSRUFEX0JJVChocnRjLT5JbnN0YW5jZS0+Q1IsIFJUQ19DUl9CS1ApOwotfQogCiAvKioKICAgKiBAfQogICAqLwogCisvKiogQGFkZHRvZ3JvdXAgUlRDX1ByaXZhdGVfRnVuY3Rpb25zCisgICogQHsKKyAgKi8KKwogLyoqCiAgICogQGJyaWVmICBFbnRlcnMgdGhlIFJUQyBJbml0aWFsaXphdGlvbiBtb2RlLgogICAqIEBub3RlICAgVGhlIFJUQyBJbml0aWFsaXphdGlvbiBtb2RlIGlzIHdyaXRlIHByb3RlY3RlZCwgdXNlIHRoZQpAQCAtMTg0OSw2MSArMTgxOCw5MCBAQAogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBSVENfRW50ZXJJbml0TW9kZShSVENfSGFuZGxlVHlwZURlZiogaHJ0YykKK0hBTF9TdGF0dXNUeXBlRGVmIFJUQ19FbnRlckluaXRNb2RlKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKQogewotICB1aW50MzJfdCB0aWNrc3RhcnQgPSAwOworICB1aW50MzJfdCB0aWNrc3RhcnQgPSAwVTsKKyAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzID0gSEFMX09LOwogCi0gIC8qIENoZWNrIGlmIHRoZSBJbml0aWFsaXphdGlvbiBtb2RlIGlzIHNldCAqLwotICBpZigoaHJ0Yy0+SW5zdGFuY2UtPklTUiAmIFJUQ19JU1JfSU5JVEYpID09ICh1aW50MzJfdClSRVNFVCkKKyAgLyogQ2hlY2sgdGhhdCBJbml0aWFsaXphdGlvbiBtb2RlIGlzIG5vdCBhbHJlYWR5IHNldCAqLworICBpZiAoUkVBRF9CSVQoaHJ0Yy0+SW5zdGFuY2UtPklTUiwgUlRDX0lTUl9JTklURikgPT0gMFUpCiAgIHsKLSAgICAvKiBTZXQgdGhlIEluaXRpYWxpemF0aW9uIG1vZGUgKi8KLSAgICBocnRjLT5JbnN0YW5jZS0+SVNSID0gKHVpbnQzMl90KVJUQ19JTklUX01BU0s7CisgICAgLyogU2V0IElOSVQgYml0IHRvIGVudGVyIEluaXRpYWxpemF0aW9uIG1vZGUgKi8KKyAgICBTRVRfQklUKGhydGMtPkluc3RhbmNlLT5JU1IsIFJUQ19JU1JfSU5JVCk7CiAKICAgICAvKiBHZXQgdGljayAqLwogICAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CiAKLSAgICAvKiBXYWl0IHRpbGwgUlRDIGlzIGluIElOSVQgc3RhdGUgYW5kIGlmIFRpbWUgb3V0IGlzIHJlYWNoZWQgZXhpdCAqLwotICAgIHdoaWxlKChocnRjLT5JbnN0YW5jZS0+SVNSICYgUlRDX0lTUl9JTklURikgPT0gKHVpbnQzMl90KVJFU0VUKQorICAgIC8qIFdhaXQgdGlsbCBSVEMgaXMgaW4gSU5JVCBzdGF0ZSBhbmQgaWYgdGltZW91dCBpcyByZWFjaGVkIGV4aXQgKi8KKyAgICB3aGlsZSAoKFJFQURfQklUKGhydGMtPkluc3RhbmNlLT5JU1IsIFJUQ19JU1JfSU5JVEYpID09IDBVKSAmJiAoc3RhdHVzICE9IEhBTF9FUlJPUikpCiAgICAgewotICAgICAgaWYoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IFJUQ19USU1FT1VUX1ZBTFVFKQorICAgICAgaWYgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFJUQ19USU1FT1VUX1ZBTFVFKQogICAgICAgewotICAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7CisgICAgICAgIC8qIFNldCBSVEMgc3RhdGUgKi8KKyAgICAgICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX0VSUk9SOworICAgICAgICBzdGF0dXMgPSBIQUxfRVJST1I7CiAgICAgICB9CiAgICAgfQogICB9CiAKLSAgcmV0dXJuIEhBTF9PSzsKKyAgcmV0dXJuIHN0YXR1czsKIH0KIAotCiAvKioKLSAgKiBAYnJpZWYgIENvbnZlcnRzIGEgMiBkaWdpdCBkZWNpbWFsIHRvIEJDRCBmb3JtYXQuCi0gICogQHBhcmFtICBWYWx1ZSBCeXRlIHRvIGJlIGNvbnZlcnRlZAotICAqIEByZXR2YWwgQ29udmVydGVkIGJ5dGUKKyAgKiBAYnJpZWYgIEV4aXRzIHRoZSBSVEMgSW5pdGlhbGl6YXRpb24gbW9kZS4KKyAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLXVpbnQ4X3QgUlRDX0J5dGVUb0JjZDIodWludDhfdCBWYWx1ZSkKK0hBTF9TdGF0dXNUeXBlRGVmIFJUQ19FeGl0SW5pdE1vZGUoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpCiB7Ci0gIHVpbnQzMl90IGJjZGhpZ2ggPSAwOworICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfT0s7CiAKLSAgd2hpbGUoVmFsdWUgPj0gMTApCisgIC8qIENsZWFyIElOSVQgYml0IHRvIGV4aXQgSW5pdGlhbGl6YXRpb24gbW9kZSAqLworICBDTEVBUl9CSVQoaHJ0Yy0+SW5zdGFuY2UtPklTUiwgUlRDX0lTUl9JTklUKTsKKworICAvKiBJZiBDUl9CWVBTSEFEIGJpdCA9IDAsIHdhaXQgZm9yIHN5bmNocm8gKi8KKyAgaWYgKFJFQURfQklUKGhydGMtPkluc3RhbmNlLT5DUiwgUlRDX0NSX0JZUFNIQUQpID09IDBVKQogICB7Ci0gICAgYmNkaGlnaCsrOwotICAgIFZhbHVlIC09IDEwOworICAgIGlmIChIQUxfUlRDX1dhaXRGb3JTeW5jaHJvKGhydGMpICE9IEhBTF9PSykKKyAgICB7CisgICAgICAvKiBTZXQgUlRDIHN0YXRlICovCisgICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfRVJST1I7CisgICAgICBzdGF0dXMgPSBIQUxfRVJST1I7CisgICAgfQogICB9CiAKLSAgcmV0dXJuICAoKHVpbnQ4X3QpKGJjZGhpZ2ggPDwgNCkgfCBWYWx1ZSk7CisgIHJldHVybiBzdGF0dXM7CiB9CiAKIC8qKgotICAqIEBicmllZiAgQ29udmVydHMgZnJvbSAyIGRpZ2l0IEJDRCB0byBCaW5hcnkuCi0gICogQHBhcmFtICBWYWx1ZSBCQ0QgdmFsdWUgdG8gYmUgY29udmVydGVkCisgICogQGJyaWVmICBDb252ZXJ0cyBhIDItZGlnaXQgbnVtYmVyIGZyb20gZGVjaW1hbCB0byBCQ0QgZm9ybWF0LgorICAqIEBwYXJhbSAgbnVtYmVyIGRlY2ltYWwtZm9ybWF0dGVkIG51bWJlciAoZnJvbSAwIHRvIDk5KSB0byBiZSBjb252ZXJ0ZWQKKyAgKiBAcmV0dmFsIENvbnZlcnRlZCBieXRlCisgICovCit1aW50OF90IFJUQ19CeXRlVG9CY2QyKHVpbnQ4X3QgbnVtYmVyKQoreworICB1aW50MzJfdCBiY2RoaWdoID0gMFU7CisKKyAgd2hpbGUgKG51bWJlciA+PSAxMFUpCisgIHsKKyAgICBiY2RoaWdoKys7CisgICAgbnVtYmVyIC09IDEwVTsKKyAgfQorCisgIHJldHVybiAoKHVpbnQ4X3QpKGJjZGhpZ2ggPDwgNFUpIHwgbnVtYmVyKTsKK30KKworLyoqCisgICogQGJyaWVmICBDb252ZXJ0cyBhIDItZGlnaXQgbnVtYmVyIGZyb20gQkNEIHRvIGRlY2ltYWwgZm9ybWF0LgorICAqIEBwYXJhbSAgbnVtYmVyIEJDRC1mb3JtYXR0ZWQgbnVtYmVyIChmcm9tIDAwIHRvIDk5KSB0byBiZSBjb252ZXJ0ZWQKICAgKiBAcmV0dmFsIENvbnZlcnRlZCB3b3JkCiAgICovCi11aW50OF90IFJUQ19CY2QyVG9CeXRlKHVpbnQ4X3QgVmFsdWUpCit1aW50OF90IFJUQ19CY2QyVG9CeXRlKHVpbnQ4X3QgbnVtYmVyKQogewotICB1aW50MzJfdCB0bXAgPSAwOwotICB0bXAgPSAoKHVpbnQ4X3QpKFZhbHVlICYgKHVpbnQ4X3QpMHhGMCkgPj4gKHVpbnQ4X3QpMHg0KSAqIDEwOwotICByZXR1cm4gKHRtcCArIChWYWx1ZSAmICh1aW50OF90KTB4MEYpKTsKKyAgdWludDMyX3QgdGVucyA9IDBVOworICB0ZW5zID0gKCgodWludDMyX3QpbnVtYmVyICYgMHhGMFUpID4+IDRVKSAqIDEwVTsKKyAgcmV0dXJuICh1aW50OF90KSh0ZW5zICsgKCh1aW50MzJfdCludW1iZXIgJiAweDBGVSkpOwogfQogCiAvKioKQEAgLTE5MTgsNCArMTkxNiwzIEBACiAvKioKICAgKiBAfQogICAqLwotCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmN3h4X2hhbF9ydGNfZXguYyBiL1NyYy9zdG0zMmY3eHhfaGFsX3J0Y19leC5jCmluZGV4IDkyMTNmYWIuLmZhNGU3NjYgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY3eHhfaGFsX3J0Y19leC5jCisrKyBiL1NyYy9zdG0zMmY3eHhfaGFsX3J0Y19leC5jCkBAIC0yLDE0ICsyLDE0IEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBmaWxlICAgIHN0bTMyZjd4eF9oYWxfcnRjX2V4LmMKICAgKiBAYXV0aG9yICBNQ0QgQXBwbGljYXRpb24gVGVhbQotICAqIEBicmllZiAgIFJUQyBIQUwgbW9kdWxlIGRyaXZlci4KKyAgKiBAYnJpZWYgICBFeHRlbmRlZCBSVEMgSEFMIG1vZHVsZSBkcml2ZXIuCiAgICogICAgICAgICAgVGhpcyBmaWxlIHByb3ZpZGVzIGZpcm13YXJlIGZ1bmN0aW9ucyB0byBtYW5hZ2UgdGhlIGZvbGxvd2luZwotICAqICAgICAgICAgIGZ1bmN0aW9uYWxpdGllcyBvZiB0aGUgUmVhbCBUaW1lIENsb2NrIChSVEMpIEV4dGVuc2lvbiBwZXJpcGhlcmFsOgotICAqICAgICAgICAgICArIFJUQyBUaW1lIFN0YW1wIGZ1bmN0aW9ucworICAqICAgICAgICAgIGZ1bmN0aW9uYWxpdGllcyBvZiB0aGUgUmVhbC1UaW1lIENsb2NrIChSVEMpIEV4dGVuZGVkIHBlcmlwaGVyYWw6CisgICogICAgICAgICAgICsgUlRDIFRpbWVzdGFtcCBmdW5jdGlvbnMKICAgKiAgICAgICAgICAgKyBSVEMgVGFtcGVyIGZ1bmN0aW9ucwotICAqICAgICAgICAgICArIFJUQyBXYWtlLXVwIGZ1bmN0aW9ucwotICAqICAgICAgICAgICArIEV4dGVuc2lvbiBDb250cm9sIGZ1bmN0aW9ucwotICAqICAgICAgICAgICArIEV4dGVuc2lvbiBSVEMgZmVhdHVyZXMgZnVuY3Rpb25zCisgICogICAgICAgICAgICsgUlRDIFdha2V1cCBmdW5jdGlvbnMKKyAgKiAgICAgICAgICAgKyBFeHRlbmRlZCBDb250cm9sIGZ1bmN0aW9ucworICAqICAgICAgICAgICArIEV4dGVuZGVkIFJUQyBmZWF0dXJlcyBmdW5jdGlvbnMKICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCkBAIC0yNCw3ICsyNCw3IEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gICAgICAgICAgICAgICAgICAjIyMjIyBIb3cgdG8gdXNlIHRoaXMgZHJpdmVyICMjIyMjCisgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBIb3cgdG8gdXNlIHRoaXMgZHJpdmVyICMjIyMjCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBbLi5dCiAgICAgKCspIEVuYWJsZSB0aGUgUlRDIGRvbWFpbiBhY2Nlc3MuCkBAIC0zNCw0OCArMzQsNzUgQEAKICAgKioqIFJUQyBXYWtldXAgY29uZmlndXJhdGlvbiAqKioKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgWy4uXQotICAgICgrKSBUbyBjb25maWd1cmUgdGhlIFJUQyBXYWtldXAgQ2xvY2sgc291cmNlIGFuZCBDb3VudGVyIHVzZSB0aGUgSEFMX1JUQ19TZXRXYWtlVXBUaW1lcigpCi0gICAgICAgIGZ1bmN0aW9uLiBZb3UgY2FuIGFsc28gY29uZmlndXJlIHRoZSBSVEMgV2FrZXVwIHRpbWVyIGluIGludGVycnVwdCBtb2RlCi0gICAgICAgIHVzaW5nIHRoZSBIQUxfUlRDX1NldFdha2VVcFRpbWVyX0lUKCkgZnVuY3Rpb24uCi0gICAgKCspIFRvIHJlYWQgdGhlIFJUQyBXYWtlVXAgQ291bnRlciByZWdpc3RlciwgdXNlIHRoZSBIQUxfUlRDX0dldFdha2VVcFRpbWVyKCkKKyAgICAoKykgVG8gY29uZmlndXJlIHRoZSBSVEMgV2FrZXVwIENsb2NrIHNvdXJjZSBhbmQgQ291bnRlciB1c2UgdGhlCisgICAgICAgIEhBTF9SVENFeF9TZXRXYWtlVXBUaW1lcigpIGZ1bmN0aW9uLgorICAgICAgICBZb3UgY2FuIGFsc28gY29uZmlndXJlIHRoZSBSVEMgV2FrZXVwIHRpbWVyIGluIGludGVycnVwdCBtb2RlIHVzaW5nIHRoZQorICAgICAgICBIQUxfUlRDRXhfU2V0V2FrZVVwVGltZXJfSVQoKSBmdW5jdGlvbi4KKyAgICAoKykgVG8gcmVhZCB0aGUgUlRDIFdha2V1cCBDb3VudGVyIHJlZ2lzdGVyLCB1c2UgdGhlIEhBTF9SVENFeF9HZXRXYWtlVXBUaW1lcigpCiAgICAgICAgIGZ1bmN0aW9uLgogCi0gICoqKiBUaW1lU3RhbXAgY29uZmlndXJhdGlvbiAqKioKKyAgKioqIFRpbWVzdGFtcCBjb25maWd1cmF0aW9uICoqKgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFsuLl0KLSAgICAoKykgRW5hYmxlcyB0aGUgUlRDIFRpbWVTdGFtcCB1c2luZyB0aGUgSEFMX1JUQ19TZXRUaW1lU3RhbXAoKSBmdW5jdGlvbi4KLSAgICAgICAgWW91IGNhbiBhbHNvIGNvbmZpZ3VyZSB0aGUgUlRDIFRpbWVTdGFtcCB3aXRoIGludGVycnVwdCBtb2RlIHVzaW5nIHRoZQotICAgICAgICBIQUxfUlRDX1NldFRpbWVTdGFtcF9JVCgpIGZ1bmN0aW9uLgotICAgICgrKSBUbyByZWFkIHRoZSBSVEMgVGltZVN0YW1wIFRpbWUgYW5kIERhdGUgcmVnaXN0ZXIsIHVzZSB0aGUgSEFMX1JUQ19HZXRUaW1lU3RhbXAoKQotICAgICAgICBmdW5jdGlvbi4KKyAgICAoKykgVG8gY29uZmlndXJlIHRoZSBSVEMgVGltZXN0YW1wIHVzZSB0aGUgSEFMX1JUQ0V4X1NldFRpbWVTdGFtcCgpIGZ1bmN0aW9uLgorICAgICAgICBZb3UgY2FuIGFsc28gY29uZmlndXJlIHRoZSBSVEMgVGltZXN0YW1wIHdpdGggaW50ZXJydXB0IG1vZGUgdXNpbmcgdGhlCisgICAgICAgIEhBTF9SVENFeF9TZXRUaW1lU3RhbXBfSVQoKSBmdW5jdGlvbi4KKyAgICAoKykgVG8gcmVhZCB0aGUgUlRDIFRpbWVzdGFtcCBUaW1lIGFuZCBEYXRlIHJlZ2lzdGVyLCB1c2UgdGhlCisgICAgICAgIEhBTF9SVENFeF9HZXRUaW1lU3RhbXAoKSBmdW5jdGlvbi4KKyAgICAoKykgVGhlIFRpbWVzdGFtcCBhbHRlcm5hdGUgZnVuY3Rpb24gY2FuIGJlIG1hcHBlZCBlaXRoZXIgdG8gUlRDX0FGMSAoUEMxMyksCisgICAgICAgIFJUQ19BRjIgKFBJOCksIG9yIFJUQ19BRjMgKFBDMSkgZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiBUU0lOU0VMIGZpZWxkCisgICAgICAgIGluIFJUQ19PUiByZWdpc3Rlci4KKyAgICAgICAgVGhlIGNvcnJlc3BvbmRpbmcgcGluIGlzIGFsc28gc2VsZWN0ZWQgYnkgSEFMX1JUQ0V4X1NldFRpbWVTdGFtcCgpCisgICAgICAgIG9yIEhBTF9SVENFeF9TZXRUaW1lU3RhbXBfSVQoKSBmdW5jdGlvbnMuCiAKLSAgKioqIEludGVybmFsIFRpbWVTdGFtcCBjb25maWd1cmF0aW9uICoqKgorICAqKiogSW50ZXJuYWwgVGltZXN0YW1wIGNvbmZpZ3VyYXRpb24gKioqCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgWy4uXQotICAgICgrKSBFbmFibGVzIHRoZSBSVEMgaW50ZXJuYWwgVGltZVN0YW1wIHVzaW5nIHRoZSBIQUxfUlRDX1NldEludGVybmFsVGltZVN0YW1wKCkgZnVuY3Rpb24uCi0gICAgKCspIFRvIHJlYWQgdGhlIFJUQyBUaW1lU3RhbXAgVGltZSBhbmQgRGF0ZSByZWdpc3RlciwgdXNlIHRoZSBIQUxfUlRDX0dldFRpbWVTdGFtcCgpCisgICAgKCspIFRvIEVuYWJsZSB0aGUgUlRDIGludGVybmFsIFRpbWVzdGFtcCB1c2UgdGhlIEhBTF9SVENFeF9TZXRJbnRlcm5hbFRpbWVTdGFtcCgpCisgICAgICAgIGZ1bmN0aW9uLgorICAgICgrKSBUbyByZWFkIHRoZSBSVEMgVGltZXN0YW1wIFRpbWUgYW5kIERhdGUgcmVnaXN0ZXIsIHVzZSB0aGUgSEFMX1JUQ0V4X0dldFRpbWVTdGFtcCgpCiAgICAgICAgIGZ1bmN0aW9uLgogCiAgICoqKiBUYW1wZXIgY29uZmlndXJhdGlvbiAqKioKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBbLi5dCi0gICAgKCspIEVuYWJsZSB0aGUgUlRDIFRhbXBlciBhbmQgQ29uZmlndXJlIHRoZSBUYW1wZXIgZmlsdGVyIGNvdW50LCB0cmlnZ2VyIEVkZ2UKLSAgICAgICAgb3IgTGV2ZWwgYWNjb3JkaW5nIHRvIHRoZSBUYW1wZXIgZmlsdGVyIChpZiBlcXVhbCB0byAwIEVkZ2UgZWxzZSBMZXZlbCkKLSAgICAgICAgdmFsdWUsIHNhbXBsaW5nIGZyZXF1ZW5jeSwgTm9FcmFzZSwgTWFza0ZsYWcsICBwcmVjaGFyZ2Ugb3IgZGlzY2hhcmdlIGFuZAotICAgICAgICBQdWxsLVVQIHVzaW5nIHRoZSBIQUxfUlRDX1NldFRhbXBlcigpIGZ1bmN0aW9uLiBZb3UgY2FuIGNvbmZpZ3VyZSBSVEMgVGFtcGVyCi0gICAgICAgIHdpdGggaW50ZXJydXB0IG1vZGUgdXNpbmcgSEFMX1JUQ19TZXRUYW1wZXJfSVQoKSBmdW5jdGlvbi4KLSAgICAoKykgVGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBvZiB0aGUgVGFtcGVyIGVyYXNlcyB0aGUgYmFja3VwIHJlZ2lzdGVycy4gVG8gYXZvaWQKLSAgICAgICAgZXJhc2UsIGVuYWJsZSB0aGUgTm9FcmFzZSBmaWVsZCBvbiB0aGUgUlRDX1RBTVBDUiByZWdpc3Rlci4KKyAgICAoKykgVG8gRW5hYmxlIHRoZSBSVEMgVGFtcGVyIGFuZCBjb25maWd1cmUgdGhlIFRhbXBlciBmaWx0ZXIgY291bnQsIHRyaWdnZXIKKyAgICAgICAgRWRnZSBvciBMZXZlbCBhY2NvcmRpbmcgdG8gdGhlIFRhbXBlciBmaWx0ZXIgdmFsdWUgKGlmIGVxdWFsIHRvIDAgRWRnZQorICAgICAgICBlbHNlIExldmVsKSwgc2FtcGxpbmcgZnJlcXVlbmN5LCBOb0VyYXNlLCBNYXNrRmxhZywgcHJlY2hhcmdlIG9yCisgICAgICAgIGRpc2NoYXJnZSBhbmQgUHVsbC1VUCB1c2UgdGhlIEhBTF9SVENFeF9TZXRUYW1wZXIoKSBmdW5jdGlvbi4KKyAgICAgICAgWW91IGNhbiBjb25maWd1cmUgUlRDIFRhbXBlciBpbiBpbnRlcnJ1cHQgbW9kZSB1c2luZyBIQUxfUlRDRXhfU2V0VGFtcGVyX0lUKCkKKyAgICAgICAgZnVuY3Rpb24uCisgICAgKCspIFRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gb2YgdGhlIFRhbXBlciBlcmFzZXMgdGhlIGJhY2t1cCByZWdpc3RlcnMuCisgICAgICAgIFRvIGF2b2lkIHRoaXMsIGVuYWJsZSB0aGUgTm9FcmFzZSBmaWVsZCBvbiB0aGUgUlRDX1RBTVBDUiByZWdpc3Rlci4KKyAgICAoKykgVGhlIFRBTVBFUjEgYWx0ZXJuYXRlIGZ1bmN0aW9uIGlzIG1hcHBlZCB0byBSVENfQUYxIChQQzEzKS4KKyAgICAoKykgVGhlIFRBTVBFUjIgYWx0ZXJuYXRlIGZ1bmN0aW9uIGlzIG1hcHBlZCB0byBSVENfQUYyIChQSTgpLgorICAgICgrKSBUaGUgVEFNUEVSMyBhbHRlcm5hdGUgZnVuY3Rpb24gaXMgbWFwcGVkIHRvIFJUQ19BRjMgKFBDMSkuCiAKICAgKioqIEJhY2t1cCBEYXRhIFJlZ2lzdGVycyBjb25maWd1cmF0aW9uICoqKgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFsuLl0KLSAgICAoKykgVG8gd3JpdGUgdG8gdGhlIFJUQyBCYWNrdXAgRGF0YSByZWdpc3RlcnMsIHVzZSB0aGUgSEFMX1JUQ19CS1VQV3JpdGUoKQorICAgICgrKSBUbyB3cml0ZSB0byB0aGUgUlRDIEJhY2t1cCBEYXRhIHJlZ2lzdGVycywgdXNlIHRoZSBIQUxfUlRDRXhfQktVUFdyaXRlKCkKICAgICAgICAgZnVuY3Rpb24uCi0gICAgKCspIFRvIHJlYWQgdGhlIFJUQyBCYWNrdXAgRGF0YSByZWdpc3RlcnMsIHVzZSB0aGUgSEFMX1JUQ19CS1VQUmVhZCgpCisgICAgKCspIFRvIHJlYWQgdGhlIFJUQyBCYWNrdXAgRGF0YSByZWdpc3RlcnMsIHVzZSB0aGUgSEFMX1JUQ0V4X0JLVVBSZWFkKCkKICAgICAgICAgZnVuY3Rpb24uCiAKLSAgIEBlbmR2ZXJiYXRpbQorICAqKiogU21vb3RoIERpZ2l0YWwgQ2FsaWJyYXRpb24gY29uZmlndXJhdGlvbiAqKioKKyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgIFsuLl0KKyAgICAoKykgUlRDIGZyZXF1ZW5jeSBjYW4gYmUgZGlnaXRhbGx5IGNhbGlicmF0ZWQgd2l0aCBhIHJlc29sdXRpb24gb2YgYWJvdXQKKyAgICAgICAgMC45NTQgcHBtIHdpdGggYSByYW5nZSBmcm9tIC00ODcuMSBwcG0gdG8gKzQ4OC41IHBwbS4KKyAgICAgICAgVGhlIGNvcnJlY3Rpb24gb2YgdGhlIGZyZXF1ZW5jeSBpcyBwZXJmb3JtZWQgdXNpbmcgYSBzZXJpZXMgb2Ygc21hbGwKKyAgICAgICAgYWRqdXN0bWVudHMgKGFkZGluZyBhbmQvb3Igc3VidHJhY3RpbmcgaW5kaXZpZHVhbCBSVENDTEsgcHVsc2VzKS4KKyAgICAoKykgVGhlIHNtb290aCBkaWdpdGFsIGNhbGlicmF0aW9uIGlzIHBlcmZvcm1lZCBkdXJpbmcgYSBjeWNsZSBvZiBhYm91dCAyXjIwCisgICAgICAgIFJUQ0NMSyBwdWxzZXMgKG9yIDMyIHNlY29uZHMpIHdoZW4gdGhlIGlucHV0IGZyZXF1ZW5jeSBpcyAzMiw3NjggSHouCisgICAgICAgIFRoaXMgY3ljbGUgaXMgbWFpbnRhaW5lZCBieSBhIDIwLWJpdCBjb3VudGVyIGNsb2NrZWQgYnkgUlRDQ0xLLgorICAgICgrKSBUaGUgc21vb3RoIGNhbGlicmF0aW9uIHJlZ2lzdGVyIChSVENfQ0FMUikgc3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgUlRDQ0xLCisgICAgICAgIGNsb2NrIGN5Y2xlcyB0byBiZSBtYXNrZWQgZHVyaW5nIHRoZSAzMi1zZWNvbmQgY3ljbGUuCisgICAgKCspIFRoZSBSVEMgU21vb3RoIERpZ2l0YWwgQ2FsaWJyYXRpb24gdmFsdWUgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNhbGlicmF0aW9uCisgICAgICAgIGN5Y2xlIHBlcmlvZCAoMzJzLCAxNnMsIG9yIDhzKSBjYW4gYmUgY2FsaWJyYXRlZCB1c2luZyB0aGUKKyAgICAgICAgSEFMX1JUQ0V4X1NldFNtb290aENhbGliKCkgZnVuY3Rpb24uCisKKyAgQGVuZHZlcmJhdGltCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCkBAIC04Nyw3ICsxMTQsNyBAQAogICAqLwogCiAvKiogQGRlZmdyb3VwIFJUQ0V4IFJUQ0V4Ci0gICogQGJyaWVmIFJUQyBFeHRlbmRlZCBIQUwgbW9kdWxlIGRyaXZlcgorICAqIEBicmllZiAgICBSVEMgRXh0ZW5kZWQgSEFMIG1vZHVsZSBkcml2ZXIKICAgKiBAewogICAqLwogCkBAIC0xMDQsMTQzICsxMzEsODEgQEAKICAgKiBAewogICAqLwogCi0KLS8qKiBAZGVmZ3JvdXAgUlRDRXhfR3JvdXAxIFJUQyBUaW1lU3RhbXAgYW5kIFRhbXBlciBmdW5jdGlvbnMKLSAqICBAYnJpZWYgICBSVEMgVGltZVN0YW1wIGFuZCBUYW1wZXIgZnVuY3Rpb25zCi0gKgorLyoqIEBkZWZncm91cCBSVENFeF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAxIFJUQyBUaW1lc3RhbXAgYW5kIFRhbXBlciBmdW5jdGlvbnMKKyAgKiBAYnJpZWYgICAgUlRDIFRpbWVzdGFtcCBhbmQgVGFtcGVyIGZ1bmN0aW9ucworICAqCiBAdmVyYmF0aW0KICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gICAgICAgICAgICAgICAgICMjIyMjIFJUQyBUaW1lU3RhbXAgYW5kIFRhbXBlciBmdW5jdGlvbnMgIyMjIyMKKyAgICAgICAgICAgICAgICAgIyMjIyMgUlRDIFRpbWVzdGFtcCBhbmQgVGFtcGVyIGZ1bmN0aW9ucyAjIyMjIwogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAotIFsuLl0gVGhpcyBzZWN0aW9uIHByb3ZpZGVzIGZ1bmN0aW9ucyBhbGxvd2luZyB0byBjb25maWd1cmUgVGltZVN0YW1wIGZlYXR1cmUKKyBbLi5dIFRoaXMgc2VjdGlvbiBwcm92aWRlcyBmdW5jdGlvbnMgYWxsb3dpbmcgdG8gY29uZmlndXJlIFRpbWVzdGFtcCBmZWF0dXJlCiAKIEBlbmR2ZXJiYXRpbQogICAqIEB7CiAgICovCiAKIC8qKgotICAqIEBicmllZiAgU2V0cyBUaW1lU3RhbXAuCi0gICogQG5vdGUgICBUaGlzIEFQSSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgZW5hYmxpbmcgdGhlIFRpbWVTdGFtcCBmZWF0dXJlLgorICAqIEBicmllZiAgU2V0cyBUaW1lc3RhbXAuCisgICogQG5vdGUgICBUaGlzIEFQSSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgZW5hYmxpbmcgdGhlIFRpbWVzdGFtcCBmZWF0dXJlLgogICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgotICAqIEBwYXJhbSAgVGltZVN0YW1wRWRnZSBTcGVjaWZpZXMgdGhlIHBpbiBlZGdlIG9uIHdoaWNoIHRoZSBUaW1lU3RhbXAgaXMKKyAgKiBAcGFyYW0gIFJUQ19UaW1lU3RhbXBFZGdlIFNwZWNpZmllcyB0aGUgcGluIGVkZ2Ugb24gd2hpY2ggdGhlIFRpbWVzdGFtcCBpcwogICAqICAgICAgICAgYWN0aXZhdGVkLgogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6Ci0gICogICAgICAgICAgICAgQGFyZyBSVENfVElNRVNUQU1QRURHRV9SSVNJTkc6IHRoZSBUaW1lIHN0YW1wIGV2ZW50IG9jY3VycyBvbiB0aGUKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaXNpbmcgZWRnZSBvZiB0aGUgcmVsYXRlZCBwaW4uCi0gICogICAgICAgICAgICAgQGFyZyBSVENfVElNRVNUQU1QRURHRV9GQUxMSU5HOiB0aGUgVGltZSBzdGFtcCBldmVudCBvY2N1cnMgb24gdGhlCi0gICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxpbmcgZWRnZSBvZiB0aGUgcmVsYXRlZCBwaW4uCi0gICogQHBhcmFtICBSVENfVGltZVN0YW1wUGluIHNwZWNpZmllcyB0aGUgUlRDIFRpbWVTdGFtcCBQaW4uCisgICogICAgICAgICAgICAgQGFyZyBSVENfVElNRVNUQU1QRURHRV9SSVNJTkc6IHRoZSBUaW1lc3RhbXAgZXZlbnQgb2NjdXJzIG9uCisgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHJpc2luZyBlZGdlIG9mIHRoZSByZWxhdGVkIHBpbi4KKyAgKiAgICAgICAgICAgICBAYXJnIFJUQ19USU1FU1RBTVBFREdFX0ZBTExJTkc6IHRoZSBUaW1lc3RhbXAgZXZlbnQgb2NjdXJzIG9uCisgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGZhbGxpbmcgZWRnZSBvZiB0aGUgcmVsYXRlZCBwaW4uCisgICogQHBhcmFtICBSVENfVGltZVN0YW1wUGluIFNwZWNpZmllcyB0aGUgUlRDIFRpbWVzdGFtcCBQaW4uCiAgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKLSAgKiAgICAgICAgICAgICBAYXJnIFJUQ19USU1FU1RBTVBQSU5fUEMxMzogUEMxMyBpcyBzZWxlY3RlZCBhcyBSVEMgVGltZVN0YW1wIFBpbi4KLSAgKiAgICAgICAgICAgICBAYXJnIFJUQ19USU1FU1RBTVBQSU5fUEk4OiBQSTggaXMgc2VsZWN0ZWQgYXMgUlRDIFRpbWVTdGFtcCBQaW4uCi0gICogICAgICAgICAgICAgQGFyZyBSVENfVElNRVNUQU1QUElOX1BDMTogUEMxIGlzIHNlbGVjdGVkIGFzIFJUQyBUaW1lU3RhbXAgUGluLgorICAqICAgICAgICAgICAgIEBhcmcgUlRDX1RJTUVTVEFNUFBJTl9ERUZBVUxUOiBQQzEzIGlzIHNlbGVjdGVkIGFzIFJUQyBUaW1lc3RhbXAgUGluLgorICAqICAgICAgICAgICAgIEBhcmcgUlRDX1RJTUVTVEFNUFBJTl9QT1MxOiBQSTggaXMgc2VsZWN0ZWQgYXMgUlRDIFRpbWVzdGFtcCBQaW4uCisgICogICAgICAgICAgICAgQGFyZyBSVENfVElNRVNUQU1QUElOX1BPUzI6IFBDMSBpcyBzZWxlY3RlZCBhcyBSVEMgVGltZXN0YW1wIFBpbi4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRUaW1lU3RhbXAoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIHVpbnQzMl90IFRpbWVTdGFtcEVkZ2UsIHVpbnQzMl90IFJUQ19UaW1lU3RhbXBQaW4pCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0VGltZVN0YW1wKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBSVENfVGltZVN0YW1wRWRnZSwgdWludDMyX3QgUlRDX1RpbWVTdGFtcFBpbikKIHsKLSAgdWludDMyX3QgdG1wcmVnID0gMDsKKyAgdWludDMyX3QgdG1wcmVnID0gMFU7CiAKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KLSAgYXNzZXJ0X3BhcmFtKElTX1RJTUVTVEFNUF9FREdFKFRpbWVTdGFtcEVkZ2UpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX1RJTUVTVEFNUF9FREdFKFJUQ19UaW1lU3RhbXBFZGdlKSk7CiAgIGFzc2VydF9wYXJhbShJU19SVENfVElNRVNUQU1QX1BJTihSVENfVGltZVN0YW1wUGluKSk7CiAKICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KICAgX19IQUxfTE9DSyhocnRjKTsKIAorICAvKiBDaGFuZ2UgUlRDIHN0YXRlIHRvIEJVU1kgKi8KICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX0JVU1k7CiAKLSAgLyogR2V0IHRoZSBSVENfQ1IgcmVnaXN0ZXIgYW5kIGNsZWFyIHRoZSBiaXRzIHRvIGJlIGNvbmZpZ3VyZWQgKi8KLSAgdG1wcmVnID0gKHVpbnQzMl90KShocnRjLT5JbnN0YW5jZS0+Q1IgJiAodWludDMyX3QpfihSVENfQ1JfVFNFREdFIHwgUlRDX0NSX1RTRSkpOwotCi0gIHRtcHJlZ3w9IFRpbWVTdGFtcEVkZ2U7Ci0KLSAgLyogRGlzYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwotICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoaHJ0Yyk7Ci0KICAgaHJ0Yy0+SW5zdGFuY2UtPk9SICY9ICh1aW50MzJfdCl+UlRDX09SX1RTSU5TRUw7CiAgIGhydGMtPkluc3RhbmNlLT5PUiB8PSAodWludDMyX3QpKFJUQ19UaW1lU3RhbXBQaW4pOwogCi0gIC8qIENvbmZpZ3VyZSB0aGUgVGltZSBTdGFtcCBUU0VER0UgYW5kIEVuYWJsZSBiaXRzICovCi0gIGhydGMtPkluc3RhbmNlLT5DUiA9ICh1aW50MzJfdCl0bXByZWc7Ci0KLSAgX19IQUxfUlRDX1RJTUVTVEFNUF9FTkFCTEUoaHJ0Yyk7Ci0KLSAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCi0gIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOwotCi0gIC8qIENoYW5nZSBSVEMgc3RhdGUgKi8KLSAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1JFQURZOwotCi0gIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhydGMpOwotCi0gIHJldHVybiBIQUxfT0s7Ci19Ci0KLS8qKgotICAqIEBicmllZiAgU2V0cyBUaW1lU3RhbXAgd2l0aCBJbnRlcnJ1cHQuCi0gICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwotICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCi0gICogQG5vdGUgICBUaGlzIEFQSSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgZW5hYmxpbmcgdGhlIFRpbWVTdGFtcCBmZWF0dXJlLgotICAqIEBwYXJhbSAgVGltZVN0YW1wRWRnZSBTcGVjaWZpZXMgdGhlIHBpbiBlZGdlIG9uIHdoaWNoIHRoZSBUaW1lU3RhbXAgaXMKLSAgKiAgICAgICAgIGFjdGl2YXRlZC4KLSAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgotICAqICAgICAgICAgICAgIEBhcmcgUlRDX1RJTUVTVEFNUEVER0VfUklTSU5HOiB0aGUgVGltZSBzdGFtcCBldmVudCBvY2N1cnMgb24gdGhlCi0gICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlzaW5nIGVkZ2Ugb2YgdGhlIHJlbGF0ZWQgcGluLgotICAqICAgICAgICAgICAgIEBhcmcgUlRDX1RJTUVTVEFNUEVER0VfRkFMTElORzogdGhlIFRpbWUgc3RhbXAgZXZlbnQgb2NjdXJzIG9uIHRoZQotICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxsaW5nIGVkZ2Ugb2YgdGhlIHJlbGF0ZWQgcGluLgotICAqIEBwYXJhbSAgUlRDX1RpbWVTdGFtcFBpbiBTcGVjaWZpZXMgdGhlIFJUQyBUaW1lU3RhbXAgUGluLgotICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6Ci0gICogICAgICAgICAgICAgQGFyZyBSVENfVElNRVNUQU1QUElOX1BDMTM6IFBDMTMgaXMgc2VsZWN0ZWQgYXMgUlRDIFRpbWVTdGFtcCBQaW4uCi0gICogICAgICAgICAgICAgQGFyZyBSVENfVElNRVNUQU1QUElOX1BJODogUEk4IGlzIHNlbGVjdGVkIGFzIFJUQyBUaW1lU3RhbXAgUGluLgotICAqICAgICAgICAgICAgIEBhcmcgUlRDX1RJTUVTVEFNUFBJTl9QQzE6IFBDMSBpcyBzZWxlY3RlZCBhcyBSVEMgVGltZVN0YW1wIFBpbi4KLSAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKLSAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRUaW1lU3RhbXBfSVQoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIHVpbnQzMl90IFRpbWVTdGFtcEVkZ2UsIHVpbnQzMl90IFJUQ19UaW1lU3RhbXBQaW4pCi17Ci0gIHVpbnQzMl90IHRtcHJlZyA9IDA7Ci0KLSAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KLSAgYXNzZXJ0X3BhcmFtKElTX1RJTUVTVEFNUF9FREdFKFRpbWVTdGFtcEVkZ2UpKTsKLSAgYXNzZXJ0X3BhcmFtKElTX1JUQ19USU1FU1RBTVBfUElOKFJUQ19UaW1lU3RhbXBQaW4pKTsKLQotICAvKiBQcm9jZXNzIExvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhydGMpOwotCi0gIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9CVVNZOwotCiAgIC8qIEdldCB0aGUgUlRDX0NSIHJlZ2lzdGVyIGFuZCBjbGVhciB0aGUgYml0cyB0byBiZSBjb25maWd1cmVkICovCiAgIHRtcHJlZyA9ICh1aW50MzJfdCkoaHJ0Yy0+SW5zdGFuY2UtPkNSICYgKHVpbnQzMl90KX4oUlRDX0NSX1RTRURHRSB8IFJUQ19DUl9UU0UpKTsKIAotICB0bXByZWcgfD0gVGltZVN0YW1wRWRnZTsKKyAgLyogQ29uZmlndXJlIHRoZSBUaW1lc3RhbXAgVFNFREdFIGJpdCAqLworICB0bXByZWcgfD0gUlRDX1RpbWVTdGFtcEVkZ2U7CiAKICAgLyogRGlzYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoaHJ0Yyk7CiAKLSAgLyogQ29uZmlndXJlIHRoZSBUaW1lIFN0YW1wIFRTRURHRSBhbmQgRW5hYmxlIGJpdHMgKi8KKyAgLyogQ29weSB0aGUgZGVzaXJlZCBjb25maWd1cmF0aW9uIGludG8gdGhlIENSIHJlZ2lzdGVyICovCiAgIGhydGMtPkluc3RhbmNlLT5DUiA9ICh1aW50MzJfdCl0bXByZWc7CiAKLSAgaHJ0Yy0+SW5zdGFuY2UtPk9SICY9ICh1aW50MzJfdCl+UlRDX09SX1RTSU5TRUw7Ci0gIGhydGMtPkluc3RhbmNlLT5PUiB8PSAodWludDMyX3QpKFJUQ19UaW1lU3RhbXBQaW4pOwotCiAgIC8qIENsZWFyIFJUQyBUaW1lc3RhbXAgZmxhZyAqLwogICBfX0hBTF9SVENfVElNRVNUQU1QX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVFNGKTsKIAorICAvKiBDbGVhciBSVEMgVGltZXN0YW1wIG92ZXJydW4gRmxhZyAqLworICBfX0hBTF9SVENfVElNRVNUQU1QX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVFNPVkYpOworCisgIC8qIEVuYWJsZSB0aGUgVGltZXN0YW1wIHNhdmluZyAqLwogICBfX0hBTF9SVENfVElNRVNUQU1QX0VOQUJMRShocnRjKTsKIAotICAvKiBFbmFibGUgSVQgdGltZXN0YW1wICovCi0gIF9fSEFMX1JUQ19USU1FU1RBTVBfRU5BQkxFX0lUKGhydGMsUlRDX0lUX1RTKTsKLQotICAvKiBSVEMgdGltZXN0YW1wIEludGVycnVwdCBDb25maWd1cmF0aW9uOiBFWFRJIGNvbmZpZ3VyYXRpb24gKi8KLSAgX19IQUxfUlRDX1RBTVBFUl9USU1FU1RBTVBfRVhUSV9FTkFCTEVfSVQoKTsKLQotICBFWFRJLT5SVFNSIHw9IFJUQ19FWFRJX0xJTkVfVEFNUEVSX1RJTUVTVEFNUF9FVkVOVDsKLQogICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CiAKKyAgLyogQ2hhbmdlIFJUQyBzdGF0ZSBiYWNrIHRvIFJFQURZICovCiAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9SRUFEWTsKIAogICAvKiBQcm9jZXNzIFVubG9ja2VkICovCkBAIC0yNTAsNyArMjE1LDgzIEBACiB9CiAKIC8qKgotICAqIEBicmllZiAgRGVhY3RpdmF0ZXMgVGltZVN0YW1wLgorICAqIEBicmllZiAgU2V0cyBUaW1lc3RhbXAgd2l0aCBJbnRlcnJ1cHQuCisgICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCisgICogQG5vdGUgICBUaGlzIEFQSSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgZW5hYmxpbmcgdGhlIFRpbWVzdGFtcCBmZWF0dXJlLgorICAqIEBwYXJhbSAgUlRDX1RpbWVTdGFtcEVkZ2UgU3BlY2lmaWVzIHRoZSBwaW4gZWRnZSBvbiB3aGljaCB0aGUgVGltZXN0YW1wIGlzCisgICogICAgICAgICBhY3RpdmF0ZWQuCisgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKKyAgKiAgICAgICAgICAgICBAYXJnIFJUQ19USU1FU1RBTVBFREdFX1JJU0lORzogdGhlIFRpbWVzdGFtcCBldmVudCBvY2N1cnMgb24KKyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgcmlzaW5nIGVkZ2Ugb2YgdGhlIHJlbGF0ZWQgcGluLgorICAqICAgICAgICAgICAgIEBhcmcgUlRDX1RJTUVTVEFNUEVER0VfRkFMTElORzogdGhlIFRpbWVzdGFtcCBldmVudCBvY2N1cnMgb24KKyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZmFsbGluZyBlZGdlIG9mIHRoZSByZWxhdGVkIHBpbi4KKyAgKiBAcGFyYW0gIFJUQ19UaW1lU3RhbXBQaW4gU3BlY2lmaWVzIHRoZSBSVEMgVGltZXN0YW1wIFBpbi4KKyAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgorICAqICAgICAgICAgICAgIEBhcmcgUlRDX1RJTUVTVEFNUFBJTl9ERUZBVUxUOiBQQzEzIGlzIHNlbGVjdGVkIGFzIFJUQyBUaW1lc3RhbXAgUGluLgorICAqICAgICAgICAgICAgIEBhcmcgUlRDX1RJTUVTVEFNUFBJTl9QT1MxOiBQSTggaXMgc2VsZWN0ZWQgYXMgUlRDIFRpbWVzdGFtcCBQaW4uCisgICogICAgICAgICAgICAgQGFyZyBSVENfVElNRVNUQU1QUElOX1BPUzI6IFBDMSBpcyBzZWxlY3RlZCBhcyBSVEMgVGltZXN0YW1wIFBpbi4KKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRUaW1lU3RhbXBfSVQoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIHVpbnQzMl90IFJUQ19UaW1lU3RhbXBFZGdlLCB1aW50MzJfdCBSVENfVGltZVN0YW1wUGluKQoreworICB1aW50MzJfdCB0bXByZWcgPSAwVTsKKworICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLworICBhc3NlcnRfcGFyYW0oSVNfVElNRVNUQU1QX0VER0UoUlRDX1RpbWVTdGFtcEVkZ2UpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX1JUQ19USU1FU1RBTVBfUElOKFJUQ19UaW1lU3RhbXBQaW4pKTsKKworICAvKiBQcm9jZXNzIExvY2tlZCAqLworICBfX0hBTF9MT0NLKGhydGMpOworCisgIC8qIENoYW5nZSBSVEMgc3RhdGUgdG8gQlVTWSAqLworICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfQlVTWTsKKworICBocnRjLT5JbnN0YW5jZS0+T1IgJj0gKHVpbnQzMl90KX5SVENfT1JfVFNJTlNFTDsKKyAgaHJ0Yy0+SW5zdGFuY2UtPk9SIHw9ICh1aW50MzJfdCkoUlRDX1RpbWVTdGFtcFBpbik7CisKKyAgLyogR2V0IHRoZSBSVENfQ1IgcmVnaXN0ZXIgYW5kIGNsZWFyIHRoZSBiaXRzIHRvIGJlIGNvbmZpZ3VyZWQgKi8KKyAgdG1wcmVnID0gKHVpbnQzMl90KShocnRjLT5JbnN0YW5jZS0+Q1IgJiAodWludDMyX3QpfihSVENfQ1JfVFNFREdFIHwgUlRDX0NSX1RTRSkpOworCisgIC8qIENvbmZpZ3VyZSB0aGUgVGltZXN0YW1wIFRTRURHRSBiaXQgKi8KKyAgdG1wcmVnIHw9IFJUQ19UaW1lU3RhbXBFZGdlOworCisgIC8qIERpc2FibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KKyAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9ESVNBQkxFKGhydGMpOworCisgIC8qIENvcHkgdGhlIGRlc2lyZWQgY29uZmlndXJhdGlvbiBpbnRvIHRoZSBDUiByZWdpc3RlciAqLworICBocnRjLT5JbnN0YW5jZS0+Q1IgPSAodWludDMyX3QpdG1wcmVnOworCisgIC8qIENsZWFyIFJUQyBUaW1lc3RhbXAgZmxhZyAqLworICBfX0hBTF9SVENfVElNRVNUQU1QX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVFNGKTsKKworICAvKiBDbGVhciBSVEMgVGltZXN0YW1wIG92ZXJydW4gRmxhZyAqLworICBfX0hBTF9SVENfVElNRVNUQU1QX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVFNPVkYpOworCisgIC8qIEVuYWJsZSB0aGUgVGltZXN0YW1wIHNhdmluZyAqLworICBfX0hBTF9SVENfVElNRVNUQU1QX0VOQUJMRShocnRjKTsKKworICAvKiBFbmFibGUgSVQgVGltZXN0YW1wICovCisgIF9fSEFMX1JUQ19USU1FU1RBTVBfRU5BQkxFX0lUKGhydGMsIFJUQ19JVF9UUyk7CisKKyAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCisgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOworCisgIC8qIFJUQyBUaW1lc3RhbXAgSW50ZXJydXB0IENvbmZpZ3VyYXRpb246IEVYVEkgY29uZmlndXJhdGlvbiAqLworICBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0VOQUJMRV9JVCgpOworICBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0VOQUJMRV9SSVNJTkdfRURHRSgpOworCisgIC8qIENoYW5nZSBSVEMgc3RhdGUgYmFjayB0byBSRUFEWSAqLworICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfUkVBRFk7CisKKyAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICBfX0hBTF9VTkxPQ0soaHJ0Yyk7CisKKyAgcmV0dXJuIEhBTF9PSzsKK30KKworLyoqCisgICogQGJyaWVmICBEZWFjdGl2YXRlcyBUaW1lc3RhbXAuCiAgICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCkBAIC0yNzMsNyArMzE0LDcgQEAKICAgLyogR2V0IHRoZSBSVENfQ1IgcmVnaXN0ZXIgYW5kIGNsZWFyIHRoZSBiaXRzIHRvIGJlIGNvbmZpZ3VyZWQgKi8KICAgdG1wcmVnID0gKHVpbnQzMl90KShocnRjLT5JbnN0YW5jZS0+Q1IgJiAodWludDMyX3QpfihSVENfQ1JfVFNFREdFIHwgUlRDX0NSX1RTRSkpOwogCi0gIC8qIENvbmZpZ3VyZSB0aGUgVGltZSBTdGFtcCBUU0VER0UgYW5kIEVuYWJsZSBiaXRzICovCisgIC8qIENvbmZpZ3VyZSB0aGUgVGltZXN0YW1wIFRTRURHRSBhbmQgRW5hYmxlIGJpdHMgKi8KICAgaHJ0Yy0+SW5zdGFuY2UtPkNSID0gKHVpbnQzMl90KXRtcHJlZzsKIAogICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KQEAgLTI4OCw4ICszMjksOCBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIFNldHMgSW50ZXJuYWwgVGltZVN0YW1wLgotICAqIEBub3RlICAgVGhpcyBBUEkgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGVuYWJsaW5nIHRoZSBpbnRlcm5hbCBUaW1lU3RhbXAgZmVhdHVyZS4KKyAgKiBAYnJpZWYgIFNldHMgSW50ZXJuYWwgVGltZXN0YW1wLgorICAqIEBub3RlICAgVGhpcyBBUEkgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGVuYWJsaW5nIHRoZSBpbnRlcm5hbCBUaW1lc3RhbXAgZmVhdHVyZS4KICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKQEAgLTMwNCw3ICszNDUsNyBAQAogICAvKiBEaXNhYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCiAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRElTQUJMRShocnRjKTsKIAotICAvKiBDb25maWd1cmUgdGhlIGludGVybmFsIFRpbWUgU3RhbXAgRW5hYmxlIGJpdHMgKi8KKyAgLyogQ29uZmlndXJlIHRoZSBpbnRlcm5hbCBUaW1lc3RhbXAgRW5hYmxlIGJpdHMgKi8KICAgX19IQUxfUlRDX0lOVEVSTkFMX1RJTUVTVEFNUF9FTkFCTEUoaHJ0Yyk7CiAKICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCkBAIC0zMjAsNyArMzYxLDcgQEAKIH0KIAogLyoqCi0gICogQGJyaWVmICBEZWFjdGl2YXRlcyBpbnRlcm5hbCBUaW1lU3RhbXAuCisgICogQGJyaWVmICBEZWFjdGl2YXRlcyBpbnRlcm5hbCBUaW1lc3RhbXAuCiAgICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCkBAIC0zMzUsNyArMzc2LDcgQEAKICAgLyogRGlzYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoaHJ0Yyk7CiAKLSAgLyogQ29uZmlndXJlIHRoZSBpbnRlcm5hbCBUaW1lIFN0YW1wIEVuYWJsZSBiaXRzICovCisgIC8qIENvbmZpZ3VyZSB0aGUgaW50ZXJuYWwgVGltZXN0YW1wIEVuYWJsZSBiaXRzICovCiAgIF9fSEFMX1JUQ19JTlRFUk5BTF9USU1FU1RBTVBfRElTQUJMRShocnRjKTsKIAogICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KQEAgLTM1MCw3MCArMzkxLDc1IEBACiB9CiAKIC8qKgotICAqIEBicmllZiAgR2V0cyB0aGUgUlRDIFRpbWVTdGFtcCB2YWx1ZS4KKyAgKiBAYnJpZWYgIEdldHMgdGhlIFJUQyBUaW1lc3RhbXAgdmFsdWUuCiAgICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCiAgICogQHBhcmFtICBzVGltZVN0YW1wIFBvaW50ZXIgdG8gVGltZSBzdHJ1Y3R1cmUKICAgKiBAcGFyYW0gIHNUaW1lU3RhbXBEYXRlIFBvaW50ZXIgdG8gRGF0ZSBzdHJ1Y3R1cmUKICAgKiBAcGFyYW0gIEZvcm1hdCBzcGVjaWZpZXMgdGhlIGZvcm1hdCBvZiB0aGUgZW50ZXJlZCBwYXJhbWV0ZXJzLgogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6Ci0gICogICAgICAgICAgICAgRk9STUFUX0JJTjogQmluYXJ5IGRhdGEgZm9ybWF0Ci0gICogICAgICAgICAgICAgRk9STUFUX0JDRDogQkNEIGRhdGEgZm9ybWF0CisgICogICAgICAgICAgICAgQGFyZyBSVENfRk9STUFUX0JJTjogQmluYXJ5IGRhdGEgZm9ybWF0CisgICogICAgICAgICAgICAgQGFyZyBSVENfRk9STUFUX0JDRDogQkNEIGRhdGEgZm9ybWF0CiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfR2V0VGltZVN0YW1wKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCBSVENfVGltZVR5cGVEZWYqIHNUaW1lU3RhbXAsIFJUQ19EYXRlVHlwZURlZiogc1RpbWVTdGFtcERhdGUsIHVpbnQzMl90IEZvcm1hdCkKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9HZXRUaW1lU3RhbXAoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIFJUQ19UaW1lVHlwZURlZiAqc1RpbWVTdGFtcCwgUlRDX0RhdGVUeXBlRGVmICpzVGltZVN0YW1wRGF0ZSwgdWludDMyX3QgRm9ybWF0KQogewotICB1aW50MzJfdCB0bXB0aW1lID0gMFUsIHRtcGRhdGUgPSAwVTsKKyAgdWludDMyX3QgdG1wdGltZSA9IDBVOworICB1aW50MzJfdCB0bXBkYXRlID0gMFU7CiAKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19GT1JNQVQoRm9ybWF0KSk7CiAKLSAgLyogR2V0IHRoZSBUaW1lU3RhbXAgdGltZSBhbmQgZGF0ZSByZWdpc3RlcnMgdmFsdWVzICovCisgIC8qIEdldCB0aGUgVGltZXN0YW1wIHRpbWUgYW5kIGRhdGUgcmVnaXN0ZXJzIHZhbHVlcyAqLwogICB0bXB0aW1lID0gKHVpbnQzMl90KShocnRjLT5JbnN0YW5jZS0+VFNUUiAmIFJUQ19UUl9SRVNFUlZFRF9NQVNLKTsKICAgdG1wZGF0ZSA9ICh1aW50MzJfdCkoaHJ0Yy0+SW5zdGFuY2UtPlRTRFIgJiBSVENfRFJfUkVTRVJWRURfTUFTSyk7CiAKICAgLyogRmlsbCB0aGUgVGltZSBzdHJ1Y3R1cmUgZmllbGRzIHdpdGggdGhlIHJlYWQgcGFyYW1ldGVycyAqLwotICBzVGltZVN0YW1wLT5Ib3VycyA9ICh1aW50OF90KSgodG1wdGltZSAmIChSVENfVFJfSFQgfCBSVENfVFJfSFUpKSA+PiAxNlUpOwotICBzVGltZVN0YW1wLT5NaW51dGVzID0gKHVpbnQ4X3QpKCh0bXB0aW1lICYgKFJUQ19UUl9NTlQgfCBSVENfVFJfTU5VKSkgPj4gOFUpOwotICBzVGltZVN0YW1wLT5TZWNvbmRzID0gKHVpbnQ4X3QpKHRtcHRpbWUgJiAoUlRDX1RSX1NUIHwgUlRDX1RSX1NVKSk7Ci0gIHNUaW1lU3RhbXAtPlRpbWVGb3JtYXQgPSAodWludDhfdCkoKHRtcHRpbWUgJiAoUlRDX1RSX1BNKSkgPj4gMTZVKTsKKyAgc1RpbWVTdGFtcC0+SG91cnMgICAgICA9ICh1aW50OF90KSgodG1wdGltZSAmIChSVENfVFNUUl9IVCAgfCBSVENfVFNUUl9IVSkpICA+PiBSVENfVFNUUl9IVV9Qb3MpOworICBzVGltZVN0YW1wLT5NaW51dGVzICAgID0gKHVpbnQ4X3QpKCh0bXB0aW1lICYgKFJUQ19UU1RSX01OVCB8IFJUQ19UU1RSX01OVSkpID4+IFJUQ19UU1RSX01OVV9Qb3MpOworICBzVGltZVN0YW1wLT5TZWNvbmRzICAgID0gKHVpbnQ4X3QpKCh0bXB0aW1lICYgKFJUQ19UU1RSX1NUICB8IFJUQ19UU1RSX1NVKSkgID4+IFJUQ19UU1RSX1NVX1Bvcyk7CisgIHNUaW1lU3RhbXAtPlRpbWVGb3JtYXQgPSAodWludDhfdCkoKHRtcHRpbWUgJiAoUlRDX1RTVFJfUE0pKSAgICAgICAgICAgICAgICAgPj4gUlRDX1RTVFJfUE1fUG9zKTsKICAgc1RpbWVTdGFtcC0+U3ViU2Vjb25kcyA9ICh1aW50MzJfdCkgaHJ0Yy0+SW5zdGFuY2UtPlRTU1NSOwogCiAgIC8qIEZpbGwgdGhlIERhdGUgc3RydWN0dXJlIGZpZWxkcyB3aXRoIHRoZSByZWFkIHBhcmFtZXRlcnMgKi8KLSAgc1RpbWVTdGFtcERhdGUtPlllYXIgPSAwVTsKLSAgc1RpbWVTdGFtcERhdGUtPk1vbnRoID0gKHVpbnQ4X3QpKCh0bXBkYXRlICYgKFJUQ19EUl9NVCB8IFJUQ19EUl9NVSkpID4+IDhVKTsKLSAgc1RpbWVTdGFtcERhdGUtPkRhdGUgPSAodWludDhfdCkodG1wZGF0ZSAmIChSVENfRFJfRFQgfCBSVENfRFJfRFUpKTsKLSAgc1RpbWVTdGFtcERhdGUtPldlZWtEYXkgPSAodWludDhfdCkoKHRtcGRhdGUgJiAoUlRDX0RSX1dEVSkpID4+IDEzVSk7CisgIHNUaW1lU3RhbXBEYXRlLT5ZZWFyICAgID0gMFU7CisgIHNUaW1lU3RhbXBEYXRlLT5Nb250aCAgID0gKHVpbnQ4X3QpKCh0bXBkYXRlICYgKFJUQ19UU0RSX01UIHwgUlRDX1RTRFJfTVUpKSA+PiBSVENfVFNEUl9NVV9Qb3MpOworICBzVGltZVN0YW1wRGF0ZS0+RGF0ZSAgICA9ICh1aW50OF90KSgodG1wZGF0ZSAmIChSVENfVFNEUl9EVCB8IFJUQ19UU0RSX0RVKSkgPj4gUlRDX1RTRFJfRFVfUG9zKTsKKyAgc1RpbWVTdGFtcERhdGUtPldlZWtEYXkgPSAodWludDhfdCkoKHRtcGRhdGUgJiAoUlRDX1RTRFJfV0RVKSkgICAgICAgICAgICAgID4+IFJUQ19UU0RSX1dEVV9Qb3MpOwogCiAgIC8qIENoZWNrIHRoZSBpbnB1dCBwYXJhbWV0ZXJzIGZvcm1hdCAqLwotICBpZihGb3JtYXQgPT0gUlRDX0ZPUk1BVF9CSU4pCisgIGlmIChGb3JtYXQgPT0gUlRDX0ZPUk1BVF9CSU4pCiAgIHsKLSAgICAvKiBDb252ZXJ0IHRoZSBUaW1lU3RhbXAgc3RydWN0dXJlIHBhcmFtZXRlcnMgdG8gQmluYXJ5IGZvcm1hdCAqLwotICAgIHNUaW1lU3RhbXAtPkhvdXJzID0gKHVpbnQ4X3QpUlRDX0JjZDJUb0J5dGUoc1RpbWVTdGFtcC0+SG91cnMpOworICAgIC8qIENvbnZlcnQgdGhlIFRpbWVzdGFtcCBzdHJ1Y3R1cmUgcGFyYW1ldGVycyB0byBCaW5hcnkgZm9ybWF0ICovCisgICAgc1RpbWVTdGFtcC0+SG91cnMgICA9ICh1aW50OF90KVJUQ19CY2QyVG9CeXRlKHNUaW1lU3RhbXAtPkhvdXJzKTsKICAgICBzVGltZVN0YW1wLT5NaW51dGVzID0gKHVpbnQ4X3QpUlRDX0JjZDJUb0J5dGUoc1RpbWVTdGFtcC0+TWludXRlcyk7CiAgICAgc1RpbWVTdGFtcC0+U2Vjb25kcyA9ICh1aW50OF90KVJUQ19CY2QyVG9CeXRlKHNUaW1lU3RhbXAtPlNlY29uZHMpOwogCiAgICAgLyogQ29udmVydCB0aGUgRGF0ZVRpbWVTdGFtcCBzdHJ1Y3R1cmUgcGFyYW1ldGVycyB0byBCaW5hcnkgZm9ybWF0ICovCi0gICAgc1RpbWVTdGFtcERhdGUtPk1vbnRoID0gKHVpbnQ4X3QpUlRDX0JjZDJUb0J5dGUoc1RpbWVTdGFtcERhdGUtPk1vbnRoKTsKLSAgICBzVGltZVN0YW1wRGF0ZS0+RGF0ZSA9ICh1aW50OF90KVJUQ19CY2QyVG9CeXRlKHNUaW1lU3RhbXBEYXRlLT5EYXRlKTsKKyAgICBzVGltZVN0YW1wRGF0ZS0+TW9udGggICA9ICh1aW50OF90KVJUQ19CY2QyVG9CeXRlKHNUaW1lU3RhbXBEYXRlLT5Nb250aCk7CisgICAgc1RpbWVTdGFtcERhdGUtPkRhdGUgICAgPSAodWludDhfdClSVENfQmNkMlRvQnl0ZShzVGltZVN0YW1wRGF0ZS0+RGF0ZSk7CiAgICAgc1RpbWVTdGFtcERhdGUtPldlZWtEYXkgPSAodWludDhfdClSVENfQmNkMlRvQnl0ZShzVGltZVN0YW1wRGF0ZS0+V2Vla0RheSk7CiAgIH0KIAotICAvKiBDbGVhciB0aGUgVElNRVNUQU1QIEZsYWcgKi8KKyAgLyogQ2xlYXIgdGhlIGludGVybmFsIFRpbWVzdGFtcCBGbGFnICovCisgIF9fSEFMX1JUQ19JTlRFUk5BTF9USU1FU1RBTVBfQ0xFQVJfRkxBRyhocnRjLCBSVENfRkxBR19JVFNGKTsKKworICAvKiBDbGVhciB0aGUgVGltZXN0YW1wIEZsYWcgKi8KICAgX19IQUxfUlRDX1RJTUVTVEFNUF9DTEVBUl9GTEFHKGhydGMsIFJUQ19GTEFHX1RTRik7CiAKICAgcmV0dXJuIEhBTF9PSzsKIH0KIAogLyoqCi0gICogQGJyaWVmICBTZXRzIFRhbXBlcgotICAqIEBub3RlICAgQnkgY2FsbGluZyB0aGlzIEFQSSB3ZSBkaXNhYmxlIHRoZSB0YW1wZXIgaW50ZXJydXB0IGZvciBhbGwgdGFtcGVycy4KKyAgKiBAYnJpZWYgIFNldHMgVGFtcGVyLgorICAqIEBub3RlICAgQnkgY2FsbGluZyB0aGlzIEFQSSB0aGUgdGFtcGVyIGdsb2JhbCBpbnRlcnJ1cHQgd2lsbCBiZSBkaXNhYmxlZCBhbmQKKyAgKiAgICAgICAgIHRoZSBzZWxlY3RlZCB0YW1wZXIncyBpbnRlcnJ1cHQgYXMgd2VsbC4KICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcGFyYW0gIHNUYW1wZXIgUG9pbnRlciB0byBUYW1wZXIgU3RydWN0dXJlLgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1NldFRhbXBlcihSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgUlRDX1RhbXBlclR5cGVEZWYqIHNUYW1wZXIpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0VGFtcGVyKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCBSVENfVGFtcGVyVHlwZURlZiAqc1RhbXBlcikKIHsKICAgdWludDMyX3QgdG1wcmVnID0gMFU7CiAKQEAgLTQyMyw2ICs0NjksNyBAQAogICBhc3NlcnRfcGFyYW0oSVNfUlRDX1RBTVBFUl9FUkFTRV9NT0RFKHNUYW1wZXItPk5vRXJhc2UpKTsKICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19UQU1QRVJfTUFTS0ZMQUdfU1RBVEUoc1RhbXBlci0+TWFza0ZsYWcpKTsKICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19UQU1QRVJfRklMVEVSKHNUYW1wZXItPkZpbHRlcikpOworICBhc3NlcnRfcGFyYW0oSVNfUlRDX1RBTVBFUl9GSUxURVJfQ09ORklHX0NPUlJFQ1Qoc1RhbXBlci0+RmlsdGVyLCBzVGFtcGVyLT5UcmlnZ2VyKSk7CiAgIGFzc2VydF9wYXJhbShJU19SVENfVEFNUEVSX1NBTVBMSU5HX0ZSRVEoc1RhbXBlci0+U2FtcGxpbmdGcmVxdWVuY3kpKTsKICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19UQU1QRVJfUFJFQ0hBUkdFX0RVUkFUSU9OKHNUYW1wZXItPlByZWNoYXJnZUR1cmF0aW9uKSk7CiAgIGFzc2VydF9wYXJhbShJU19SVENfVEFNUEVSX1BVTExVUF9TVEFURShzVGFtcGVyLT5UYW1wZXJQdWxsVXApKTsKQEAgLTQzMyw1NyArNDgwLDEyMiBAQAogCiAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9CVVNZOwogCi0gIGlmKHNUYW1wZXItPlRyaWdnZXIgIT0gUlRDX1RBTVBFUlRSSUdHRVJfUklTSU5HRURHRSkKKyAgLyogQ29weSBjb250cm9sIHJlZ2lzdGVyIGludG8gdGVtcG9yYXJ5IHZhcmlhYmxlICovCisgIHRtcHJlZyA9IGhydGMtPkluc3RhbmNlLT5UQU1QQ1I7CisKKyAgLyogRW5hYmxlIHNlbGVjdGVkIHRhbXBlciAqLworICB0bXByZWcgfD0gKHNUYW1wZXItPlRhbXBlcik7CisKKyAgLyogQ29uZmlndXJlIHRoZSB0YW1wZXIgdHJpZ2dlciBiaXQgKHRoaXMgYml0IGlzIGp1c3Qgb24gdGhlIHJpZ2h0IG9mIHRoZQorICAgICAgIHRhbXBlciBlbmFibGUgYml0LCBoZW5jZSB0aGUgb25lLXRpbWUgcmlnaHQgc2hpZnQgYmVmb3JlIHVwZGF0aW5nIGl0KSAqLworICBpZiAoc1RhbXBlci0+VHJpZ2dlciA9PSBSVENfVEFNUEVSVFJJR0dFUl9GQUxMSU5HRURHRSkKICAgewotICAgIHNUYW1wZXItPlRyaWdnZXIgPSAodWludDMyX3QpKHNUYW1wZXItPlRhbXBlciA8PCAxVSk7CisgICAgLyogU2V0IHRoZSB0YW1wZXIgdHJpZ2dlciBiaXQgKGNhc2Ugb2YgZmFsbGluZyBlZGdlIG9yIGhpZ2ggbGV2ZWwpICovCisgICAgdG1wcmVnIHw9ICh1aW50MzJfdCkoc1RhbXBlci0+VGFtcGVyIDw8IDFVKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICAvKiBDbGVhciB0aGUgdGFtcGVyIHRyaWdnZXIgYml0IChjYXNlIG9mIHJpc2luZyBlZGdlIG9yIGxvdyBsZXZlbCkgKi8KKyAgICB0bXByZWcgJj0gKHVpbnQzMl90KX4oc1RhbXBlci0+VGFtcGVyIDw8IDFVKTsKICAgfQogCi0gIGlmKHNUYW1wZXItPk5vRXJhc2UgIT0gUlRDX1RBTVBFUl9FUkFTRV9CQUNLVVBfRU5BQkxFKQorICAvKiBDb25maWd1cmUgdGhlIGJhY2t1cCByZWdpc3RlcnMgZXJhc3VyZSBlbmFibGluZyBiaXRzICovCisgIGlmIChzVGFtcGVyLT5Ob0VyYXNlICE9IFJUQ19UQU1QRVJfRVJBU0VfQkFDS1VQX0VOQUJMRSkKICAgewotICAgIHNUYW1wZXItPk5vRXJhc2UgPSAwOwotICAgIGlmKChzVGFtcGVyLT5UYW1wZXIgJiBSVENfVEFNUEVSXzEpICE9IDBVKQorICAgIGlmICgoc1RhbXBlci0+VGFtcGVyICYgUlRDX1RBTVBFUl8xKSAhPSAwVSkKICAgICB7Ci0gICAgICBzVGFtcGVyLT5Ob0VyYXNlIHw9IFJUQ19UQU1QQ1JfVEFNUDFOT0VSQVNFOworICAgICAgdG1wcmVnIHw9ICh1aW50MzJfdCkoUlRDX1RBTVBDUl9UQU1QMU5PRVJBU0UpOwogICAgIH0KLSAgICBpZigoc1RhbXBlci0+VGFtcGVyICYgUlRDX1RBTVBFUl8yKSAhPSAwVSkKKyAgICBpZiAoKHNUYW1wZXItPlRhbXBlciAmIFJUQ19UQU1QRVJfMikgIT0gMFUpCiAgICAgewotICAgICAgc1RhbXBlci0+Tm9FcmFzZSB8PSBSVENfVEFNUENSX1RBTVAyTk9FUkFTRTsKKyAgICAgIHRtcHJlZyB8PSAodWludDMyX3QpKFJUQ19UQU1QQ1JfVEFNUDJOT0VSQVNFKTsKICAgICB9Ci0gICAgaWYoKHNUYW1wZXItPlRhbXBlciAmIFJUQ19UQU1QRVJfMykgIT0gMFUpCisgICAgaWYgKChzVGFtcGVyLT5UYW1wZXIgJiBSVENfVEFNUEVSXzMpICE9IDBVKQogICAgIHsKLSAgICAgIHNUYW1wZXItPk5vRXJhc2UgfD0gUlRDX1RBTVBDUl9UQU1QM05PRVJBU0U7CisgICAgICB0bXByZWcgfD0gKHVpbnQzMl90KShSVENfVEFNUENSX1RBTVAzTk9FUkFTRSk7CisgICAgfQorICB9CisgIGVsc2UKKyAgeworICAgIGlmICgoc1RhbXBlci0+VGFtcGVyICYgUlRDX1RBTVBFUl8xKSAhPSAwVSkKKyAgICB7CisgICAgICB0bXByZWcgJj0gKHVpbnQzMl90KX4oUlRDX1RBTVBDUl9UQU1QMU5PRVJBU0UpOworICAgIH0KKyAgICBpZiAoKHNUYW1wZXItPlRhbXBlciAmIFJUQ19UQU1QRVJfMikgIT0gMFUpCisgICAgeworICAgICAgdG1wcmVnICY9ICh1aW50MzJfdCl+KFJUQ19UQU1QQ1JfVEFNUDJOT0VSQVNFKTsKKyAgICB9CisgICAgaWYgKChzVGFtcGVyLT5UYW1wZXIgJiBSVENfVEFNUEVSXzMpICE9IDBVKQorICAgIHsKKyAgICAgIHRtcHJlZyAmPSAodWludDMyX3QpfihSVENfVEFNUENSX1RBTVAzTk9FUkFTRSk7CiAgICAgfQogICB9CiAKLSAgaWYoc1RhbXBlci0+TWFza0ZsYWcgIT0gUlRDX1RBTVBFUk1BU0tfRkxBR19ESVNBQkxFKQorICAvKiBDb25maWd1cmUgdGhlIHRhbXBlciBmbGFncyBtYXNraW5nIGJpdHMgKi8KKyAgaWYgKHNUYW1wZXItPk1hc2tGbGFnICE9IFJUQ19UQU1QRVJNQVNLX0ZMQUdfRElTQUJMRSkKICAgewotICAgIHNUYW1wZXItPk1hc2tGbGFnID0gMDsKLSAgICBpZigoc1RhbXBlci0+VGFtcGVyICYgUlRDX1RBTVBFUl8xKSAhPSAwVSkKKyAgICBpZiAoKHNUYW1wZXItPlRhbXBlciAmIFJUQ19UQU1QRVJfMSkgIT0gMFUpCiAgICAgewotICAgICAgc1RhbXBlci0+TWFza0ZsYWcgfD0gUlRDX1RBTVBDUl9UQU1QMU1GOworICAgICAgdG1wcmVnIHw9ICh1aW50MzJfdCkoUlRDX1RBTVBDUl9UQU1QMU1GKTsKICAgICB9Ci0gICAgaWYoKHNUYW1wZXItPlRhbXBlciAmIFJUQ19UQU1QRVJfMikgIT0gMFUpCisgICAgaWYgKChzVGFtcGVyLT5UYW1wZXIgJiBSVENfVEFNUEVSXzIpICE9IDBVKQogICAgIHsKLSAgICAgIHNUYW1wZXItPk1hc2tGbGFnIHw9IFJUQ19UQU1QQ1JfVEFNUDJNRjsKKyAgICAgIHRtcHJlZyB8PSAodWludDMyX3QpKFJUQ19UQU1QQ1JfVEFNUDJNRik7CiAgICAgfQotICAgIGlmKChzVGFtcGVyLT5UYW1wZXIgJiBSVENfVEFNUEVSXzMpICE9IDBVKQorICAgIGlmICgoc1RhbXBlci0+VGFtcGVyICYgUlRDX1RBTVBFUl8zKSAhPSAwVSkKICAgICB7Ci0gICAgICBzVGFtcGVyLT5NYXNrRmxhZyB8PSBSVENfVEFNUENSX1RBTVAzTUY7CisgICAgICB0bXByZWcgfD0gKHVpbnQzMl90KShSVENfVEFNUENSX1RBTVAzTUYpOworICAgIH0KKyAgfQorICBlbHNlCisgIHsKKyAgICBpZiAoKHNUYW1wZXItPlRhbXBlciAmIFJUQ19UQU1QRVJfMSkgIT0gMFUpCisgICAgeworICAgICAgdG1wcmVnICY9ICh1aW50MzJfdCl+KFJUQ19UQU1QQ1JfVEFNUDFNRik7CisgICAgfQorICAgIGlmICgoc1RhbXBlci0+VGFtcGVyICYgUlRDX1RBTVBFUl8yKSAhPSAwVSkKKyAgICB7CisgICAgICB0bXByZWcgJj0gKHVpbnQzMl90KX4oUlRDX1RBTVBDUl9UQU1QMk1GKTsKKyAgICB9CisgICAgaWYgKChzVGFtcGVyLT5UYW1wZXIgJiBSVENfVEFNUEVSXzMpICE9IDBVKQorICAgIHsKKyAgICAgIHRtcHJlZyAmPSAodWludDMyX3QpfihSVENfVEFNUENSX1RBTVAzTUYpOwogICAgIH0KICAgfQogCi0gIHRtcHJlZyA9ICgodWludDMyX3Qpc1RhbXBlci0+VGFtcGVyIHwgKHVpbnQzMl90KXNUYW1wZXItPlRyaWdnZXIgIHwgKHVpbnQzMl90KXNUYW1wZXItPk5vRXJhc2UgfFwKLSAgICAgICAgICAgICh1aW50MzJfdClzVGFtcGVyLT5NYXNrRmxhZyB8ICh1aW50MzJfdClzVGFtcGVyLT5GaWx0ZXIgfCAodWludDMyX3Qpc1RhbXBlci0+U2FtcGxpbmdGcmVxdWVuY3kgfFwKLSAgICAgICAgICAgICh1aW50MzJfdClzVGFtcGVyLT5QcmVjaGFyZ2VEdXJhdGlvbiB8ICh1aW50MzJfdClzVGFtcGVyLT5UYW1wZXJQdWxsVXAgfCBzVGFtcGVyLT5UaW1lU3RhbXBPblRhbXBlckRldGVjdGlvbik7CisgIC8qIENsZWFyIHJlbWFpbmluZyBmaWVsZHMgYmVmb3JlIHNldHRpbmcgdGhlbSAqLworICB0bXByZWcgJj0gfihSVENfVEFNUEVSRklMVEVSX01BU0sgICAgICAgICAgICAgIHwgXAorICAgICAgICAgICAgICBSVENfVEFNUEVSU0FNUExJTkdGUkVRX1JUQ0NMS19NQVNLIHwgXAorICAgICAgICAgICAgICBSVENfVEFNUEVSUFJFQ0hBUkdFRFVSQVRJT05fTUFTSyAgIHwgXAorICAgICAgICAgICAgICBSVENfVEFNUEVSX1BVTExVUF9NQVNLICAgICAgICAgICAgIHwgXAorICAgICAgICAgICAgICBSVENfVElNRVNUQU1QT05UQU1QRVJERVRFQ1RJT05fTUFTSyk7CiAKLSAgaHJ0Yy0+SW5zdGFuY2UtPlRBTVBDUiAmPSAodWludDMyX3QpfigodWludDMyX3Qpc1RhbXBlci0+VGFtcGVyIHwgKHVpbnQzMl90KShzVGFtcGVyLT5UYW1wZXIgPDwgMSkgfCAodWludDMyX3QpUlRDX1RBTVBDUl9UQU1QVFMgfFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdClSVENfVEFNUENSX1RBTVBGUkVRIHwgKHVpbnQzMl90KVJUQ19UQU1QQ1JfVEFNUEZMVCB8ICh1aW50MzJfdClSVENfVEFNUENSX1RBTVBQUkNIIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3QpUlRDX1RBTVBDUl9UQU1QUFVESVMgfCAodWludDMyX3QpUlRDX1RBTVBDUl9UQU1QSUUgfCAodWludDMyX3QpUlRDX1RBTVBDUl9UQU1QMUlFIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3QpUlRDX1RBTVBDUl9UQU1QMklFIHwgKHVpbnQzMl90KVJUQ19UQU1QQ1JfVEFNUDNJRSB8ICh1aW50MzJfdClSVENfVEFNUENSX1RBTVAxTk9FUkFTRSB8XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQzMl90KVJUQ19UQU1QQ1JfVEFNUDJOT0VSQVNFIHwgKHVpbnQzMl90KVJUQ19UQU1QQ1JfVEFNUDNOT0VSQVNFIHwgKHVpbnQzMl90KVJUQ19UQU1QQ1JfVEFNUDFNRiB8XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQzMl90KVJUQ19UQU1QQ1JfVEFNUDJNRiB8ICh1aW50MzJfdClSVENfVEFNUENSX1RBTVAzTUYpOworICAvKiBTZXQgcmVtYWluaW5nIHBhcmFtZXRlcnMgb2YgZGVzaXJlZCBjb25maWd1cmF0aW9uIGludG8gdGVtcG9yYXJ5IHZhcmlhYmxlICovCisgIHRtcHJlZyB8PSAoKHVpbnQzMl90KXNUYW1wZXItPkZpbHRlciAgICAgICAgICAgIHwgXAorICAgICAgICAgICAgICh1aW50MzJfdClzVGFtcGVyLT5TYW1wbGluZ0ZyZXF1ZW5jeSB8IFwKKyAgICAgICAgICAgICAodWludDMyX3Qpc1RhbXBlci0+UHJlY2hhcmdlRHVyYXRpb24gfCBcCisgICAgICAgICAgICAgKHVpbnQzMl90KXNUYW1wZXItPlRhbXBlclB1bGxVcCAgICAgIHwgXAorICAgICAgICAgICAgICh1aW50MzJfdClzVGFtcGVyLT5UaW1lU3RhbXBPblRhbXBlckRldGVjdGlvbik7CiAKLSAgaHJ0Yy0+SW5zdGFuY2UtPlRBTVBDUiB8PSB0bXByZWc7CisgIC8qIERpc2FibGUgaW50ZXJydXB0IG9uIHNlbGVjdGVkIHRhbXBlciBpbiBjYXNlIGl0IGlzIGVuYWJsZWQgKi8KKyAgaWYgKChzVGFtcGVyLT5UYW1wZXIgJiBSVENfVEFNUEVSXzEpICE9IDBVKQorICB7CisgICAgdG1wcmVnICY9ICh1aW50MzJfdCl+UlRDX0lUX1RBTVAxOworICB9CisgIGlmICgoc1RhbXBlci0+VGFtcGVyICYgUlRDX1RBTVBFUl8yKSAhPSAwVSkKKyAgeworICAgIHRtcHJlZyAmPSAodWludDMyX3QpflJUQ19JVF9UQU1QMjsKKyAgfQorICBpZiAoKHNUYW1wZXItPlRhbXBlciAmIFJUQ19UQU1QRVJfMykgIT0gMFUpCisgIHsKKyAgICB0bXByZWcgJj0gKHVpbnQzMl90KX5SVENfSVRfVEFNUDM7CisgIH0KKworICAvKiBEaXNhYmxlIHRhbXBlciBnbG9iYWwgaW50ZXJydXB0IGluIGNhc2UgaXQgaXMgZW5hYmxlZCAqLworICB0bXByZWcgJj0gKHVpbnQzMl90KX5SVENfVEFNUENSX1RBTVBJRTsKKworICAvKiBDb3B5IGRlc2lyZWQgY29uZmlndXJhdGlvbiBpbnRvIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgKi8KKyAgaHJ0Yy0+SW5zdGFuY2UtPlRBTVBDUiA9IHRtcHJlZzsKIAogICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfUkVBRFk7CiAKQEAgLTQ5NSwxNSArNjA3LDE2IEBACiAKIC8qKgogICAqIEBicmllZiAgU2V0cyBUYW1wZXIgd2l0aCBpbnRlcnJ1cHQuCi0gICogQG5vdGUgICBCeSBjYWxsaW5nIHRoaXMgQVBJIHdlIGZvcmNlIHRoZSB0YW1wZXIgaW50ZXJydXB0IGZvciBhbGwgdGFtcGVycy4KKyAgKiBAbm90ZSAgIEJ5IHNldHRpbmcgdGhlIHRhbXBlciBnbG9iYWwgaW50ZXJydXB0IGJpdCwgaW50ZXJydXB0cyB3aWxsIGJlCisgICogICAgICAgICBlbmFibGVkIGZvciBhbGwgdGFtcGVycy4KICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcGFyYW0gIHNUYW1wZXIgUG9pbnRlciB0byBSVEMgVGFtcGVyLgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1NldFRhbXBlcl9JVChSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgUlRDX1RhbXBlclR5cGVEZWYqIHNUYW1wZXIpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0VGFtcGVyX0lUKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCBSVENfVGFtcGVyVHlwZURlZiAqc1RhbXBlcikKIHsKLSAgdWludDMyX3QgdG1wcmVnID0gMDsKKyAgdWludDMyX3QgdG1wcmVnID0gMFU7CiAKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19UQU1QRVIoc1RhbXBlci0+VGFtcGVyKSk7CkBAIC01MTIsNiArNjI1LDcgQEAKICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19UQU1QRVJfRVJBU0VfTU9ERShzVGFtcGVyLT5Ob0VyYXNlKSk7CiAgIGFzc2VydF9wYXJhbShJU19SVENfVEFNUEVSX01BU0tGTEFHX1NUQVRFKHNUYW1wZXItPk1hc2tGbGFnKSk7CiAgIGFzc2VydF9wYXJhbShJU19SVENfVEFNUEVSX0ZJTFRFUihzVGFtcGVyLT5GaWx0ZXIpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX1JUQ19UQU1QRVJfRklMVEVSX0NPTkZJR19DT1JSRUNUKHNUYW1wZXItPkZpbHRlciwgc1RhbXBlci0+VHJpZ2dlcikpOwogICBhc3NlcnRfcGFyYW0oSVNfUlRDX1RBTVBFUl9TQU1QTElOR19GUkVRKHNUYW1wZXItPlNhbXBsaW5nRnJlcXVlbmN5KSk7CiAgIGFzc2VydF9wYXJhbShJU19SVENfVEFNUEVSX1BSRUNIQVJHRV9EVVJBVElPTihzVGFtcGVyLT5QcmVjaGFyZ2VEdXJhdGlvbikpOwogICBhc3NlcnRfcGFyYW0oSVNfUlRDX1RBTVBFUl9QVUxMVVBfU1RBVEUoc1RhbXBlci0+VGFtcGVyUHVsbFVwKSk7CkBAIC01MjIsNzkgKzYzNiwxMTIgQEAKIAogICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfQlVTWTsKIAotICAvKiBDb25maWd1cmUgdGhlIHRhbXBlciB0cmlnZ2VyICovCi0gIGlmKHNUYW1wZXItPlRyaWdnZXIgIT0gUlRDX1RBTVBFUlRSSUdHRVJfUklTSU5HRURHRSkKKyAgLyogQ29weSBjb250cm9sIHJlZ2lzdGVyIGludG8gdGVtcG9yYXJ5IHZhcmlhYmxlICovCisgIHRtcHJlZyA9IGhydGMtPkluc3RhbmNlLT5UQU1QQ1I7CisKKyAgLyogRW5hYmxlIHNlbGVjdGVkIHRhbXBlciAqLworICB0bXByZWcgfD0gKHNUYW1wZXItPlRhbXBlcik7CisKKyAgLyogQ29uZmlndXJlIHRoZSB0YW1wZXIgdHJpZ2dlciBiaXQgKHRoaXMgYml0IGlzIGp1c3Qgb24gdGhlIHJpZ2h0IG9mIHRoZQorICAgICAgIHRhbXBlciBlbmFibGUgYml0LCBoZW5jZSB0aGUgb25lLXRpbWUgcmlnaHQgc2hpZnQgYmVmb3JlIHVwZGF0aW5nIGl0KSAqLworICBpZiAoc1RhbXBlci0+VHJpZ2dlciA9PSBSVENfVEFNUEVSVFJJR0dFUl9GQUxMSU5HRURHRSkKICAgewotICAgIHNUYW1wZXItPlRyaWdnZXIgPSAodWludDMyX3QpKHNUYW1wZXItPlRhbXBlciA8PCAxKTsKLSAgfQotCi0gIGlmKHNUYW1wZXItPk5vRXJhc2UgIT0gUlRDX1RBTVBFUl9FUkFTRV9CQUNLVVBfRU5BQkxFKQotICB7Ci0gICAgc1RhbXBlci0+Tm9FcmFzZSA9IDA7Ci0gICAgaWYoKHNUYW1wZXItPlRhbXBlciAmIFJUQ19UQU1QRVJfMSkgIT0gMCkKLSAgICB7Ci0gICAgICBzVGFtcGVyLT5Ob0VyYXNlIHw9IFJUQ19UQU1QQ1JfVEFNUDFOT0VSQVNFOwotICAgIH0KLSAgICBpZigoc1RhbXBlci0+VGFtcGVyICYgUlRDX1RBTVBFUl8yKSAhPSAwKQotICAgIHsKLSAgICAgIHNUYW1wZXItPk5vRXJhc2UgfD0gUlRDX1RBTVBDUl9UQU1QMk5PRVJBU0U7Ci0gICAgfQotICAgIGlmKChzVGFtcGVyLT5UYW1wZXIgJiBSVENfVEFNUEVSXzMpICE9IDApCi0gICAgewotICAgICAgc1RhbXBlci0+Tm9FcmFzZSB8PSBSVENfVEFNUENSX1RBTVAzTk9FUkFTRTsKLSAgICB9Ci0gIH0KLQotICBpZihzVGFtcGVyLT5NYXNrRmxhZyAhPSBSVENfVEFNUEVSTUFTS19GTEFHX0RJU0FCTEUpCi0gIHsKLSAgICBzVGFtcGVyLT5NYXNrRmxhZyA9IDA7Ci0gICAgaWYoKHNUYW1wZXItPlRhbXBlciAmIFJUQ19UQU1QRVJfMSkgIT0gMCkKLSAgICB7Ci0gICAgICBzVGFtcGVyLT5NYXNrRmxhZyB8PSBSVENfVEFNUENSX1RBTVAxTUY7Ci0gICAgfQotICAgIGlmKChzVGFtcGVyLT5UYW1wZXIgJiBSVENfVEFNUEVSXzIpICE9IDApCi0gICAgewotICAgICAgc1RhbXBlci0+TWFza0ZsYWcgfD0gUlRDX1RBTVBDUl9UQU1QMk1GOwotICAgIH0KLSAgICBpZigoc1RhbXBlci0+VGFtcGVyICYgUlRDX1RBTVBFUl8zKSAhPSAwKQotICAgIHsKLSAgICAgIHNUYW1wZXItPk1hc2tGbGFnIHw9IFJUQ19UQU1QQ1JfVEFNUDNNRjsKLSAgICB9Ci0gIH0KLQotICB0bXByZWcgPSAoKHVpbnQzMl90KXNUYW1wZXItPlRhbXBlciB8ICh1aW50MzJfdClzVGFtcGVyLT5JbnRlcnJ1cHQgfCAodWludDMyX3Qpc1RhbXBlci0+VHJpZ2dlciAgfCAodWludDMyX3Qpc1RhbXBlci0+Tm9FcmFzZSB8XAotICAgICAgICAgICAgKHVpbnQzMl90KXNUYW1wZXItPk1hc2tGbGFnIHwgKHVpbnQzMl90KXNUYW1wZXItPkZpbHRlciB8ICh1aW50MzJfdClzVGFtcGVyLT5TYW1wbGluZ0ZyZXF1ZW5jeSB8XAotICAgICAgICAgICAgKHVpbnQzMl90KXNUYW1wZXItPlByZWNoYXJnZUR1cmF0aW9uIHwgKHVpbnQzMl90KXNUYW1wZXItPlRhbXBlclB1bGxVcCB8IHNUYW1wZXItPlRpbWVTdGFtcE9uVGFtcGVyRGV0ZWN0aW9uKTsKLQotICBocnRjLT5JbnN0YW5jZS0+VEFNUENSICY9ICh1aW50MzJfdCl+KCh1aW50MzJfdClzVGFtcGVyLT5UYW1wZXIgfCAodWludDMyX3QpKHNUYW1wZXItPlRhbXBlciA8PCAxKSB8ICh1aW50MzJfdClSVENfVEFNUENSX1RBTVBUUyB8XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQzMl90KVJUQ19UQU1QQ1JfVEFNUEZSRVEgfCAodWludDMyX3QpUlRDX1RBTVBDUl9UQU1QRkxUIHwgKHVpbnQzMl90KVJUQ19UQU1QQ1JfVEFNUFBSQ0ggfFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdClSVENfVEFNUENSX1RBTVBQVURJUyB8ICh1aW50MzJfdClSVENfVEFNUENSX1RBTVBJRSB8ICh1aW50MzJfdClSVENfVEFNUENSX1RBTVAxSUUgfFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdClSVENfVEFNUENSX1RBTVAySUUgfCAodWludDMyX3QpUlRDX1RBTVBDUl9UQU1QM0lFIHwgKHVpbnQzMl90KVJUQ19UQU1QQ1JfVEFNUDFOT0VSQVNFIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3QpUlRDX1RBTVBDUl9UQU1QMk5PRVJBU0UgfCAodWludDMyX3QpUlRDX1RBTVBDUl9UQU1QM05PRVJBU0UgfCAodWludDMyX3QpUlRDX1RBTVBDUl9UQU1QMU1GIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3QpUlRDX1RBTVBDUl9UQU1QMk1GIHwgKHVpbnQzMl90KVJUQ19UQU1QQ1JfVEFNUDNNRik7Ci0KLSAgaHJ0Yy0+SW5zdGFuY2UtPlRBTVBDUiB8PSB0bXByZWc7Ci0KLSAgaWYoc1RhbXBlci0+VGFtcGVyID09IFJUQ19UQU1QRVJfMSkKLSAgewotICAgIC8qIENsZWFyIFJUQyBUYW1wZXIgMSBmbGFnICovCi0gICAgX19IQUxfUlRDX1RBTVBFUl9DTEVBUl9GTEFHKGhydGMsIFJUQ19GTEFHX1RBTVAxRik7Ci0gIH0KLSAgZWxzZSBpZihzVGFtcGVyLT5UYW1wZXIgPT0gUlRDX1RBTVBFUl8yKQotICB7Ci0gICAgLyogQ2xlYXIgUlRDIFRhbXBlciAyIGZsYWcgKi8KLSAgICBfX0hBTF9SVENfVEFNUEVSX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVEFNUDJGKTsKKyAgICAvKiBTZXQgdGhlIHRhbXBlciB0cmlnZ2VyIGJpdCAoY2FzZSBvZiBmYWxsaW5nIGVkZ2Ugb3IgaGlnaCBsZXZlbCkgKi8KKyAgICB0bXByZWcgfD0gKHVpbnQzMl90KShzVGFtcGVyLT5UYW1wZXIgPDwgMVUpOwogICB9CiAgIGVsc2UKICAgewotICAgIC8qIENsZWFyIFJUQyBUYW1wZXIgMyBmbGFnICovCi0gICAgX19IQUxfUlRDX1RBTVBFUl9DTEVBUl9GTEFHKGhydGMsIFJUQ19GTEFHX1RBTVAzRik7CisgICAgLyogQ2xlYXIgdGhlIHRhbXBlciB0cmlnZ2VyIGJpdCAoY2FzZSBvZiByaXNpbmcgZWRnZSBvciBsb3cgbGV2ZWwpICovCisgICAgdG1wcmVnICY9ICh1aW50MzJfdCl+KHNUYW1wZXItPlRhbXBlciA8PCAxVSk7CiAgIH0KIAorICAvKiBDb25maWd1cmUgdGhlIGJhY2t1cCByZWdpc3RlcnMgZXJhc3VyZSBlbmFibGluZyBiaXRzICovCisgIGlmIChzVGFtcGVyLT5Ob0VyYXNlICE9IFJUQ19UQU1QRVJfRVJBU0VfQkFDS1VQX0VOQUJMRSkKKyAgeworICAgIGlmICgoc1RhbXBlci0+VGFtcGVyICYgUlRDX1RBTVBFUl8xKSAhPSAwVSkKKyAgICB7CisgICAgICB0bXByZWcgfD0gKHVpbnQzMl90KShSVENfVEFNUENSX1RBTVAxTk9FUkFTRSk7CisgICAgfQorICAgIGlmICgoc1RhbXBlci0+VGFtcGVyICYgUlRDX1RBTVBFUl8yKSAhPSAwVSkKKyAgICB7CisgICAgICB0bXByZWcgfD0gKHVpbnQzMl90KShSVENfVEFNUENSX1RBTVAyTk9FUkFTRSk7CisgICAgfQorICAgIGlmICgoc1RhbXBlci0+VGFtcGVyICYgUlRDX1RBTVBFUl8zKSAhPSAwVSkKKyAgICB7CisgICAgICB0bXByZWcgfD0gKHVpbnQzMl90KShSVENfVEFNUENSX1RBTVAzTk9FUkFTRSk7CisgICAgfQorICB9CisgIGVsc2UKKyAgeworICAgIGlmICgoc1RhbXBlci0+VGFtcGVyICYgUlRDX1RBTVBFUl8xKSAhPSAwVSkKKyAgICB7CisgICAgICB0bXByZWcgJj0gKHVpbnQzMl90KX4oUlRDX1RBTVBDUl9UQU1QMU5PRVJBU0UpOworICAgIH0KKyAgICBpZiAoKHNUYW1wZXItPlRhbXBlciAmIFJUQ19UQU1QRVJfMikgIT0gMFUpCisgICAgeworICAgICAgdG1wcmVnICY9ICh1aW50MzJfdCl+KFJUQ19UQU1QQ1JfVEFNUDJOT0VSQVNFKTsKKyAgICB9CisgICAgaWYgKChzVGFtcGVyLT5UYW1wZXIgJiBSVENfVEFNUEVSXzMpICE9IDBVKQorICAgIHsKKyAgICAgIHRtcHJlZyAmPSAodWludDMyX3QpfihSVENfVEFNUENSX1RBTVAzTk9FUkFTRSk7CisgICAgfQorICB9CisKKyAgLyogQ29uZmlndXJlIHRoZSB0YW1wZXIgZmxhZ3MgbWFza2luZyBiaXRzICovCisgIGlmIChzVGFtcGVyLT5NYXNrRmxhZyAhPSBSVENfVEFNUEVSTUFTS19GTEFHX0RJU0FCTEUpCisgIHsKKyAgICBpZiAoKHNUYW1wZXItPlRhbXBlciAmIFJUQ19UQU1QRVJfMSkgIT0gMFUpCisgICAgeworICAgICAgdG1wcmVnIHw9ICh1aW50MzJfdCkoUlRDX1RBTVBDUl9UQU1QMU1GKTsKKyAgICB9CisgICAgaWYgKChzVGFtcGVyLT5UYW1wZXIgJiBSVENfVEFNUEVSXzIpICE9IDBVKQorICAgIHsKKyAgICAgIHRtcHJlZyB8PSAodWludDMyX3QpKFJUQ19UQU1QQ1JfVEFNUDJNRik7CisgICAgfQorICAgIGlmICgoc1RhbXBlci0+VGFtcGVyICYgUlRDX1RBTVBFUl8zKSAhPSAwVSkKKyAgICB7CisgICAgICB0bXByZWcgfD0gKHVpbnQzMl90KShSVENfVEFNUENSX1RBTVAzTUYpOworICAgIH0KKyAgfQorICBlbHNlCisgIHsKKyAgICBpZiAoKHNUYW1wZXItPlRhbXBlciAmIFJUQ19UQU1QRVJfMSkgIT0gMFUpCisgICAgeworICAgICAgdG1wcmVnICY9ICh1aW50MzJfdCl+KFJUQ19UQU1QQ1JfVEFNUDFNRik7CisgICAgfQorICAgIGlmICgoc1RhbXBlci0+VGFtcGVyICYgUlRDX1RBTVBFUl8yKSAhPSAwVSkKKyAgICB7CisgICAgICB0bXByZWcgJj0gKHVpbnQzMl90KX4oUlRDX1RBTVBDUl9UQU1QMk1GKTsKKyAgICB9CisgICAgaWYgKChzVGFtcGVyLT5UYW1wZXIgJiBSVENfVEFNUEVSXzMpICE9IDBVKQorICAgIHsKKyAgICAgIHRtcHJlZyAmPSAodWludDMyX3QpfihSVENfVEFNUENSX1RBTVAzTUYpOworICAgIH0KKyAgfQorCisgIC8qIENsZWFyIHJlbWFpbmluZyBmaWVsZHMgYmVmb3JlIHNldHRpbmcgdGhlbSAqLworICB0bXByZWcgJj0gfihSVENfVEFNUEVSRklMVEVSX01BU0sgICAgICAgICAgICAgIHwgXAorICAgICAgICAgICAgICBSVENfVEFNUEVSU0FNUExJTkdGUkVRX1JUQ0NMS19NQVNLIHwgXAorICAgICAgICAgICAgICBSVENfVEFNUEVSUFJFQ0hBUkdFRFVSQVRJT05fTUFTSyAgIHwgXAorICAgICAgICAgICAgICBSVENfVEFNUEVSX1BVTExVUF9NQVNLICAgICAgICAgICAgIHwgXAorICAgICAgICAgICAgICBSVENfVElNRVNUQU1QT05UQU1QRVJERVRFQ1RJT05fTUFTSyk7CisKKyAgLyogU2V0IHJlbWFpbmluZyBwYXJhbWV0ZXJzIG9mIGRlc2lyZWQgY29uZmlndXJhdGlvbiBpbnRvIHRlbXBvcmFyeSB2YXJpYWJsZSAqLworICB0bXByZWcgfD0gKCh1aW50MzJfdClzVGFtcGVyLT5GaWx0ZXIgICAgICAgICAgICB8IFwKKyAgICAgICAgICAgICAodWludDMyX3Qpc1RhbXBlci0+U2FtcGxpbmdGcmVxdWVuY3kgfCBcCisgICAgICAgICAgICAgKHVpbnQzMl90KXNUYW1wZXItPlByZWNoYXJnZUR1cmF0aW9uIHwgXAorICAgICAgICAgICAgICh1aW50MzJfdClzVGFtcGVyLT5UYW1wZXJQdWxsVXAgICAgICB8IFwKKyAgICAgICAgICAgICAodWludDMyX3Qpc1RhbXBlci0+VGltZVN0YW1wT25UYW1wZXJEZXRlY3Rpb24pOworCisgIC8qIEVuYWJsZSBpbnRlcnJ1cHQgb24gc2VsZWN0ZWQgdGFtcGVyICovCisgIHRtcHJlZyB8PSAodWludDMyX3Qpc1RhbXBlci0+SW50ZXJydXB0OworCisgIC8qIENvcHkgZGVzaXJlZCBjb25maWd1cmF0aW9uIGludG8gY29uZmlndXJhdGlvbiByZWdpc3RlciAqLworICBocnRjLT5JbnN0YW5jZS0+VEFNUENSID0gdG1wcmVnOworCiAgIC8qIFJUQyBUYW1wZXIgSW50ZXJydXB0IENvbmZpZ3VyYXRpb246IEVYVEkgY29uZmlndXJhdGlvbiAqLwogICBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0VOQUJMRV9JVCgpOwotCi0gIEVYVEktPlJUU1IgfD0gUlRDX0VYVElfTElORV9UQU1QRVJfVElNRVNUQU1QX0VWRU5UOworICBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0VOQUJMRV9SSVNJTkdfRURHRSgpOwogCiAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9SRUFEWTsKIApAQCAtNjA2LDEwICs3NTMsMTQgQEAKIAogLyoqCiAgICogQGJyaWVmICBEZWFjdGl2YXRlcyBUYW1wZXIuCisgICogQG5vdGUgICBCeSBjYWxsaW5nIHRoaXMgQVBJIHRoZSB0YW1wZXIgZ2xvYmFsIGludGVycnVwdCB3aWxsIGJlIGRpc2FibGVkLgogICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgogICAqIEBwYXJhbSAgVGFtcGVyIFNlbGVjdGVkIHRhbXBlciBwaW4uCi0gICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIFJUQ19UYW1wZXJfMSBhbmQvb3IgUlRDX1RBTVBFUl8yLgorICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisgICogICAgICAgICAgICBAYXJnIFJUQ19UQU1QRVJfMTogIFRhbXBlciAxCisgICogICAgICAgICAgICBAYXJnIFJUQ19UQU1QRVJfMjogIFRhbXBlciAyCisgICogICAgICAgICAgICBAYXJnIFJUQ19UQU1QRVJfMzogIFRhbXBlciAzCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfRGVhY3RpdmF0ZVRhbXBlcihSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgVGFtcGVyKQpAQCAtNjIxLDIyICs3NzIsMjIgQEAKIAogICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfQlVTWTsKIAotLyogRGlzYWJsZSB0aGUgc2VsZWN0ZWQgVGFtcGVyIHBpbiAqLworICAvKiBEaXNhYmxlIHRoZSBzZWxlY3RlZCBUYW1wZXIgcGluICovCiAgIGhydGMtPkluc3RhbmNlLT5UQU1QQ1IgJj0gKHVpbnQzMl90KX5UYW1wZXI7CiAKLSAgaWYgKChUYW1wZXIgJiBSVENfVEFNUEVSXzEpICE9IDApCisgIGlmICgoVGFtcGVyICYgUlRDX1RBTVBFUl8xKSAhPSAwVSkKICAgewotICAgIC8qIERpc2FibGUgdGhlIFRhbXBlcjEgaW50ZXJydXB0ICovCisgICAgLyogRGlzYWJsZSB0aGUgVGFtcGVyIDEgaW50ZXJydXB0ICovCiAgICAgaHJ0Yy0+SW5zdGFuY2UtPlRBTVBDUiAmPSAodWludDMyX3QpfihSVENfSVRfVEFNUCB8IFJUQ19JVF9UQU1QMSk7CiAgIH0KLSAgaWYgKChUYW1wZXIgJiBSVENfVEFNUEVSXzIpICE9IDApCisgIGlmICgoVGFtcGVyICYgUlRDX1RBTVBFUl8yKSAhPSAwVSkKICAgewotICAgIC8qIERpc2FibGUgdGhlIFRhbXBlcjIgaW50ZXJydXB0ICovCisgICAgLyogRGlzYWJsZSB0aGUgVGFtcGVyIDIgaW50ZXJydXB0ICovCiAgICAgaHJ0Yy0+SW5zdGFuY2UtPlRBTVBDUiAmPSAodWludDMyX3QpfihSVENfSVRfVEFNUCB8IFJUQ19JVF9UQU1QMik7CiAgIH0KLSAgaWYgKChUYW1wZXIgJiBSVENfVEFNUEVSXzMpICE9IDApCisgIGlmICgoVGFtcGVyICYgUlRDX1RBTVBFUl8zKSAhPSAwVSkKICAgewotICAgIC8qIERpc2FibGUgdGhlIFRhbXBlcjIgaW50ZXJydXB0ICovCisgICAgLyogRGlzYWJsZSB0aGUgVGFtcGVyIDMgaW50ZXJydXB0ICovCiAgICAgaHJ0Yy0+SW5zdGFuY2UtPlRBTVBDUiAmPSAodWludDMyX3QpfihSVENfSVRfVEFNUCB8IFJUQ19JVF9UQU1QMyk7CiAgIH0KIApAQCAtNjQ5LDk0ICs4MDAsOTUgQEAKIH0KIAogLyoqCi0gICogQGJyaWVmICBUaGlzIGZ1bmN0aW9uIGhhbmRsZXMgVGltZVN0YW1wIGludGVycnVwdCByZXF1ZXN0LgorICAqIEBicmllZiAgSGFuZGxlcyBUaW1lc3RhbXAgYW5kIFRhbXBlciBpbnRlcnJ1cHQgcmVxdWVzdC4KICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIHZvaWQgSEFMX1JUQ0V4X1RhbXBlclRpbWVTdGFtcElSUUhhbmRsZXIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpCiB7Ci0gIC8qIEdldCB0aGUgVGltZVN0YW1wIGludGVycnVwdCBzb3VyY2UgZW5hYmxlIHN0YXR1cyAqLwotICBpZihfX0hBTF9SVENfVElNRVNUQU1QX0dFVF9JVF9TT1VSQ0UoaHJ0YywgUlRDX0lUX1RTKSAhPSAodWludDMyX3QpUkVTRVQpCisgIC8qIENsZWFyIHRoZSBFWFRJJ3MgRmxhZyBmb3IgUlRDIFRpbWVzdGFtcCBhbmQgVGFtcGVyICovCisgIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfQ0xFQVJfRkxBRygpOworCisgIC8qIEdldCB0aGUgVGltZXN0YW1wIGludGVycnVwdCBzb3VyY2UgZW5hYmxlIHN0YXR1cyAqLworICBpZiAoX19IQUxfUlRDX1RJTUVTVEFNUF9HRVRfSVRfU09VUkNFKGhydGMsIFJUQ19JVF9UUykgIT0gMFUpCiAgIHsKLSAgICAvKiBHZXQgdGhlIHBlbmRpbmcgc3RhdHVzIG9mIHRoZSBUSU1FU1RBTVAgSW50ZXJydXB0ICovCi0gICAgaWYoX19IQUxfUlRDX1RJTUVTVEFNUF9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19UU0YpICE9ICh1aW50MzJfdClSRVNFVCkKKyAgICAvKiBHZXQgdGhlIHBlbmRpbmcgc3RhdHVzIG9mIHRoZSBUaW1lc3RhbXAgSW50ZXJydXB0ICovCisgICAgaWYgKF9fSEFMX1JUQ19USU1FU1RBTVBfR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVFNGKSAhPSAwVSkKICAgICB7Ci0gICAgICAvKiBUSU1FU1RBTVAgY2FsbGJhY2sgKi8KKyAgICAgIC8qIFRpbWVzdGFtcCBjYWxsYmFjayAqLwogI2lmIChVU0VfSEFMX1JUQ19SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKICAgICAgIGhydGMtPlRpbWVTdGFtcEV2ZW50Q2FsbGJhY2soaHJ0Yyk7CiAjZWxzZQogICAgICAgSEFMX1JUQ0V4X1RpbWVTdGFtcEV2ZW50Q2FsbGJhY2soaHJ0Yyk7CiAjZW5kaWYgLyogVVNFX0hBTF9SVENfUkVHSVNURVJfQ0FMTEJBQ0tTICovCiAKLSAgICAgIC8qIENsZWFyIHRoZSBUSU1FU1RBTVAgaW50ZXJydXB0IHBlbmRpbmcgYml0ICovCi0gICAgICBfX0hBTF9SVENfVElNRVNUQU1QX0NMRUFSX0ZMQUcoaHJ0YyxSVENfRkxBR19UU0YpOworICAgICAgLyogQ2xlYXIgdGhlIFRpbWVzdGFtcCBpbnRlcnJ1cHQgcGVuZGluZyBiaXQgYWZ0ZXIgcmV0dXJuaW5nIGZyb20gY2FsbGJhY2sKKyAgICAgICAgIGFzIFJUQ19UU1RSIGFuZCBSVENfVFNEUiByZWdpc3RlcnMgYXJlIGNsZWFyZWQgd2hlbiBUU0YgYml0IGlzIHJlc2V0ICovCisgICAgICBfX0hBTF9SVENfVElNRVNUQU1QX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVFNGKTsKICAgICB9CiAgIH0KIAotICAvKiBHZXQgdGhlIFRhbXBlcjEgaW50ZXJydXB0IHNvdXJjZSBlbmFibGUgc3RhdHVzICovCi0gIGlmKF9fSEFMX1JUQ19UQU1QRVJfR0VUX0lUX1NPVVJDRShocnRjLCBSVENfSVRfVEFNUCB8IFJUQ19JVF9UQU1QMSkgIT0gKHVpbnQzMl90KVJFU0VUKQorICAvKiBHZXQgdGhlIFRhbXBlciAxIGludGVycnVwdCBzb3VyY2UgZW5hYmxlIHN0YXR1cyAqLworICBpZiAoX19IQUxfUlRDX1RBTVBFUl9HRVRfSVRfU09VUkNFKGhydGMsIFJUQ19JVF9UQU1QIHwgUlRDX0lUX1RBTVAxKSAhPSAwVSkKICAgewotICAgIC8qIEdldCB0aGUgcGVuZGluZyBzdGF0dXMgb2YgdGhlIFRhbXBlcjEgSW50ZXJydXB0ICovCi0gICAgaWYoX19IQUxfUlRDX1RBTVBFUl9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19UQU1QMUYpICE9ICh1aW50MzJfdClSRVNFVCkKKyAgICAvKiBHZXQgdGhlIHBlbmRpbmcgc3RhdHVzIG9mIHRoZSBUYW1wZXIgMSBJbnRlcnJ1cHQgKi8KKyAgICBpZiAoX19IQUxfUlRDX1RBTVBFUl9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19UQU1QMUYpICE9IDBVKQogICAgIHsKKyAgICAgIC8qIENsZWFyIHRoZSBUYW1wZXIgaW50ZXJydXB0IHBlbmRpbmcgYml0ICovCisgICAgICBfX0hBTF9SVENfVEFNUEVSX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVEFNUDFGKTsKKwogICAgICAgLyogVGFtcGVyIGNhbGxiYWNrICovCiAjaWYgKFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQogICAgICAgaHJ0Yy0+VGFtcGVyMUV2ZW50Q2FsbGJhY2soaHJ0Yyk7CiAjZWxzZQogICAgICAgSEFMX1JUQ0V4X1RhbXBlcjFFdmVudENhbGxiYWNrKGhydGMpOwogI2VuZGlmIC8qIFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyAqLwotCi0gICAgICAvKiBDbGVhciB0aGUgVGFtcGVyIGludGVycnVwdCBwZW5kaW5nIGJpdCAqLwotICAgICAgX19IQUxfUlRDX1RBTVBFUl9DTEVBUl9GTEFHKGhydGMsUlRDX0ZMQUdfVEFNUDFGKTsKICAgICB9CiAgIH0KIAotICAvKiBHZXQgdGhlIFRhbXBlcjIgaW50ZXJydXB0IHNvdXJjZSBlbmFibGUgc3RhdHVzICovCi0gIGlmKF9fSEFMX1JUQ19UQU1QRVJfR0VUX0lUX1NPVVJDRShocnRjLCBSVENfSVRfVEFNUCB8IFJUQ19JVF9UQU1QMikgIT0gKHVpbnQzMl90KVJFU0VUKQorICAvKiBHZXQgdGhlIFRhbXBlciAyIGludGVycnVwdCBzb3VyY2UgZW5hYmxlIHN0YXR1cyAqLworICBpZiAoX19IQUxfUlRDX1RBTVBFUl9HRVRfSVRfU09VUkNFKGhydGMsIFJUQ19JVF9UQU1QIHwgUlRDX0lUX1RBTVAyKSAhPSAwVSkKICAgewotICAgIC8qIEdldCB0aGUgcGVuZGluZyBzdGF0dXMgb2YgdGhlIFRhbXBlcjIgSW50ZXJydXB0ICovCi0gICAgaWYoX19IQUxfUlRDX1RBTVBFUl9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19UQU1QMkYpICE9ICh1aW50MzJfdClSRVNFVCkKKyAgICAvKiBHZXQgdGhlIHBlbmRpbmcgc3RhdHVzIG9mIHRoZSBUYW1wZXIgMiBJbnRlcnJ1cHQgKi8KKyAgICBpZiAoX19IQUxfUlRDX1RBTVBFUl9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19UQU1QMkYpICE9IDBVKQogICAgIHsKKyAgICAgIC8qIENsZWFyIHRoZSBUYW1wZXIgaW50ZXJydXB0IHBlbmRpbmcgYml0ICovCisgICAgICBfX0hBTF9SVENfVEFNUEVSX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVEFNUDJGKTsKKwogICAgICAgLyogVGFtcGVyIGNhbGxiYWNrICovCiAjaWYgKFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQogICAgICAgaHJ0Yy0+VGFtcGVyMkV2ZW50Q2FsbGJhY2soaHJ0Yyk7CiAjZWxzZQogICAgICAgSEFMX1JUQ0V4X1RhbXBlcjJFdmVudENhbGxiYWNrKGhydGMpOwogI2VuZGlmIC8qIFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyAqLwotCi0gICAgICAvKiBDbGVhciB0aGUgVGFtcGVyIGludGVycnVwdCBwZW5kaW5nIGJpdCAqLwotICAgICAgX19IQUxfUlRDX1RBTVBFUl9DTEVBUl9GTEFHKGhydGMsIFJUQ19GTEFHX1RBTVAyRik7CiAgICAgfQogICB9CiAKLSAgLyogR2V0IHRoZSBUYW1wZXIzIGludGVycnVwdCBzb3VyY2UgZW5hYmxlIHN0YXR1cyAqLwotICBpZihfX0hBTF9SVENfVEFNUEVSX0dFVF9JVF9TT1VSQ0UoaHJ0YywgUlRDX0lUX1RBTVAgfCBSVENfSVRfVEFNUDMpICE9ICh1aW50MzJfdClSRVNFVCkKKyAgLyogR2V0IHRoZSBUYW1wZXIgMyBpbnRlcnJ1cHQgc291cmNlIGVuYWJsZSBzdGF0dXMgKi8KKyAgaWYgKF9fSEFMX1JUQ19UQU1QRVJfR0VUX0lUX1NPVVJDRShocnRjLCBSVENfSVRfVEFNUCB8IFJUQ19JVF9UQU1QMykgIT0gMFUpCiAgIHsKLSAgICAvKiBHZXQgdGhlIHBlbmRpbmcgc3RhdHVzIG9mIHRoZSBUYW1wZXIzIEludGVycnVwdCAqLwotICAgIGlmKF9fSEFMX1JUQ19UQU1QRVJfR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVEFNUDNGKSAhPSAodWludDMyX3QpUkVTRVQpCisgICAgLyogR2V0IHRoZSBwZW5kaW5nIHN0YXR1cyBvZiB0aGUgVGFtcGVyIDMgSW50ZXJydXB0ICovCisgICAgaWYgKF9fSEFMX1JUQ19UQU1QRVJfR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVEFNUDNGKSAhPSAwVSkKICAgICB7CisgICAgICAvKiBDbGVhciB0aGUgVGFtcGVyIGludGVycnVwdCBwZW5kaW5nIGJpdCAqLworICAgICAgX19IQUxfUlRDX1RBTVBFUl9DTEVBUl9GTEFHKGhydGMsIFJUQ19GTEFHX1RBTVAzRik7CisKICAgICAgIC8qIFRhbXBlciBjYWxsYmFjayAqLwogI2lmIChVU0VfSEFMX1JUQ19SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKICAgICAgIGhydGMtPlRhbXBlcjNFdmVudENhbGxiYWNrKGhydGMpOwogI2Vsc2UKICAgICAgIEhBTF9SVENFeF9UYW1wZXIzRXZlbnRDYWxsYmFjayhocnRjKTsKICNlbmRpZiAvKiBVU0VfSEFMX1JUQ19SRUdJU1RFUl9DQUxMQkFDS1MgKi8KLQotICAgICAgLyogQ2xlYXIgdGhlIFRhbXBlciBpbnRlcnJ1cHQgcGVuZGluZyBiaXQgKi8KLSAgICAgIF9fSEFMX1JUQ19UQU1QRVJfQ0xFQVJfRkxBRyhocnRjLCBSVENfRkxBR19UQU1QM0YpOwogICAgIH0KICAgfQogCi0gIC8qIENsZWFyIHRoZSBFWFRJJ3MgRmxhZyBmb3IgUlRDIFRpbWVTdGFtcCBhbmQgVGFtcGVyICovCi0gIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfQ0xFQVJfRkxBRygpOwotCiAgIC8qIENoYW5nZSBSVEMgc3RhdGUgKi8KICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1JFQURZOwogfQogCiAvKioKLSAgKiBAYnJpZWYgIFRpbWVTdGFtcCBjYWxsYmFjay4KKyAgKiBAYnJpZWYgIFRpbWVzdGFtcCBjYWxsYmFjay4KICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcmV0dmFsIE5vbmUKQEAgLTc0Niw4ICs4OTgsOCBAQAogICAvKiBQcmV2ZW50IHVudXNlZCBhcmd1bWVudChzKSBjb21waWxhdGlvbiB3YXJuaW5nICovCiAgIFVOVVNFRChocnRjKTsKIAotICAvKiBOT1RFIDogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCi0gICAgICAgICAgICB0aGUgSEFMX1JUQ19UaW1lU3RhbXBFdmVudENhbGxiYWNrIGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKKyAgLyogTk9URTogVGhpcyBmdW5jdGlvbiBzaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCisgICAgICAgICAgIHRoZSBIQUxfUlRDRXhfVGltZVN0YW1wRXZlbnRDYWxsYmFjayBjb3VsZCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgdXNlciBmaWxlCiAgICovCiB9CiAKQEAgLTc2Miw4ICs5MTQsOCBAQAogICAvKiBQcmV2ZW50IHVudXNlZCBhcmd1bWVudChzKSBjb21waWxhdGlvbiB3YXJuaW5nICovCiAgIFVOVVNFRChocnRjKTsKIAotICAvKiBOT1RFIDogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCi0gICAgICAgICAgICB0aGUgSEFMX1JUQ19UYW1wZXIxRXZlbnRDYWxsYmFjayBjb3VsZCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgdXNlciBmaWxlCisgIC8qIE5PVEU6IFRoaXMgZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSBtb2RpZmllZCwgd2hlbiB0aGUgY2FsbGJhY2sgaXMgbmVlZGVkLAorICAgICAgICAgICB0aGUgSEFMX1JUQ0V4X1RhbXBlcjFFdmVudENhbGxiYWNrIGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKICAgICovCiB9CiAKQEAgLTc3OCwxNCArOTMwLDE1IEBACiAgIC8qIFByZXZlbnQgdW51c2VkIGFyZ3VtZW50KHMpIGNvbXBpbGF0aW9uIHdhcm5pbmcgKi8KICAgVU5VU0VEKGhydGMpOwogCi0gIC8qIE5PVEUgOiBUaGlzIGZ1bmN0aW9uIFNob3VsZCBub3QgYmUgbW9kaWZpZWQsIHdoZW4gdGhlIGNhbGxiYWNrIGlzIG5lZWRlZCwKLSAgICAgICAgICAgIHRoZSBIQUxfUlRDX1RhbXBlcjJFdmVudENhbGxiYWNrIGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKKyAgLyogTk9URTogVGhpcyBmdW5jdGlvbiBzaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCisgICAgICAgICAgIHRoZSBIQUxfUlRDRXhfVGFtcGVyMkV2ZW50Q2FsbGJhY2sgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQogICAgKi8KIH0KIAogLyoqCiAgICogQGJyaWVmICBUYW1wZXIgMyBjYWxsYmFjay4KLSAgKiBAcGFyYW0gIGhydGMgUlRDIGhhbmRsZQorICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgogICAqIEByZXR2YWwgTm9uZQogICAqLwogX193ZWFrIHZvaWQgSEFMX1JUQ0V4X1RhbXBlcjNFdmVudENhbGxiYWNrKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKQpAQCAtNzkzLDEzICs5NDYsMTMgQEAKICAgLyogUHJldmVudCB1bnVzZWQgYXJndW1lbnQocykgY29tcGlsYXRpb24gd2FybmluZyAqLwogICBVTlVTRUQoaHJ0Yyk7CiAKLSAgLyogTk9URSA6IFRoaXMgZnVuY3Rpb24gU2hvdWxkIG5vdCBiZSBtb2RpZmllZCwgd2hlbiB0aGUgY2FsbGJhY2sgaXMgbmVlZGVkLAotICAgICAgICAgICAgdGhlIEhBTF9SVENFeF9UYW1wZXIzRXZlbnRDYWxsYmFjayBjb3VsZCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgdXNlciBmaWxlCisgIC8qIE5PVEU6IFRoaXMgZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSBtb2RpZmllZCwgd2hlbiB0aGUgY2FsbGJhY2sgaXMgbmVlZGVkLAorICAgICAgICAgICB0aGUgSEFMX1JUQ0V4X1RhbXBlcjNFdmVudENhbGxiYWNrIGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKICAgICovCiB9CiAKIC8qKgotICAqIEBicmllZiAgVGhpcyBmdW5jdGlvbiBoYW5kbGVzIFRpbWVTdGFtcCBwb2xsaW5nIHJlcXVlc3QuCisgICogQGJyaWVmICBIYW5kbGVzIFRpbWVzdGFtcCBwb2xsaW5nIHJlcXVlc3QuCiAgICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCiAgICogQHBhcmFtICBUaW1lb3V0IFRpbWVvdXQgZHVyYXRpb24KQEAgLTgwNywzNCArOTYwLDM0IEBACiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfUG9sbEZvclRpbWVTdGFtcEV2ZW50KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBUaW1lb3V0KQogewotICB1aW50MzJfdCB0aWNrc3RhcnQgPSAwOworICB1aW50MzJfdCB0aWNrc3RhcnQgPSAwVTsKIAogICAvKiBHZXQgdGljayAqLwogICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCi0gIHdoaWxlKF9fSEFMX1JUQ19USU1FU1RBTVBfR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVFNGKSA9PSBSRVNFVCkKKyAgd2hpbGUgKF9fSEFMX1JUQ19USU1FU1RBTVBfR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVFNGKSA9PSAwVSkKICAgewotICAgIGlmKFRpbWVvdXQgIT0gSEFMX01BWF9ERUxBWSkKKyAgICBpZiAoVGltZW91dCAhPSBIQUxfTUFYX0RFTEFZKQogICAgIHsKLSAgICAgIGlmKChUaW1lb3V0ID09IDApfHwoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IFRpbWVvdXQpKQorICAgICAgaWYgKChUaW1lb3V0ID09IDBVKSB8fCAoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQpID4gVGltZW91dCkpCiAgICAgICB7CiAgICAgICAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9USU1FT1VUOwogICAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7CiAgICAgICB9CiAgICAgfQorCisgICAgaWYgKF9fSEFMX1JUQ19USU1FU1RBTVBfR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVFNPVkYpICE9IDBVKQorICAgIHsKKyAgICAgIC8qIENsZWFyIHRoZSBUaW1lc3RhbXAgT3ZlcnJ1biBGbGFnICovCisgICAgICBfX0hBTF9SVENfVElNRVNUQU1QX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVFNPVkYpOworCisgICAgICAvKiBDaGFuZ2UgVGltZXN0YW1wIHN0YXRlICovCisgICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfRVJST1I7CisKKyAgICAgIHJldHVybiBIQUxfRVJST1I7CisgICAgfQogICB9CiAKLSAgaWYoX19IQUxfUlRDX1RJTUVTVEFNUF9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19UU09WRikgIT0gUkVTRVQpCi0gIHsKLSAgICAvKiBDbGVhciB0aGUgVElNRVNUQU1QIE92ZXJSdW4gRmxhZyAqLwotICAgIF9fSEFMX1JUQ19USU1FU1RBTVBfQ0xFQVJfRkxBRyhocnRjLCBSVENfRkxBR19UU09WRik7Ci0KLSAgICAvKiBDaGFuZ2UgVElNRVNUQU1QIHN0YXRlICovCi0gICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX0VSUk9SOwotCi0gICAgcmV0dXJuIEhBTF9FUlJPUjsKLSAgIH0KLQogICAvKiBDaGFuZ2UgUlRDIHN0YXRlICovCiAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9SRUFEWTsKIApAQCAtODQyLDcgKzk5NSw3IEBACiB9CiAKIC8qKgotICAqIEBicmllZiAgVGhpcyBmdW5jdGlvbiBoYW5kbGVzIFRhbXBlcjEgUG9sbGluZy4KKyAgKiBAYnJpZWYgIEhhbmRsZXMgVGFtcGVyIDEgUG9sbGluZy4KICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcGFyYW0gIFRpbWVvdXQgVGltZW91dCBkdXJhdGlvbgpAQCAtODU2LDExICsxMDA5LDExIEBACiAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CiAKICAgLyogR2V0IHRoZSBzdGF0dXMgb2YgdGhlIEludGVycnVwdCAqLwotICB3aGlsZShfX0hBTF9SVENfVEFNUEVSX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX1RBTVAxRik9PSBSRVNFVCkKKyAgd2hpbGUgKF9fSEFMX1JUQ19UQU1QRVJfR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVEFNUDFGKSA9PSAwVSkKICAgewotICAgIGlmKFRpbWVvdXQgIT0gSEFMX01BWF9ERUxBWSkKKyAgICBpZiAoVGltZW91dCAhPSBIQUxfTUFYX0RFTEFZKQogICAgIHsKLSAgICAgIGlmKChUaW1lb3V0ID09IDBVKXx8KChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0ICkgPiBUaW1lb3V0KSkKKyAgICAgIGlmICgoVGltZW91dCA9PSAwVSkgfHwgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFRpbWVvdXQpKQogICAgICAgewogICAgICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfVElNRU9VVDsKICAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOwpAQCAtODY5LDcgKzEwMjIsNyBAQAogICB9CiAKICAgLyogQ2xlYXIgdGhlIFRhbXBlciBGbGFnICovCi0gIF9fSEFMX1JUQ19UQU1QRVJfQ0xFQVJfRkxBRyhocnRjLFJUQ19GTEFHX1RBTVAxRik7CisgIF9fSEFMX1JUQ19UQU1QRVJfQ0xFQVJfRkxBRyhocnRjLCBSVENfRkxBR19UQU1QMUYpOwogCiAgIC8qIENoYW5nZSBSVEMgc3RhdGUgKi8KICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1JFQURZOwpAQCAtODc4LDcgKzEwMzEsNyBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBUYW1wZXIyIFBvbGxpbmcuCisgICogQGJyaWVmICBIYW5kbGVzIFRhbXBlciAyIFBvbGxpbmcuCiAgICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCiAgICogQHBhcmFtICBUaW1lb3V0IFRpbWVvdXQgZHVyYXRpb24KQEAgLTg4NiwxNyArMTAzOSwxNyBAQAogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1BvbGxGb3JUYW1wZXIyRXZlbnQoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIHVpbnQzMl90IFRpbWVvdXQpCiB7Ci0gIHVpbnQzMl90IHRpY2tzdGFydCA9IDA7CisgIHVpbnQzMl90IHRpY2tzdGFydCA9IDBVOwogCiAgIC8qIEdldCB0aWNrICovCiAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CiAKICAgLyogR2V0IHRoZSBzdGF0dXMgb2YgdGhlIEludGVycnVwdCAqLwotICB3aGlsZShfX0hBTF9SVENfVEFNUEVSX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX1RBTVAyRikgPT0gUkVTRVQpCisgIHdoaWxlIChfX0hBTF9SVENfVEFNUEVSX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX1RBTVAyRikgPT0gMFUpCiAgIHsKLSAgICBpZihUaW1lb3V0ICE9IEhBTF9NQVhfREVMQVkpCisgICAgaWYgKFRpbWVvdXQgIT0gSEFMX01BWF9ERUxBWSkKICAgICB7Ci0gICAgICBpZigoVGltZW91dCA9PSAwKXx8KChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0ICkgPiBUaW1lb3V0KSkKKyAgICAgIGlmICgoVGltZW91dCA9PSAwVSkgfHwgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFRpbWVvdXQpKQogICAgICAgewogICAgICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfVElNRU9VVDsKICAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOwpAQCAtOTA1LDcgKzEwNTgsNyBAQAogICB9CiAKICAgLyogQ2xlYXIgdGhlIFRhbXBlciBGbGFnICovCi0gIF9fSEFMX1JUQ19UQU1QRVJfQ0xFQVJfRkxBRyhocnRjLFJUQ19GTEFHX1RBTVAyRik7CisgIF9fSEFMX1JUQ19UQU1QRVJfQ0xFQVJfRkxBRyhocnRjLCBSVENfRkxBR19UQU1QMkYpOwogCiAgIC8qIENoYW5nZSBSVEMgc3RhdGUgKi8KICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1JFQURZOwpAQCAtOTE0LDggKzEwNjcsOSBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBUYW1wZXIzIFBvbGxpbmcuCi0gICogQHBhcmFtICBocnRjIFJUQyBoYW5kbGUKKyAgKiBAYnJpZWYgIEhhbmRsZXMgVGFtcGVyIDMgUG9sbGluZy4KKyAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcGFyYW0gIFRpbWVvdXQgVGltZW91dCBkdXJhdGlvbgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwpAQCAtOTI0LDExICsxMDc4LDExIEBACiAgIHVpbnQzMl90IHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CiAKICAgLyogR2V0IHRoZSBzdGF0dXMgb2YgdGhlIEludGVycnVwdCAqLwotICB3aGlsZShfX0hBTF9SVENfVEFNUEVSX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX1RBTVAzRikgPT0gUkVTRVQpCisgIHdoaWxlIChfX0hBTF9SVENfVEFNUEVSX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX1RBTVAzRikgPT0gMFUpCiAgIHsKLSAgICBpZihUaW1lb3V0ICE9IEhBTF9NQVhfREVMQVkpCisgICAgaWYgKFRpbWVvdXQgIT0gSEFMX01BWF9ERUxBWSkKICAgICB7Ci0gICAgICBpZigoVGltZW91dCA9PSAwKXx8KChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0ICkgPiBUaW1lb3V0KSkKKyAgICAgIGlmICgoVGltZW91dCA9PSAwVSkgfHwgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFRpbWVvdXQpKQogICAgICAgewogICAgICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfVElNRU9VVDsKICAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOwpAQCAtOTM3LDcgKzEwOTEsNyBAQAogICB9CiAKICAgLyogQ2xlYXIgdGhlIFRhbXBlciBGbGFnICovCi0gIF9fSEFMX1JUQ19UQU1QRVJfQ0xFQVJfRkxBRyhocnRjLFJUQ19GTEFHX1RBTVAzRik7CisgIF9fSEFMX1JUQ19UQU1QRVJfQ0xFQVJfRkxBRyhocnRjLCBSVENfRkxBR19UQU1QM0YpOwogCiAgIC8qIENoYW5nZSBSVEMgc3RhdGUgKi8KICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1JFQURZOwpAQCAtOTQ5LDMxICsxMTAzLDMxIEBACiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBSVENFeF9Hcm91cDIgUlRDIFdha2UtdXAgZnVuY3Rpb25zCi0gKiAgQGJyaWVmICAgUlRDIFdha2UtdXAgZnVuY3Rpb25zCi0gKgorLyoqIEBkZWZncm91cCBSVENFeF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAyIFJUQyBXYWtldXAgZnVuY3Rpb25zCisgICogQGJyaWVmICAgIFJUQyBXYWtldXAgZnVuY3Rpb25zCisgICoKIEB2ZXJiYXRpbQogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjIFJUQyBXYWtlLXVwIGZ1bmN0aW9ucyAjIyMjIworICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMgUlRDIFdha2V1cCBmdW5jdGlvbnMgIyMjIyMKICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLSBbLi5dIFRoaXMgc2VjdGlvbiBwcm92aWRlcyBmdW5jdGlvbnMgYWxsb3dpbmcgdG8gY29uZmlndXJlIFdha2UtdXAgZmVhdHVyZQorIFsuLl0gVGhpcyBzZWN0aW9uIHByb3ZpZGVzIGZ1bmN0aW9ucyBhbGxvd2luZyB0byBjb25maWd1cmUgV2FrZXVwIGZlYXR1cmUKIAogQGVuZHZlcmJhdGltCiAgICogQHsKICAgKi8KIAogLyoqCi0gICogQGJyaWVmICBTZXRzIHdha2UgdXAgdGltZXIuCisgICogQGJyaWVmICBTZXRzIHdha2V1cCB0aW1lci4KICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KLSAgKiBAcGFyYW0gIFdha2VVcENvdW50ZXIgV2FrZSB1cCBjb3VudGVyCi0gICogQHBhcmFtICBXYWtlVXBDbG9jayBXYWtlIHVwIGNsb2NrCisgICogQHBhcmFtICBXYWtlVXBDb3VudGVyIFdha2V1cCBjb3VudGVyCisgICogQHBhcmFtICBXYWtlVXBDbG9jayBXYWtldXAgY2xvY2sKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRXYWtlVXBUaW1lcihSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgV2FrZVVwQ291bnRlciwgdWludDMyX3QgV2FrZVVwQ2xvY2spCiB7Ci0gIHVpbnQzMl90IHRpY2tzdGFydCA9IDA7CisgIHVpbnQzMl90IHRpY2tzdGFydCA9IDBVOwogCiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19SVENfV0FLRVVQX0NMT0NLKFdha2VVcENsb2NrKSk7CkBAIC05ODcsMTExICsxMTQxLDQyIEBACiAgIC8qIERpc2FibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9ESVNBQkxFKGhydGMpOwogCisgIC8qIENoZWNrIFJUQyBXVVRXRiBmbGFnIGlzIHJlc2V0IG9ubHkgd2hlbiB3YWtldXAgdGltZXIgZW5hYmxlZCovCisgIGlmICgoaHJ0Yy0+SW5zdGFuY2UtPkNSICYgUlRDX0NSX1dVVEUpICE9IDBVKQorICB7CisgICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKKworICAgIC8qIFdhaXQgdGlsbCBSVEMgV1VUV0YgZmxhZyBpcyByZXNldCBhbmQgaWYgdGltZW91dCBpcyByZWFjaGVkIGV4aXQgKi8KKyAgICB3aGlsZSAoX19IQUxfUlRDX1dBS0VVUFRJTUVSX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX1dVVFdGKSAhPSAwVSkKKyAgICB7CisgICAgICBpZiAoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQpID4gUlRDX1RJTUVPVVRfVkFMVUUpCisgICAgICB7CisgICAgICAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLworICAgICAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKKworICAgICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfVElNRU9VVDsKKworICAgICAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCisgICAgICAgIF9fSEFMX1VOTE9DSyhocnRjKTsKKworICAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7CisgICAgICB9CisgICAgfQorICB9CisKKyAgLyogRGlzYWJsZSB0aGUgV2FrZXVwIHRpbWVyICovCiAgIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9ESVNBQkxFKGhydGMpOwogCisgIC8qIENsZWFyIHRoZSBXYWtldXAgZmxhZyAqLworICBfX0hBTF9SVENfV0FLRVVQVElNRVJfQ0xFQVJfRkxBRyhocnRjLCBSVENfRkxBR19XVVRGKTsKKwogICAvKiBHZXQgdGljayAqLwogICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCi0gIC8qQ2hlY2sgUlRDIFdVVFdGIGZsYWcgaXMgcmVzZXQgb25seSB3aGVuIHdha2UgdXAgdGltZXIgZW5hYmxlZCovCi0gIGlmKChocnRjLT5JbnN0YW5jZS0+Q1IgJiBSVENfQ1JfV1VURSkgIT0gUkVTRVQpCisgIC8qIFdhaXQgdGlsbCBSVEMgV1VUV0YgZmxhZyBpcyBzZXQgYW5kIGlmIHRpbWVvdXQgaXMgcmVhY2hlZCBleGl0ICovCisgIHdoaWxlIChfX0hBTF9SVENfV0FLRVVQVElNRVJfR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfV1VUV0YpID09IDBVKQogICB7Ci0gICAgLyogV2FpdCB0aWxsIFJUQyBXVVRXRiBmbGFnIGlzIHNldCBhbmQgaWYgVGltZSBvdXQgaXMgcmVhY2hlZCBleGl0ICovCi0gICAgd2hpbGUoX19IQUxfUlRDX1dBS0VVUFRJTUVSX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX1dVVFdGKSA9PSBSRVNFVCkKLSAgICB7Ci0gICAgICBpZigoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCApID4gUlRDX1RJTUVPVVRfVkFMVUUpCi0gICAgICB7Ci0gICAgICAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwotICAgICAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKLQotICAgICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfVElNRU9VVDsKLQotICAgICAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCi0gICAgICAgIF9fSEFMX1VOTE9DSyhocnRjKTsKLQotICAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7Ci0gICAgICB9Ci0gICAgfQotICB9Ci0KLSAgLyogQ2xlYXIgdGhlIFdha2V1cCBUaW1lciBjbG9jayBzb3VyY2UgYml0cyBpbiBDUiByZWdpc3RlciAqLwotICBocnRjLT5JbnN0YW5jZS0+Q1IgJj0gKHVpbnQzMl90KX5SVENfQ1JfV1VDS1NFTDsKLQotICAvKiBDb25maWd1cmUgdGhlIGNsb2NrIHNvdXJjZSAqLwotICBocnRjLT5JbnN0YW5jZS0+Q1IgfD0gKHVpbnQzMl90KVdha2VVcENsb2NrOwotCi0gIC8qIENvbmZpZ3VyZSB0aGUgV2FrZXVwIFRpbWVyIGNvdW50ZXIgKi8KLSAgaHJ0Yy0+SW5zdGFuY2UtPldVVFIgPSAodWludDMyX3QpV2FrZVVwQ291bnRlcjsKLQotICAgLyogRW5hYmxlIHRoZSBXYWtldXAgVGltZXIgKi8KLSAgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VOQUJMRShocnRjKTsKLQotICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KLSAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7Ci0KLSAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1JFQURZOwotCi0gIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhydGMpOwotCi0gIHJldHVybiBIQUxfT0s7Ci19Ci0KLS8qKgotICAqIEBicmllZiAgU2V0cyB3YWtlIHVwIHRpbWVyIHdpdGggaW50ZXJydXB0Ci0gICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwotICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCi0gICogQHBhcmFtICBXYWtlVXBDb3VudGVyIFdha2UgdXAgY291bnRlcgotICAqIEBwYXJhbSAgV2FrZVVwQ2xvY2sgV2FrZSB1cCBjbG9jawotICAqIEByZXR2YWwgSEFMIHN0YXR1cwotICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1NldFdha2VVcFRpbWVyX0lUKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBXYWtlVXBDb3VudGVyLCB1aW50MzJfdCBXYWtlVXBDbG9jaykKLXsKLSAgX19JTyB1aW50MzJfdCBjb3VudDsKLQotICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwotICBhc3NlcnRfcGFyYW0oSVNfUlRDX1dBS0VVUF9DTE9DSyhXYWtlVXBDbG9jaykpOwotICBhc3NlcnRfcGFyYW0oSVNfUlRDX1dBS0VVUF9DT1VOVEVSKFdha2VVcENvdW50ZXIpKTsKLQotICAvKiBQcm9jZXNzIExvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhydGMpOwotCi0gIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9CVVNZOwotCi0gIC8qIERpc2FibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KLSAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9ESVNBQkxFKGhydGMpOwotCi0gIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9ESVNBQkxFKGhydGMpOwotCi0gIC8qIENoZWNrIFJUQyBXVVRXRiBmbGFnIGlzIHJlc2V0IG9ubHkgd2hlbiB3YWtlIHVwIHRpbWVyIGVuYWJsZWQgKi8KLSAgaWYoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9XVVRFKSAhPSBSRVNFVCkKLSAgewotICAgIC8qIFdhaXQgdGlsbCBSVEMgV1VUV0YgZmxhZyBpcyByZXNldCBhbmQgaWYgVGltZSBvdXQgaXMgcmVhY2hlZCBleGl0ICovCi0gICAgY291bnQgPSBSVENfVElNRU9VVF9WQUxVRSAgKiAoU3lzdGVtQ29yZUNsb2NrIC8gMzJVIC8gMTAwMFUpOwotICAgIGRvCi0gICAgewotICAgICAgaWYoY291bnQtLSA9PSAwVSkKLSAgICAgIHsKLSAgICAgICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCi0gICAgICAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOwotCi0gICAgICAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9USU1FT1VUOwotCi0gICAgICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgICAgICAgX19IQUxfVU5MT0NLKGhydGMpOwotCi0gICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKLSAgICAgIH0KLSAgICB9Ci0gICAgd2hpbGUoX19IQUxfUlRDX1dBS0VVUFRJTUVSX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX1dVVFdGKSA9PSBTRVQpOwotICB9Ci0KLSAgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0RJU0FCTEUoaHJ0Yyk7Ci0KLSAgLyogV2FpdCB0aWxsIFJUQyBXVVRXRiBmbGFnIGlzIHNldCBhbmQgaWYgVGltZSBvdXQgaXMgcmVhY2hlZCBleGl0ICovCi0gIGNvdW50ID0gUlRDX1RJTUVPVVRfVkFMVUUgICogKFN5c3RlbUNvcmVDbG9jayAvIDMyVSAvIDEwMDBVKTsKLSAgZG8KLSAgewotICAgIGlmKGNvdW50LS0gPT0gMFUpCisgICAgaWYgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFJUQ19USU1FT1VUX1ZBTFVFKQogICAgIHsKICAgICAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICAgICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CkBAIC0xMTA0LDEwICsxMTg5LDYgQEAKICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgICB9CiAgIH0KLSAgd2hpbGUoX19IQUxfUlRDX1dBS0VVUFRJTUVSX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX1dVVFdGKSA9PSBSRVNFVCk7Ci0KLSAgLyogQ29uZmlndXJlIHRoZSBXYWtlLXVwIFRpbWVyIGNvdW50ZXIgKi8KLSAgaHJ0Yy0+SW5zdGFuY2UtPldVVFIgPSAodWludDMyX3QpV2FrZVVwQ291bnRlcjsKIAogICAvKiBDbGVhciB0aGUgV2FrZXVwIFRpbWVyIGNsb2NrIHNvdXJjZSBiaXRzIGluIENSIHJlZ2lzdGVyICovCiAgIGhydGMtPkluc3RhbmNlLT5DUiAmPSAodWludDMyX3QpflJUQ19DUl9XVUNLU0VMOwpAQCAtMTExNSwxNiArMTE5Niw4IEBACiAgIC8qIENvbmZpZ3VyZSB0aGUgY2xvY2sgc291cmNlICovCiAgIGhydGMtPkluc3RhbmNlLT5DUiB8PSAodWludDMyX3QpV2FrZVVwQ2xvY2s7CiAKLSAgLyogUlRDIFdha2VVcFRpbWVyIEludGVycnVwdCBDb25maWd1cmF0aW9uOiBFWFRJIGNvbmZpZ3VyYXRpb24gKi8KLSAgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VYVElfRU5BQkxFX0lUKCk7Ci0KLSAgRVhUSS0+UlRTUiB8PSBSVENfRVhUSV9MSU5FX1dBS0VVUFRJTUVSX0VWRU5UOwotCi0gIC8qIENsZWFyIFJUQyBXYWtlIFVwIHRpbWVyIEZsYWcgKi8KLSAgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfV1VURik7Ci0KLSAgLyogQ29uZmlndXJlIHRoZSBJbnRlcnJ1cHQgaW4gdGhlIFJUQ19DUiByZWdpc3RlciAqLwotICBfX0hBTF9SVENfV0FLRVVQVElNRVJfRU5BQkxFX0lUKGhydGMsUlRDX0lUX1dVVCk7CisgIC8qIENvbmZpZ3VyZSB0aGUgV2FrZXVwIFRpbWVyIGNvdW50ZXIgKi8KKyAgaHJ0Yy0+SW5zdGFuY2UtPldVVFIgPSAodWludDMyX3QpV2FrZVVwQ291bnRlcjsKIAogICAvKiBFbmFibGUgdGhlIFdha2V1cCBUaW1lciAqLwogICBfX0hBTF9SVENfV0FLRVVQVElNRVJfRU5BQkxFKGhydGMpOwpAQCAtMTE0MSwxMiArMTIxNCwxMTMgQEAKIH0KIAogLyoqCi0gICogQGJyaWVmICBEZWFjdGl2YXRlcyB3YWtlIHVwIHRpbWVyIGNvdW50ZXIuCisgICogQGJyaWVmICBTZXRzIHdha2V1cCB0aW1lciB3aXRoIGludGVycnVwdC4KKyAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KKyAgKiBAcGFyYW0gIFdha2VVcENvdW50ZXIgV2FrZXVwIGNvdW50ZXIKKyAgKiBAcGFyYW0gIFdha2VVcENsb2NrIFdha2V1cCBjbG9jaworICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1NldFdha2VVcFRpbWVyX0lUKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBXYWtlVXBDb3VudGVyLCB1aW50MzJfdCBXYWtlVXBDbG9jaykKK3sKKyAgX19JTyB1aW50MzJfdCBjb3VudCAgPSBSVENfVElNRU9VVF9WQUxVRSAqIChTeXN0ZW1Db3JlQ2xvY2sgLyAzMlUgLyAxMDAwVSk7CisKKyAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KKyAgYXNzZXJ0X3BhcmFtKElTX1JUQ19XQUtFVVBfQ0xPQ0soV2FrZVVwQ2xvY2spKTsKKyAgYXNzZXJ0X3BhcmFtKElTX1JUQ19XQUtFVVBfQ09VTlRFUihXYWtlVXBDb3VudGVyKSk7CisKKyAgLyogUHJvY2VzcyBMb2NrZWQgKi8KKyAgX19IQUxfTE9DSyhocnRjKTsKKworICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfQlVTWTsKKworICAvKiBEaXNhYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCisgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRElTQUJMRShocnRjKTsKKworICAvKiBDaGVjayBSVEMgV1VUV0YgZmxhZyBpcyByZXNldCBvbmx5IHdoZW4gd2FrZXVwIHRpbWVyIGVuYWJsZWQgKi8KKyAgaWYgKChocnRjLT5JbnN0YW5jZS0+Q1IgJiBSVENfQ1JfV1VURSkgIT0gMFUpCisgIHsKKyAgICAvKiBXYWl0IHRpbGwgUlRDIFdVVFdGIGZsYWcgaXMgcmVzZXQgYW5kIGlmIHRpbWVvdXQgaXMgcmVhY2hlZCBleGl0ICovCisgICAgZG8KKyAgICB7CisgICAgICBpZiAoY291bnQtLSA9PSAwVSkKKyAgICAgIHsKKyAgICAgICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCisgICAgICAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOworCisgICAgICAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9USU1FT1VUOworCisgICAgICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KKyAgICAgICAgX19IQUxfVU5MT0NLKGhydGMpOworCisgICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKKyAgICAgIH0KKyAgICB9IHdoaWxlIChfX0hBTF9SVENfV0FLRVVQVElNRVJfR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfV1VUV0YpICE9IDBVKTsKKyAgfQorCisgIC8qIERpc2FibGUgdGhlIFdha2V1cCB0aW1lciAqLworICBfX0hBTF9SVENfV0FLRVVQVElNRVJfRElTQUJMRShocnRjKTsKKworICAvKiBDbGVhciB0aGUgV2FrZXVwIGZsYWcgKi8KKyAgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfV1VURik7CisKKyAgLyogUmVsb2FkIHRoZSBjb3VudGVyICovCisgIGNvdW50ID0gUlRDX1RJTUVPVVRfVkFMVUUgKiAoU3lzdGVtQ29yZUNsb2NrIC8gMzJVIC8gMTAwMFUpOworCisgIC8qIFdhaXQgdGlsbCBSVEMgV1VUV0YgZmxhZyBpcyBzZXQgYW5kIGlmIHRpbWVvdXQgaXMgcmVhY2hlZCBleGl0ICovCisgIGRvCisgIHsKKyAgICBpZiAoY291bnQtLSA9PSAwVSkKKyAgICB7CisgICAgICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KKyAgICAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOworCisgICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfVElNRU9VVDsKKworICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICAgICAgX19IQUxfVU5MT0NLKGhydGMpOworCisgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7CisgICAgfQorICB9IHdoaWxlIChfX0hBTF9SVENfV0FLRVVQVElNRVJfR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfV1VUV0YpID09IDBVKTsKKworICAvKiBDbGVhciB0aGUgV2FrZXVwIFRpbWVyIGNsb2NrIHNvdXJjZSBiaXRzIGluIENSIHJlZ2lzdGVyICovCisgIGhydGMtPkluc3RhbmNlLT5DUiAmPSAodWludDMyX3QpflJUQ19DUl9XVUNLU0VMOworCisgIC8qIENvbmZpZ3VyZSB0aGUgY2xvY2sgc291cmNlICovCisgIGhydGMtPkluc3RhbmNlLT5DUiB8PSAodWludDMyX3QpV2FrZVVwQ2xvY2s7CisKKyAgLyogQ29uZmlndXJlIHRoZSBXYWtldXAgVGltZXIgY291bnRlciAqLworICBocnRjLT5JbnN0YW5jZS0+V1VUUiA9ICh1aW50MzJfdClXYWtlVXBDb3VudGVyOworCisgIC8qIFJUQyB3YWtldXAgdGltZXIgSW50ZXJydXB0IENvbmZpZ3VyYXRpb246IEVYVEkgY29uZmlndXJhdGlvbiAqLworICBfX0hBTF9SVENfV0FLRVVQVElNRVJfRVhUSV9FTkFCTEVfSVQoKTsKKyAgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VYVElfRU5BQkxFX1JJU0lOR19FREdFKCk7CisKKyAgLyogQ29uZmlndXJlIHRoZSBpbnRlcnJ1cHQgaW4gdGhlIFJUQ19DUiByZWdpc3RlciAqLworICBfX0hBTF9SVENfV0FLRVVQVElNRVJfRU5BQkxFX0lUKGhydGMsIFJUQ19JVF9XVVQpOworCisgIC8qIEVuYWJsZSB0aGUgV2FrZXVwIFRpbWVyICovCisgIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FTkFCTEUoaHJ0Yyk7CisKKyAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCisgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOworCisgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9SRUFEWTsKKworICAvKiBQcm9jZXNzIFVubG9ja2VkICovCisgIF9fSEFMX1VOTE9DSyhocnRjKTsKKworICByZXR1cm4gSEFMX09LOworfQorCisvKioKKyAgKiBAYnJpZWYgIERlYWN0aXZhdGVzIHdha2V1cCB0aW1lciBjb3VudGVyLgogICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotdWludDMyX3QgSEFMX1JUQ0V4X0RlYWN0aXZhdGVXYWtlVXBUaW1lcihSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9EZWFjdGl2YXRlV2FrZVVwVGltZXIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpCiB7CiAgIHVpbnQzMl90IHRpY2tzdGFydCA9IDBVOwogCkBAIC0xMTYyLDE1ICsxMzM2LDE1IEBACiAgIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9ESVNBQkxFKGhydGMpOwogCiAgIC8qIEluIGNhc2Ugb2YgaW50ZXJydXB0IG1vZGUgaXMgdXNlZCwgdGhlIGludGVycnVwdCBzb3VyY2UgbXVzdCBkaXNhYmxlZCAqLwotICBfX0hBTF9SVENfV0FLRVVQVElNRVJfRElTQUJMRV9JVChocnRjLFJUQ19JVF9XVVQpOworICBfX0hBTF9SVENfV0FLRVVQVElNRVJfRElTQUJMRV9JVChocnRjLCBSVENfSVRfV1VUKTsKIAogICAvKiBHZXQgdGljayAqLwogICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCi0gIC8qIFdhaXQgdGlsbCBSVEMgV1VUV0YgZmxhZyBpcyBzZXQgYW5kIGlmIFRpbWUgb3V0IGlzIHJlYWNoZWQgZXhpdCAqLwotICB3aGlsZShfX0hBTF9SVENfV0FLRVVQVElNRVJfR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfV1VUV0YpID09IFJFU0VUKQorICAvKiBXYWl0IHRpbGwgUlRDIFdVVFdGIGZsYWcgaXMgc2V0IGFuZCBpZiB0aW1lb3V0IGlzIHJlYWNoZWQgZXhpdCAqLworICB3aGlsZSAoX19IQUxfUlRDX1dBS0VVUFRJTUVSX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX1dVVFdGKSA9PSAwVSkKICAgewotICAgIGlmKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0ICkgPiBSVENfVElNRU9VVF9WQUxVRSkKKyAgICBpZiAoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQpID4gUlRDX1RJTUVPVVRfVkFMVUUpCiAgICAgewogICAgICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCiAgICAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKQEAgLTExOTYsNyArMTM3MCw3IEBACiB9CiAKIC8qKgotICAqIEBicmllZiAgR2V0cyB3YWtlIHVwIHRpbWVyIGNvdW50ZXIuCisgICogQGJyaWVmICBHZXRzIHdha2V1cCB0aW1lciBjb3VudGVyLgogICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgogICAqIEByZXR2YWwgQ291bnRlciB2YWx1ZQpAQCAtMTIwOCw4ICsxMzgyLDggQEAKIH0KIAogLyoqCi0gICogQGJyaWVmICBUaGlzIGZ1bmN0aW9uIGhhbmRsZXMgV2FrZSBVcCBUaW1lciBpbnRlcnJ1cHQgcmVxdWVzdC4KLSAgKiBAbm90ZSAgIFVubGlrZSBhbGFybSBpbnRlcnJ1cHQgbGluZSAoc2hhcmVkIGJ5IEFsYXJtQSBhbmQgQWxhcm1CKSBhbmQgdGFtcGVyCisgICogQGJyaWVmICBIYW5kbGVzIFdha2V1cCBUaW1lciBpbnRlcnJ1cHQgcmVxdWVzdC4KKyAgKiBAbm90ZSAgIFVubGlrZSBhbGFybSBpbnRlcnJ1cHQgbGluZSAoc2hhcmVkIGJ5IEFsYXJtcyBBIGFuZCBCKSBvciB0YW1wZXIKICAgKiAgICAgICAgIGludGVycnVwdCBsaW5lIChzaGFyZWQgYnkgdGltZXN0YW1wIGFuZCB0YW1wZXJzKSB3YWtldXAgdGltZXIKICAgKiAgICAgICAgIGludGVycnVwdCBsaW5lIGlzIGV4Y2x1c2l2ZSB0byB0aGUgd2FrZXVwIHRpbWVyLgogICAqICAgICAgICAgVGhlcmUgaXMgbm8gbmVlZCBpbiB0aGlzIGNhc2UgdG8gY2hlY2sgb24gdGhlIGludGVycnVwdCBlbmFibGUKQEAgLTEyMjAsMjkgKzEzOTQsMjkgQEAKICAgKi8KIHZvaWQgSEFMX1JUQ0V4X1dha2VVcFRpbWVySVJRSGFuZGxlcihSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKIHsKLSAgLyogR2V0IHRoZSBwZW5kaW5nIHN0YXR1cyBvZiB0aGUgV0FLRVVQVElNRVIgSW50ZXJydXB0ICovCi0gIGlmKF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19XVVRGKSAhPSAodWludDMyX3QpUkVTRVQpCisgIC8qIENsZWFyIHRoZSBFWFRJJ3MgbGluZSBGbGFnIGZvciBSVEMgV2FrZVVwVGltZXIgKi8KKyAgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VYVElfQ0xFQVJfRkxBRygpOworCisgIC8qIEdldCB0aGUgcGVuZGluZyBzdGF0dXMgb2YgdGhlIFdha2V1cCB0aW1lciBJbnRlcnJ1cHQgKi8KKyAgaWYgKF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19XVVRGKSAhPSAwVSkKICAgewotICAgIC8qIFdBS0VVUFRJTUVSIGNhbGxiYWNrICovCisgICAgLyogQ2xlYXIgdGhlIFdha2V1cCB0aW1lciBpbnRlcnJ1cHQgcGVuZGluZyBiaXQgKi8KKyAgICBfX0hBTF9SVENfV0FLRVVQVElNRVJfQ0xFQVJfRkxBRyhocnRjLCBSVENfRkxBR19XVVRGKTsKKworICAgIC8qIFdha2V1cCB0aW1lciBjYWxsYmFjayAqLwogI2lmIChVU0VfSEFMX1JUQ19SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKICAgICBocnRjLT5XYWtlVXBUaW1lckV2ZW50Q2FsbGJhY2soaHJ0Yyk7CiAjZWxzZQogICAgIEhBTF9SVENFeF9XYWtlVXBUaW1lckV2ZW50Q2FsbGJhY2soaHJ0Yyk7CiAjZW5kaWYgLyogVVNFX0hBTF9SVENfUkVHSVNURVJfQ0FMTEJBQ0tTICovCi0KLSAgICAvKiBDbGVhciB0aGUgV0FLRVVQVElNRVIgaW50ZXJydXB0IHBlbmRpbmcgYml0ICovCi0gICAgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfV1VURik7CiAgIH0KIAotICAvKiBDbGVhciB0aGUgRVhUSSdzIGxpbmUgRmxhZyBmb3IgUlRDIFdha2VVcFRpbWVyICovCi0gIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0NMRUFSX0ZMQUcoKTsKLQogICAvKiBDaGFuZ2UgUlRDIHN0YXRlICovCiAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9SRUFEWTsKIH0KIAogLyoqCi0gICogQGJyaWVmICBXYWtlIFVwIFRpbWVyIGNhbGxiYWNrLgorICAqIEBicmllZiAgV2FrZXVwIFRpbWVyIGNhbGxiYWNrLgogICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgogICAqIEByZXR2YWwgTm9uZQpAQCAtMTI1MiwxMyArMTQyNiwxMyBAQAogICAvKiBQcmV2ZW50IHVudXNlZCBhcmd1bWVudChzKSBjb21waWxhdGlvbiB3YXJuaW5nICovCiAgIFVOVVNFRChocnRjKTsKIAotICAvKiBOT1RFIDogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCi0gICAgICAgICAgICB0aGUgSEFMX1JUQ19XYWtlVXBUaW1lckV2ZW50Q2FsbGJhY2sgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQorICAvKiBOT1RFOiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBub3QgYmUgbW9kaWZpZWQsIHdoZW4gdGhlIGNhbGxiYWNrIGlzIG5lZWRlZCwKKyAgICAgICAgICAgdGhlIEhBTF9SVENFeF9XYWtlVXBUaW1lckV2ZW50Q2FsbGJhY2sgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQogICAgKi8KIH0KIAogLyoqCi0gICogQGJyaWVmICBUaGlzIGZ1bmN0aW9uIGhhbmRsZXMgV2FrZSBVcCBUaW1lciBQb2xsaW5nLgorICAqIEBicmllZiAgSGFuZGxlcyBXYWtldXAgVGltZXIgUG9sbGluZy4KICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcGFyYW0gIFRpbWVvdXQgVGltZW91dCBkdXJhdGlvbgpAQCAtMTI2NiwyNSArMTQ0MCwyNCBAQAogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1BvbGxGb3JXYWtlVXBUaW1lckV2ZW50KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBUaW1lb3V0KQogewotICB1aW50MzJfdCB0aWNrc3RhcnQgPSAwOworICB1aW50MzJfdCB0aWNrc3RhcnQgPSAwVTsKIAogICAvKiBHZXQgdGljayAqLwogICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCi0gIHdoaWxlKF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19XVVRGKSA9PSBSRVNFVCkKKyAgd2hpbGUgKF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19XVVRGKSA9PSAwVSkKICAgewotICAgIGlmKFRpbWVvdXQgIT0gSEFMX01BWF9ERUxBWSkKKyAgICBpZiAoVGltZW91dCAhPSBIQUxfTUFYX0RFTEFZKQogICAgIHsKLSAgICAgIGlmKChUaW1lb3V0ID09IDApfHwoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IFRpbWVvdXQpKQorICAgICAgaWYgKChUaW1lb3V0ID09IDBVKSB8fCAoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQpID4gVGltZW91dCkpCiAgICAgICB7CiAgICAgICAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9USU1FT1VUOwotCiAgICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgICAgIH0KICAgICB9CiAgIH0KIAotICAvKiBDbGVhciB0aGUgV0FLRVVQVElNRVIgRmxhZyAqLworICAvKiBDbGVhciB0aGUgV2FrZXVwIHRpbWVyIEZsYWcgKi8KICAgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfV1VURik7CiAKICAgLyogQ2hhbmdlIFJUQyBzdGF0ZSAqLwpAQCAtMTI5NywyMCArMTQ3MCwxNyBAQAogICAqIEB9CiAgICovCiAKLQotLyoqIEBkZWZncm91cCBSVENFeF9Hcm91cDMgRXh0ZW5zaW9uIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMKLSAqICBAYnJpZWYgICBFeHRlbnNpb24gUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucwotICoKKy8qKiBAZGVmZ3JvdXAgUlRDRXhfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMyBFeHRlbmRlZCBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zCisgICogQGJyaWVmICAgIEV4dGVuZGVkIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMKKyAgKgogQHZlcmJhdGltCiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICAgICAgICAgICAgICAjIyMjIyBFeHRlbnNpb24gUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucyAjIyMjIworICAgICAgICAgICAgICAjIyMjIyBFeHRlbmRlZCBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zICMjIyMjCiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgIFsuLl0KICAgICBUaGlzIHN1YnNlY3Rpb24gcHJvdmlkZXMgZnVuY3Rpb25zIGFsbG93aW5nIHRvCiAgICAgICAoKykgV3JpdGUgYSBkYXRhIGluIGEgc3BlY2lmaWVkIFJUQyBCYWNrdXAgZGF0YSByZWdpc3RlcgogICAgICAgKCspIFJlYWQgYSBkYXRhIGluIGEgc3BlY2lmaWVkIFJUQyBCYWNrdXAgZGF0YSByZWdpc3RlcgotICAgICAgKCspIFNldCB0aGUgQ29hcnNlIGNhbGlicmF0aW9uIHBhcmFtZXRlcnMuCi0gICAgICAoKykgRGVhY3RpdmF0ZSB0aGUgQ29hcnNlIGNhbGlicmF0aW9uIHBhcmFtZXRlcnMKICAgICAgICgrKSBTZXQgdGhlIFNtb290aCBjYWxpYnJhdGlvbiBwYXJhbWV0ZXJzLgogICAgICAgKCspIENvbmZpZ3VyZSB0aGUgU3luY2hyb25pemF0aW9uIFNoaWZ0IENvbnRyb2wgU2V0dGluZ3MuCiAgICAgICAoKykgQ29uZmlndXJlIHRoZSBDYWxpYnJhdGlvbiBQaW5vdXQgKFJUQ19DQUxJQikgU2VsZWN0aW9uICgxSHogb3IgNTEySHopLgpAQCAtMTMyOSwyMCArMTQ5OSwyMCBAQAogICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgogICAqIEBwYXJhbSAgQmFja3VwUmVnaXN0ZXIgUlRDIEJhY2t1cCBkYXRhIFJlZ2lzdGVyIG51bWJlci4KLSAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmU6IFJUQ19CS1BfRFJ4IHdoZXJlIHggY2FuIGJlIGZyb20gMCB0byAxOSB0bwotICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeSB0aGUgcmVnaXN0ZXIuCisgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlOiBSVENfQktQX0RSeCAod2hlcmUgeCBjYW4gYmUgZnJvbSAwIHRvIDMxKQorICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gc3BlY2lmeSB0aGUgcmVnaXN0ZXIuCiAgICogQHBhcmFtICBEYXRhIERhdGEgdG8gYmUgd3JpdHRlbiBpbiB0aGUgc3BlY2lmaWVkIFJUQyBCYWNrdXAgZGF0YSByZWdpc3Rlci4KICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIHZvaWQgSEFMX1JUQ0V4X0JLVVBXcml0ZShSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgQmFja3VwUmVnaXN0ZXIsIHVpbnQzMl90IERhdGEpCiB7Ci0gIHVpbnQzMl90IHRtcCA9IDA7CisgIHVpbnQzMl90IHRtcCA9IDBVOwogCiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19SVENfQktQKEJhY2t1cFJlZ2lzdGVyKSk7CiAKLSAgdG1wID0gKHVpbnQzMl90KSYoaHJ0Yy0+SW5zdGFuY2UtPkJLUDBSKTsKLSAgdG1wICs9IChCYWNrdXBSZWdpc3RlciAqIDQpOworICB0bXAgPSAodWludDMyX3QpICYgKGhydGMtPkluc3RhbmNlLT5CS1AwUik7CisgIHRtcCArPSAoQmFja3VwUmVnaXN0ZXIgKiA0VSk7CiAKICAgLyogV3JpdGUgdGhlIHNwZWNpZmllZCByZWdpc3RlciAqLwogICAqKF9fSU8gdWludDMyX3QgKil0bXAgPSAodWludDMyX3QpRGF0YTsKQEAgLTEzNTMsMTkgKzE1MjMsMTkgQEAKICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcGFyYW0gIEJhY2t1cFJlZ2lzdGVyIFJUQyBCYWNrdXAgZGF0YSBSZWdpc3RlciBudW1iZXIuCi0gICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlOiBSVENfQktQX0RSeCB3aGVyZSB4IGNhbiBiZSBmcm9tIDAgdG8gMTkgdG8KLSAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnkgdGhlIHJlZ2lzdGVyLgorICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZTogUlRDX0JLUF9EUnggKHdoZXJlIHggY2FuIGJlIGZyb20gMCB0byAzMSkKKyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHNwZWNpZnkgdGhlIHJlZ2lzdGVyLgogICAqIEByZXR2YWwgUmVhZCB2YWx1ZQogICAqLwogdWludDMyX3QgSEFMX1JUQ0V4X0JLVVBSZWFkKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBCYWNrdXBSZWdpc3RlcikKIHsKLSAgdWludDMyX3QgdG1wID0gMDsKKyAgdWludDMyX3QgdG1wID0gMFU7CiAKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19CS1AoQmFja3VwUmVnaXN0ZXIpKTsKIAotICB0bXAgPSAodWludDMyX3QpJihocnRjLT5JbnN0YW5jZS0+QktQMFIpOwotICB0bXAgKz0gKEJhY2t1cFJlZ2lzdGVyICogNCk7CisgIHRtcCA9ICh1aW50MzJfdCkgJiAoaHJ0Yy0+SW5zdGFuY2UtPkJLUDBSKTsKKyAgdG1wICs9IChCYWNrdXBSZWdpc3RlciAqIDRVKTsKIAogICAvKiBSZWFkIHRoZSBzcGVjaWZpZWQgcmVnaXN0ZXIgKi8KICAgcmV0dXJuICgqKF9fSU8gdWludDMyX3QgKil0bXApOwpAQCAtMTM3NiwyOSArMTU0NiwyOSBAQAogICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgogICAqIEBwYXJhbSAgU21vb3RoQ2FsaWJQZXJpb2QgU2VsZWN0IHRoZSBTbW9vdGggQ2FsaWJyYXRpb24gUGVyaW9kLgotICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzIDoKKyAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICAgKiAgICAgICAgICAgICBAYXJnIFJUQ19TTU9PVEhDQUxJQl9QRVJJT0RfMzJTRUM6IFRoZSBzbW9vdGggY2FsaWJyYXRpb24gcGVyaW9kIGlzIDMycy4KICAgKiAgICAgICAgICAgICBAYXJnIFJUQ19TTU9PVEhDQUxJQl9QRVJJT0RfMTZTRUM6IFRoZSBzbW9vdGggY2FsaWJyYXRpb24gcGVyaW9kIGlzIDE2cy4KICAgKiAgICAgICAgICAgICBAYXJnIFJUQ19TTU9PVEhDQUxJQl9QRVJJT0RfOFNFQzogVGhlIHNtb290aCBjYWxpYnJhdGlvbiBwZXJpb2QgaXMgOHMuCiAgICogQHBhcmFtICBTbW9vdGhDYWxpYlBsdXNQdWxzZXMgU2VsZWN0IHRvIFNldCBvciByZXNldCB0aGUgQ0FMUCBiaXQuCiAgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKLSAgKiAgICAgICAgICAgICBAYXJnIFJUQ19TTU9PVEhDQUxJQl9QTFVTUFVMU0VTX1NFVDogQWRkIG9uZSBSVENDTEsgcHVsc2VzIGV2ZXJ5IDIqMTEgcHVsc2VzLgorICAqICAgICAgICAgICAgIEBhcmcgUlRDX1NNT09USENBTElCX1BMVVNQVUxTRVNfU0VUOiBBZGQgb25lIFJUQ0NMSyBwdWxzZSBldmVyeSAyKjExIHB1bHNlcy4KICAgKiAgICAgICAgICAgICBAYXJnIFJUQ19TTU9PVEhDQUxJQl9QTFVTUFVMU0VTX1JFU0VUOiBObyBSVENDTEsgcHVsc2VzIGFyZSBhZGRlZC4KLSAgKiBAcGFyYW0gIFNtb3V0aENhbGliTWludXNQdWxzZXNWYWx1ZSBTZWxlY3QgdGhlIHZhbHVlIG9mIENBTE1bODBdIGJpdHMuCisgICogQHBhcmFtICBTbW9vdGhDYWxpYk1pbnVzUHVsc2VzVmFsdWUgU2VsZWN0IHRoZSB2YWx1ZSBvZiBDQUxNWzg6MF0gYml0cy4KICAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIGFueSB2YWx1ZSBmcm9tIDAgdG8gMHgwMDAwMDFGRi4KICAgKiBAbm90ZSAgIFRvIGRlYWN0aXZhdGUgdGhlIHNtb290aCBjYWxpYnJhdGlvbiwgdGhlIGZpZWxkIFNtb290aENhbGliUGx1c1B1bHNlcwogICAqICAgICAgICAgbXVzdCBiZSBlcXVhbCB0byBTTU9PVEhDQUxJQl9QTFVTUFVMU0VTX1JFU0VUIGFuZCB0aGUgZmllbGQKLSAgKiAgICAgICAgIFNtb3V0aENhbGliTWludXNQdWxzZXNWYWx1ZSBtdXN0IGJlIGVxdWFsIHRvIDAuCisgICogICAgICAgICBTbW9vdGhDYWxpYk1pbnVzUHVsc2VzVmFsdWUgbXVzdCBiZSBlcXVhbCB0byAwLgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1NldFNtb290aENhbGliKFJUQ19IYW5kbGVUeXBlRGVmKiBocnRjLCB1aW50MzJfdCBTbW9vdGhDYWxpYlBlcmlvZCwgdWludDMyX3QgU21vb3RoQ2FsaWJQbHVzUHVsc2VzLCB1aW50MzJfdCBTbW91dGhDYWxpYk1pbnVzUHVsc2VzVmFsdWUpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0U21vb3RoQ2FsaWIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIHVpbnQzMl90IFNtb290aENhbGliUGVyaW9kLCB1aW50MzJfdCBTbW9vdGhDYWxpYlBsdXNQdWxzZXMsIHVpbnQzMl90IFNtb290aENhbGliTWludXNQdWxzZXNWYWx1ZSkKIHsKLSAgdWludDMyX3QgdGlja3N0YXJ0ID0gMDsKKyAgdWludDMyX3QgdGlja3N0YXJ0ID0gMFU7CiAKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19TTU9PVEhfQ0FMSUJfUEVSSU9EKFNtb290aENhbGliUGVyaW9kKSk7CiAgIGFzc2VydF9wYXJhbShJU19SVENfU01PT1RIX0NBTElCX1BMVVMoU21vb3RoQ2FsaWJQbHVzUHVsc2VzKSk7Ci0gIGFzc2VydF9wYXJhbShJU19SVENfU01PT1RIX0NBTElCX01JTlVTKFNtb3V0aENhbGliTWludXNQdWxzZXNWYWx1ZSkpOworICBhc3NlcnRfcGFyYW0oSVNfUlRDX1NNT09USF9DQUxJQl9NSU5VUyhTbW9vdGhDYWxpYk1pbnVzUHVsc2VzVmFsdWUpKTsKIAogICAvKiBQcm9jZXNzIExvY2tlZCAqLwogICBfX0hBTF9MT0NLKGhydGMpOwpAQCAtMTQwOSwxNSArMTU3OSwxNSBAQAogICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoaHJ0Yyk7CiAKICAgLyogY2hlY2sgaWYgYSBjYWxpYnJhdGlvbiBpcyBwZW5kaW5nKi8KLSAgaWYoKGhydGMtPkluc3RhbmNlLT5JU1IgJiBSVENfSVNSX1JFQ0FMUEYpICE9IFJFU0VUKQorICBpZiAoKGhydGMtPkluc3RhbmNlLT5JU1IgJiBSVENfSVNSX1JFQ0FMUEYpICE9IDBVKQogICB7Ci0gIC8qIEdldCB0aWNrICovCi0gIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CisgICAgLyogR2V0IHRpY2sgKi8KKyAgICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCiAgICAgLyogY2hlY2sgaWYgYSBjYWxpYnJhdGlvbiBpcyBwZW5kaW5nKi8KLSAgICB3aGlsZSgoaHJ0Yy0+SW5zdGFuY2UtPklTUiAmIFJUQ19JU1JfUkVDQUxQRikgIT0gUkVTRVQpCisgICAgd2hpbGUgKChocnRjLT5JbnN0YW5jZS0+SVNSICYgUlRDX0lTUl9SRUNBTFBGKSAhPSAwVSkKICAgICB7Ci0gICAgICBpZigoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCApID4gUlRDX1RJTUVPVVRfVkFMVUUpCisgICAgICBpZiAoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQpID4gUlRDX1RJTUVPVVRfVkFMVUUpCiAgICAgICB7CiAgICAgICAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICAgICAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKQEAgLTE0MzQsNyArMTYwNCw5IEBACiAgIH0KIAogICAvKiBDb25maWd1cmUgdGhlIFNtb290aCBjYWxpYnJhdGlvbiBzZXR0aW5ncyAqLwotICBocnRjLT5JbnN0YW5jZS0+Q0FMUiA9ICh1aW50MzJfdCkoKHVpbnQzMl90KVNtb290aENhbGliUGVyaW9kIHwgKHVpbnQzMl90KVNtb290aENhbGliUGx1c1B1bHNlcyB8ICh1aW50MzJfdClTbW91dGhDYWxpYk1pbnVzUHVsc2VzVmFsdWUpOworICBocnRjLT5JbnN0YW5jZS0+Q0FMUiA9ICh1aW50MzJfdCkoKHVpbnQzMl90KVNtb290aENhbGliUGVyaW9kICAgICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdClTbW9vdGhDYWxpYlBsdXNQdWxzZXMgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3QpU21vb3RoQ2FsaWJNaW51c1B1bHNlc1ZhbHVlKTsKIAogICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CkBAIC0xNDU0LDE2ICsxNjI2LDE2IEBACiAgICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCiAgICogQHBhcmFtICBTaGlmdEFkZDFTIFNlbGVjdCB0byBhZGQgb3Igbm90IDEgc2Vjb25kIHRvIHRoZSB0aW1lIGNhbGVuZGFyLgotICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMgOgorICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICAgQGFyZyBSVENfU0hJRlRBREQxU19TRVQ6IEFkZCBvbmUgc2Vjb25kIHRvIHRoZSBjbG9jayBjYWxlbmRhci4KICAgKiAgICAgICAgICAgICBAYXJnIFJUQ19TSElGVEFERDFTX1JFU0VUOiBObyBlZmZlY3QuCiAgICogQHBhcmFtICBTaGlmdFN1YkZTIFNlbGVjdCB0aGUgbnVtYmVyIG9mIFNlY29uZCBGcmFjdGlvbnMgdG8gc3Vic3RpdHV0ZS4KICAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIGFueSB2YWx1ZSBmcm9tIDAgdG8gMHg3RkZGLgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1NldFN5bmNocm9TaGlmdChSVENfSGFuZGxlVHlwZURlZiogaHJ0YywgdWludDMyX3QgU2hpZnRBZGQxUywgdWludDMyX3QgU2hpZnRTdWJGUykKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRTeW5jaHJvU2hpZnQoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIHVpbnQzMl90IFNoaWZ0QWRkMVMsIHVpbnQzMl90IFNoaWZ0U3ViRlMpCiB7Ci0gIHVpbnQzMl90IHRpY2tzdGFydCA9IDA7CisgIHVpbnQzMl90IHRpY2tzdGFydCA9IDBVOwogCiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19SVENfU0hJRlRfQUREMVMoU2hpZnRBZGQxUykpOwpAQCAtMTQ4MCw1OSArMTY1Miw1OSBAQAogICAvKiBHZXQgdGljayAqLwogICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCi0gICAgLyogV2FpdCB1bnRpbCB0aGUgc2hpZnQgaXMgY29tcGxldGVkKi8KLSAgICB3aGlsZSgoaHJ0Yy0+SW5zdGFuY2UtPklTUiAmIFJUQ19JU1JfU0hQRikgIT0gUkVTRVQpCi0gICAgewotICAgICAgaWYoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IFJUQ19USU1FT1VUX1ZBTFVFKQotICAgICAgewotICAgICAgICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KLSAgICAgICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7Ci0KLSAgICAgICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1RJTUVPVVQ7Ci0KLSAgICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwotICAgICAgICBfX0hBTF9VTkxPQ0soaHJ0Yyk7Ci0KLSAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOwotICAgICAgfQotICAgIH0KLQotICAgIC8qIENoZWNrIGlmIHRoZSByZWZlcmVuY2UgY2xvY2sgZGV0ZWN0aW9uIGlzIGRpc2FibGVkICovCi0gICAgaWYoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9SRUZDS09OKSA9PSBSRVNFVCkKLSAgICB7Ci0gICAgICAvKiBDb25maWd1cmUgdGhlIFNoaWZ0IHNldHRpbmdzICovCi0gICAgICBocnRjLT5JbnN0YW5jZS0+U0hJRlRSID0gKHVpbnQzMl90KSh1aW50MzJfdCkoU2hpZnRTdWJGUykgfCAodWludDMyX3QpKFNoaWZ0QWRkMVMpOwotCi0gICAgICAvKiBJZiAgUlRDX0NSX0JZUFNIQUQgYml0ID0gMCwgd2FpdCBmb3Igc3luY2hybyBlbHNlIHRoaXMgY2hlY2sgaXMgbm90IG5lZWRlZCAqLwotICAgICAgaWYoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9CWVBTSEFEKSA9PSBSRVNFVCkKLSAgICAgIHsKLSAgICAgICAgaWYoSEFMX1JUQ19XYWl0Rm9yU3luY2hybyhocnRjKSAhPSBIQUxfT0spCi0gICAgICAgIHsKLSAgICAgICAgICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KLSAgICAgICAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKLQotICAgICAgICAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9FUlJPUjsKLQotICAgICAgICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgICAgICAgICBfX0hBTF9VTkxPQ0soaHJ0Yyk7Ci0KLSAgICAgICAgICByZXR1cm4gSEFMX0VSUk9SOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgfQotICAgIGVsc2UKKyAgLyogV2FpdCB1bnRpbCB0aGUgc2hpZnQgaXMgY29tcGxldGVkICovCisgIHdoaWxlICgoaHJ0Yy0+SW5zdGFuY2UtPklTUiAmIFJUQ19JU1JfU0hQRikgIT0gMFUpCisgIHsKKyAgICBpZiAoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQpID4gUlRDX1RJTUVPVVRfVkFMVUUpCiAgICAgewogICAgICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCiAgICAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKIAotICAgICAgLyogQ2hhbmdlIFJUQyBzdGF0ZSAqLwotICAgICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX0VSUk9SOworICAgICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1RJTUVPVVQ7CiAKICAgICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KICAgICAgIF9fSEFMX1VOTE9DSyhocnRjKTsKIAotICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgICB9CisgIH0KKworICAvKiBDaGVjayBpZiB0aGUgcmVmZXJlbmNlIGNsb2NrIGRldGVjdGlvbiBpcyBkaXNhYmxlZCAqLworICBpZiAoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9SRUZDS09OKSA9PSAwVSkKKyAgeworICAgIC8qIENvbmZpZ3VyZSB0aGUgU2hpZnQgc2V0dGluZ3MgKi8KKyAgICBocnRjLT5JbnN0YW5jZS0+U0hJRlRSID0gKHVpbnQzMl90KSh1aW50MzJfdCkoU2hpZnRTdWJGUykgfCAodWludDMyX3QpKFNoaWZ0QWRkMVMpOworCisgICAgLyogSWYgIFJUQ19DUl9CWVBTSEFEIGJpdCA9IDAsIHdhaXQgZm9yIHN5bmNocm8gZWxzZSB0aGlzIGNoZWNrIGlzIG5vdCBuZWVkZWQgKi8KKyAgICBpZiAoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9CWVBTSEFEKSA9PSAwVSkKKyAgICB7CisgICAgICBpZiAoSEFMX1JUQ19XYWl0Rm9yU3luY2hybyhocnRjKSAhPSBIQUxfT0spCisgICAgICB7CisgICAgICAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLworICAgICAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKKworICAgICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfRVJST1I7CisKKyAgICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICAgICAgICBfX0hBTF9VTkxPQ0soaHJ0Yyk7CisKKyAgICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgICAgIH0KKyAgICB9CisgIH0KKyAgZWxzZQorICB7CisgICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCisgICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CisKKyAgICAvKiBDaGFuZ2UgUlRDIHN0YXRlICovCisgICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX0VSUk9SOworCisgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICAgIF9fSEFMX1VOTE9DSyhocnRjKTsKKworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KIAogICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CkBAIC0xNTUwLDEzICsxNzIyLDEzIEBACiAgICogQGJyaWVmICBDb25maWd1cmVzIHRoZSBDYWxpYnJhdGlvbiBQaW5vdXQgKFJUQ19DQUxJQikgU2VsZWN0aW9uICgxSHogb3IgNTEySHopLgogICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgotICAqIEBwYXJhbSAgQ2FsaWJPdXRwdXQgU2VsZWN0IHRoZSBDYWxpYnJhdGlvbiBvdXRwdXQgU2VsZWN0aW9uIC4KKyAgKiBAcGFyYW0gIENhbGliT3V0cHV0IFNlbGVjdCB0aGUgQ2FsaWJyYXRpb24gb3V0cHV0IFNlbGVjdGlvbi4KICAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgogICAqICAgICAgICAgICAgIEBhcmcgUlRDX0NBTElCT1VUUFVUXzUxMkhaOiBBIHNpZ25hbCBoYXMgYSByZWd1bGFyIHdhdmVmb3JtIGF0IDUxMkh6LgogICAqICAgICAgICAgICAgIEBhcmcgUlRDX0NBTElCT1VUUFVUXzFIWjogQSBzaWduYWwgaGFzIGEgcmVndWxhciB3YXZlZm9ybSBhdCAxSHouCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0Q2FsaWJyYXRpb25PdXRQdXQoUlRDX0hhbmRsZVR5cGVEZWYqIGhydGMsIHVpbnQzMl90IENhbGliT3V0cHV0KQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1NldENhbGlicmF0aW9uT3V0UHV0KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBDYWxpYk91dHB1dCkKIHsKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19DQUxJQl9PVVRQVVQoQ2FsaWJPdXRwdXQpKTsKQEAgLTE1OTUsNyArMTc2Nyw3IEBACiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9EZWFjdGl2YXRlQ2FsaWJyYXRpb25PdXRQdXQoUlRDX0hhbmRsZVR5cGVEZWYqIGhydGMpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfRGVhY3RpdmF0ZUNhbGlicmF0aW9uT3V0UHV0KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKQogewogICAvKiBQcm9jZXNzIExvY2tlZCAqLwogICBfX0hBTF9MT0NLKGhydGMpOwpAQCAtMTYyNSw4ICsxNzk3LDEwIEBACiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRSZWZDbG9jayhSVENfSGFuZGxlVHlwZURlZiogaHJ0YykKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRSZWZDbG9jayhSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKIHsKKyAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzOworCiAgIC8qIFByb2Nlc3MgTG9ja2VkICovCiAgIF9fSEFMX0xPQ0soaHJ0Yyk7CiAKQEAgLTE2MzUsMzggKzE4MDksMzAgQEAKICAgLyogRGlzYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoaHJ0Yyk7CiAKLSAgLyogU2V0IEluaXRpYWxpemF0aW9uIG1vZGUgKi8KLSAgaWYoUlRDX0VudGVySW5pdE1vZGUoaHJ0YykgIT0gSEFMX09LKQorICAvKiBFbnRlciBJbml0aWFsaXphdGlvbiBtb2RlICovCisgIHN0YXR1cyA9IFJUQ19FbnRlckluaXRNb2RlKGhydGMpOworCisgIGlmIChzdGF0dXMgPT0gSEFMX09LKQogICB7Ci0gICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCi0gICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7Ci0KLSAgICAvKiBTZXQgUlRDIHN0YXRlKi8KLSAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfRVJST1I7Ci0KLSAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCi0gICAgX19IQUxfVU5MT0NLKGhydGMpOwotCi0gICAgcmV0dXJuIEhBTF9FUlJPUjsKLSAgfQotICBlbHNlCi0gIHsKKyAgICAvKiBFbmFibGUgdGhlIHJlZmVyZW5jZSBjbG9jayBkZXRlY3Rpb24gKi8KICAgICBfX0hBTF9SVENfQ0xPQ0tSRUZfREVURUNUSU9OX0VOQUJMRShocnRjKTsKIAogICAgIC8qIEV4aXQgSW5pdGlhbGl6YXRpb24gbW9kZSAqLwotICAgIGhydGMtPkluc3RhbmNlLT5JU1IgJj0gKHVpbnQzMl90KX5SVENfSVNSX0lOSVQ7CisgICAgc3RhdHVzID0gUlRDX0V4aXRJbml0TW9kZShocnRjKTsKKyAgfQorCisgIGlmIChzdGF0dXMgPT0gSEFMX09LKQorICB7CisgICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1JFQURZOwogICB9CiAKICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCiAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOwogCi0gICAvKiBDaGFuZ2UgUlRDIHN0YXRlICovCi0gIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9SRUFEWTsKLQogICAvKiBQcm9jZXNzIFVubG9ja2VkICovCiAgIF9fSEFMX1VOTE9DSyhocnRjKTsKIAotICByZXR1cm4gSEFMX09LOworICByZXR1cm4gc3RhdHVzOwogfQogCiAvKioKQEAgLTE2NzUsOCArMTg0MSwxMCBAQAogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfRGVhY3RpdmF0ZVJlZkNsb2NrKFJUQ19IYW5kbGVUeXBlRGVmKiBocnRjKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X0RlYWN0aXZhdGVSZWZDbG9jayhSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKIHsKKyAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzOworCiAgIC8qIFByb2Nlc3MgTG9ja2VkICovCiAgIF9fSEFMX0xPQ0soaHJ0Yyk7CiAKQEAgLTE2ODUsMzggKzE4NTMsMzAgQEAKICAgLyogRGlzYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoaHJ0Yyk7CiAKLSAgLyogU2V0IEluaXRpYWxpemF0aW9uIG1vZGUgKi8KLSAgaWYoUlRDX0VudGVySW5pdE1vZGUoaHJ0YykgIT0gSEFMX09LKQorICAvKiBFbnRlciBJbml0aWFsaXphdGlvbiBtb2RlICovCisgIHN0YXR1cyA9IFJUQ19FbnRlckluaXRNb2RlKGhydGMpOworCisgIGlmIChzdGF0dXMgPT0gSEFMX09LKQogICB7Ci0gICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCi0gICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7Ci0KLSAgICAvKiBTZXQgUlRDIHN0YXRlKi8KLSAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfRVJST1I7Ci0KLSAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCi0gICAgX19IQUxfVU5MT0NLKGhydGMpOwotCi0gICAgcmV0dXJuIEhBTF9FUlJPUjsKLSAgfQotICBlbHNlCi0gIHsKKyAgICAvKiBEaXNhYmxlIHRoZSByZWZlcmVuY2UgY2xvY2sgZGV0ZWN0aW9uICovCiAgICAgX19IQUxfUlRDX0NMT0NLUkVGX0RFVEVDVElPTl9ESVNBQkxFKGhydGMpOwogCiAgICAgLyogRXhpdCBJbml0aWFsaXphdGlvbiBtb2RlICovCi0gICAgaHJ0Yy0+SW5zdGFuY2UtPklTUiAmPSAodWludDMyX3QpflJUQ19JU1JfSU5JVDsKKyAgICBzdGF0dXMgPSBSVENfRXhpdEluaXRNb2RlKGhydGMpOworICB9CisKKyAgaWYgKHN0YXR1cyA9PSBIQUxfT0spCisgIHsKKyAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfUkVBRFk7CiAgIH0KIAogICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CiAKLSAgLyogQ2hhbmdlIFJUQyBzdGF0ZSAqLwotICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfUkVBRFk7Ci0KICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwogICBfX0hBTF9VTkxPQ0soaHJ0Yyk7CiAKLSAgcmV0dXJuIEhBTF9PSzsKKyAgcmV0dXJuIHN0YXR1czsKIH0KIAogLyoqCkBAIC0xNzI3LDcgKzE4ODcsNyBAQAogICAqICAgICAgICAgZGlyZWN0bHkgZnJvbSB0aGUgQ2FsZW5kYXIgY291bnRlci4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9FbmFibGVCeXBhc3NTaGFkb3coUlRDX0hhbmRsZVR5cGVEZWYqIGhydGMpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfRW5hYmxlQnlwYXNzU2hhZG93KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKQogewogICAvKiBQcm9jZXNzIExvY2tlZCAqLwogICBfX0hBTF9MT0NLKGhydGMpOwpAQCAtMTc2MCw3ICsxOTIwLDcgQEAKICAgKiAgICAgICAgIGRpcmVjdGx5IGZyb20gdGhlIENhbGVuZGFyIGNvdW50ZXIuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfRGlzYWJsZUJ5cGFzc1NoYWRvdyhSVENfSGFuZGxlVHlwZURlZiogaHJ0YykKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9EaXNhYmxlQnlwYXNzU2hhZG93KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKQogewogICAvKiBQcm9jZXNzIExvY2tlZCAqLwogICBfX0hBTF9MT0NLKGhydGMpOwpAQCAtMTc4OSwxNSArMTk0OSwxNSBAQAogICAqIEB9CiAgICovCiAKLSAgLyoqIEBkZWZncm91cCBSVENFeF9Hcm91cDQgRXh0ZW5kZWQgZmVhdHVyZXMgZnVuY3Rpb25zCi0gKiAgQGJyaWVmICAgIEV4dGVuZGVkIGZlYXR1cmVzIGZ1bmN0aW9ucwotICoKKy8qKiBAZGVmZ3JvdXAgUlRDRXhfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwNCBFeHRlbmRlZCBmZWF0dXJlcyBmdW5jdGlvbnMKKyAgKiBAYnJpZWYgICAgRXh0ZW5kZWQgZmVhdHVyZXMgZnVuY3Rpb25zCisgICoKIEB2ZXJiYXRpbQogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgIyMjIyMgRXh0ZW5kZWQgZmVhdHVyZXMgZnVuY3Rpb25zICMjIyMjCiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgIFsuLl0gIFRoaXMgc2VjdGlvbiBwcm92aWRlcyBmdW5jdGlvbnMgYWxsb3dpbmcgdG86Ci0gICAgICAoKykgUlRDIEFscmFtIEIgY2FsbGJhY2sKKyAgICAgICgrKSBSVEMgQWxhcm0gQiBjYWxsYmFjawogICAgICAgKCspIFJUQyBQb2xsIGZvciBBbGFybSBCIHJlcXVlc3QKIAogQGVuZHZlcmJhdGltCkBAIC0xODE1LDEzICsxOTc1LDEzIEBACiAgIC8qIFByZXZlbnQgdW51c2VkIGFyZ3VtZW50KHMpIGNvbXBpbGF0aW9uIHdhcm5pbmcgKi8KICAgVU5VU0VEKGhydGMpOwogCi0gIC8qIE5PVEUgOiBUaGlzIGZ1bmN0aW9uIFNob3VsZCBub3QgYmUgbW9kaWZpZWQsIHdoZW4gdGhlIGNhbGxiYWNrIGlzIG5lZWRlZCwKLSAgICAgICAgICAgIHRoZSBIQUxfUlRDX0FsYXJtQkV2ZW50Q2FsbGJhY2sgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQorICAvKiBOT1RFOiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBub3QgYmUgbW9kaWZpZWQsIHdoZW4gdGhlIGNhbGxiYWNrIGlzIG5lZWRlZCwKKyAgICAgICAgICAgdGhlIEhBTF9SVENFeF9BbGFybUJFdmVudENhbGxiYWNrIGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKICAgICovCiB9CiAKIC8qKgotICAqIEBicmllZiAgVGhpcyBmdW5jdGlvbiBoYW5kbGVzIEFsYXJtQiBQb2xsaW5nIHJlcXVlc3QuCisgICogQGJyaWVmICBIYW5kbGVzIEFsYXJtIEIgUG9sbGluZyByZXF1ZXN0LgogICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgogICAqIEBwYXJhbSAgVGltZW91dCBUaW1lb3V0IGR1cmF0aW9uCkBAIC0xODI5LDE2ICsxOTg5LDE3IEBACiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfUG9sbEZvckFsYXJtQkV2ZW50KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBUaW1lb3V0KQogewotICB1aW50MzJfdCB0aWNrc3RhcnQgPSAwOworICB1aW50MzJfdCB0aWNrc3RhcnQgPSAwVTsKIAogICAvKiBHZXQgdGljayAqLwogICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCi0gIHdoaWxlKF9fSEFMX1JUQ19BTEFSTV9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19BTFJCRikgPT0gUkVTRVQpCisgIC8qIFdhaXQgdGlsbCBSVEMgQUxSQkYgZmxhZyBpcyBzZXQgYW5kIGlmIHRpbWVvdXQgaXMgcmVhY2hlZCBleGl0ICovCisgIHdoaWxlIChfX0hBTF9SVENfQUxBUk1fR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfQUxSQkYpID09IDBVKQogICB7Ci0gICAgaWYoVGltZW91dCAhPSBIQUxfTUFYX0RFTEFZKQorICAgIGlmIChUaW1lb3V0ICE9IEhBTF9NQVhfREVMQVkpCiAgICAgewotICAgICAgaWYoKFRpbWVvdXQgPT0gMCl8fCgoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCApID4gVGltZW91dCkpCisgICAgICBpZiAoKFRpbWVvdXQgPT0gMFUpIHx8ICgoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCkgPiBUaW1lb3V0KSkKICAgICAgIHsKICAgICAgICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1RJTUVPVVQ7CiAgICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKQEAgLTE4NDYsNyArMjAwNyw3IEBACiAgICAgfQogICB9CiAKLSAgLyogQ2xlYXIgdGhlIEFsYXJtIEZsYWcgKi8KKyAgLyogQ2xlYXIgdGhlIEFsYXJtIGZsYWcgKi8KICAgX19IQUxfUlRDX0FMQVJNX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfQUxSQkYpOwogCiAgIC8qIENoYW5nZSBSVEMgc3RhdGUgKi8KQEAgLTE4NzEsNCArMjAzMiwzIEBACiAvKioKICAgKiBAfQogICAqLwotCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmN3h4X2hhbF9zbWFydGNhcmQuYyBiL1NyYy9zdG0zMmY3eHhfaGFsX3NtYXJ0Y2FyZC5jCmluZGV4IDJjZDAwYmIuLjk4NjY4YjQgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY3eHhfaGFsX3NtYXJ0Y2FyZC5jCisrKyBiL1NyYy9zdG0zMmY3eHhfaGFsX3NtYXJ0Y2FyZC5jCkBAIC0yMTYyLDcgKzIxNjIsNyBAQAogICAqICAgICAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBTTUFSVENBUkQgbW9kdWxlLgogICAqIEByZXR2YWwgU01BUlRDQVJEIGhhbmRsZSBzdGF0ZQogICAqLwotSEFMX1NNQVJUQ0FSRF9TdGF0ZVR5cGVEZWYgSEFMX1NNQVJUQ0FSRF9HZXRTdGF0ZShTTUFSVENBUkRfSGFuZGxlVHlwZURlZiAqaHNtYXJ0Y2FyZCkKK0hBTF9TTUFSVENBUkRfU3RhdGVUeXBlRGVmIEhBTF9TTUFSVENBUkRfR2V0U3RhdGUoY29uc3QgU01BUlRDQVJEX0hhbmRsZVR5cGVEZWYgKmhzbWFydGNhcmQpCiB7CiAgIC8qIFJldHVybiBTTUFSVENBUkQgaGFuZGxlIHN0YXRlICovCiAgIHVpbnQzMl90IHRlbXAxOwpAQCAtMjE3OSw3ICsyMTc5LDcgQEAKICAgKiAgICAgICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIHRoZSBzcGVjaWZpZWQgU01BUlRDQVJEIG1vZHVsZS4KICAgKiBAcmV0dmFsIFNNQVJUQ0FSRCBoYW5kbGUgRXJyb3IgQ29kZQogICAqLwotdWludDMyX3QgSEFMX1NNQVJUQ0FSRF9HZXRFcnJvcihTTUFSVENBUkRfSGFuZGxlVHlwZURlZiAqaHNtYXJ0Y2FyZCkKK3VpbnQzMl90IEhBTF9TTUFSVENBUkRfR2V0RXJyb3IoY29uc3QgU01BUlRDQVJEX0hhbmRsZVR5cGVEZWYgKmhzbWFydGNhcmQpCiB7CiAgIHJldHVybiBoc21hcnRjYXJkLT5FcnJvckNvZGU7CiB9CmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmN3h4X2hhbF9zbWJ1cy5jIGIvU3JjL3N0bTMyZjd4eF9oYWxfc21idXMuYwppbmRleCA3ZGI3YTNkLi41M2EwZTU5IDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmN3h4X2hhbF9zbWJ1cy5jCisrKyBiL1NyYy9zdG0zMmY3eHhfaGFsX3NtYnVzLmMKQEAgLTU4NCw2ICs1ODQsOSBAQAogLyoqCiAgICogQGJyaWVmICBSZWdpc3RlciBhIFVzZXIgU01CVVMgQ2FsbGJhY2sKICAgKiAgICAgICAgIFRvIGJlIHVzZWQgaW5zdGVhZCBvZiB0aGUgd2VhayBwcmVkZWZpbmVkIGNhbGxiYWNrCisgICogQG5vdGUgICBUaGUgSEFMX1NNQlVTX1JlZ2lzdGVyQ2FsbGJhY2soKSBtYXkgYmUgY2FsbGVkIGJlZm9yZSBIQUxfU01CVVNfSW5pdCgpIGluIAorICAqICAgICAgICAgSEFMX1NNQlVTX1NUQVRFX1JFU0VUIHRvIHJlZ2lzdGVyIGNhbGxiYWNrcyBmb3IgSEFMX1NNQlVTX01TUElOSVRfQ0JfSUQgYW5kIAorICAqICAgICAgICAgSEFMX1NNQlVTX01TUERFSU5JVF9DQl9JRC4KICAgKiBAcGFyYW0gIGhzbWJ1cyBQb2ludGVyIHRvIGEgU01CVVNfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciB0aGUgc3BlY2lmaWVkIFNNQlVTLgogICAqIEBwYXJhbSAgQ2FsbGJhY2tJRCBJRCBvZiB0aGUgY2FsbGJhY2sgdG8gYmUgcmVnaXN0ZXJlZApAQCAtNjEzLDkgKzYxNiw2IEBACiAgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgfQogCi0gIC8qIFByb2Nlc3MgbG9ja2VkICovCi0gIF9fSEFMX0xPQ0soaHNtYnVzKTsKLQogICBpZiAoSEFMX1NNQlVTX1NUQVRFX1JFQURZID09IGhzbWJ1cy0+U3RhdGUpCiAgIHsKICAgICBzd2l0Y2ggKENhbGxiYWNrSUQpCkBAIC02OTEsMTQgKzY5MSwxNSBAQAogICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7CiAgIH0KIAotICAvKiBSZWxlYXNlIExvY2sgKi8KLSAgX19IQUxfVU5MT0NLKGhzbWJ1cyk7CiAgIHJldHVybiBzdGF0dXM7CiB9CiAKIC8qKgogICAqIEBicmllZiAgVW5yZWdpc3RlciBhbiBTTUJVUyBDYWxsYmFjawogICAqICAgICAgICAgU01CVVMgY2FsbGJhY2sgaXMgcmVkaXJlY3RlZCB0byB0aGUgd2VhayBwcmVkZWZpbmVkIGNhbGxiYWNrCisgICogQG5vdGUgICBUaGUgSEFMX1NNQlVTX1VuUmVnaXN0ZXJDYWxsYmFjaygpIG1heSBiZSBjYWxsZWQgYmVmb3JlIEhBTF9TTUJVU19Jbml0KCkgaW4gCisgICogICAgICAgICBIQUxfU01CVVNfU1RBVEVfUkVTRVQgdG8gdW4tcmVnaXN0ZXIgY2FsbGJhY2tzIGZvciBIQUxfU01CVVNfTVNQSU5JVF9DQl9JRCBhbmQgCisgICogICAgICAgICBIQUxfU01CVVNfTVNQREVJTklUX0NCX0lECiAgICogQHBhcmFtICBoc21idXMgUG9pbnRlciB0byBhIFNNQlVTX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBTTUJVUy4KICAgKiBAcGFyYW0gIENhbGxiYWNrSUQgSUQgb2YgdGhlIGNhbGxiYWNrIHRvIGJlIHVucmVnaXN0ZXJlZApAQCAtNzE5LDkgKzcyMCw2IEBACiB7CiAgIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1cyA9IEhBTF9PSzsKIAotICAvKiBQcm9jZXNzIGxvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhzbWJ1cyk7Ci0KICAgaWYgKEhBTF9TTUJVU19TVEFURV9SRUFEWSA9PSBoc21idXMtPlN0YXRlKQogICB7CiAgICAgc3dpdGNoIChDYWxsYmFja0lEKQpAQCAtNzk3LDggKzc5NSw2IEBACiAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKICAgfQogCi0gIC8qIFJlbGVhc2UgTG9jayAqLwotICBfX0hBTF9VTkxPQ0soaHNtYnVzKTsKICAgcmV0dXJuIHN0YXR1czsKIH0KIApAQCAtODIyLDggKzgxOCw2IEBACiAKICAgICByZXR1cm4gSEFMX0VSUk9SOwogICB9Ci0gIC8qIFByb2Nlc3MgbG9ja2VkICovCi0gIF9fSEFMX0xPQ0soaHNtYnVzKTsKIAogICBpZiAoSEFMX1NNQlVTX1NUQVRFX1JFQURZID09IGhzbWJ1cy0+U3RhdGUpCiAgIHsKQEAgLTgzOCw4ICs4MzIsNiBAQAogICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7CiAgIH0KIAotICAvKiBSZWxlYXNlIExvY2sgKi8KLSAgX19IQUxfVU5MT0NLKGhzbWJ1cyk7CiAgIHJldHVybiBzdGF0dXM7CiB9CiAKQEAgLTg1NCw5ICs4NDYsNiBAQAogewogICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfT0s7CiAKLSAgLyogUHJvY2VzcyBsb2NrZWQgKi8KLSAgX19IQUxfTE9DSyhoc21idXMpOwotCiAgIGlmIChIQUxfU01CVVNfU1RBVEVfUkVBRFkgPT0gaHNtYnVzLT5TdGF0ZSkKICAgewogICAgIGhzbWJ1cy0+QWRkckNhbGxiYWNrID0gSEFMX1NNQlVTX0FkZHJDYWxsYmFjazsgLyogTGVnYWN5IHdlYWsgQWRkckNhbGxiYWNrICAqLwpAQCAtODcwLDggKzg1OSw2IEBACiAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKICAgfQogCi0gIC8qIFJlbGVhc2UgTG9jayAqLwotICBfX0hBTF9VTkxPQ0soaHNtYnVzKTsKICAgcmV0dXJuIHN0YXR1czsKIH0KIApkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjd4eF9oYWxfc3BkaWZyeC5jIGIvU3JjL3N0bTMyZjd4eF9oYWxfc3BkaWZyeC5jCmluZGV4IGRhMzgyZjYuLmMxOWQ0YmIgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY3eHhfaGFsX3NwZGlmcnguYworKysgYi9TcmMvc3RtMzJmN3h4X2hhbF9zcGRpZnJ4LmMKQEAgLTE4OCw3ICsxODgsOCBAQAogc3RhdGljIHZvaWQgIFNQRElGUlhfRE1BRXJyb3IoRE1BX0hhbmRsZVR5cGVEZWYgKmhkbWEpOwogc3RhdGljIHZvaWQgIFNQRElGUlhfUmVjZWl2ZUNvbnRyb2xGbG93X0lUKFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmKTsKIHN0YXRpYyB2b2lkICBTUERJRlJYX1JlY2VpdmVEYXRhRmxvd19JVChTUERJRlJYX0hhbmRsZVR5cGVEZWYgKmhzcGRpZik7Ci1zdGF0aWMgSEFMX1N0YXR1c1R5cGVEZWYgIFNQRElGUlhfV2FpdE9uRmxhZ1VudGlsVGltZW91dChTUERJRlJYX0hhbmRsZVR5cGVEZWYgKmhzcGRpZiwgdWludDMyX3QgRmxhZywgRmxhZ1N0YXR1cyBTdGF0dXMsIHVpbnQzMl90IFRpbWVvdXQsIHVpbnQzMl90IHRpY2tzdGFydCk7CitzdGF0aWMgSEFMX1N0YXR1c1R5cGVEZWYgIFNQRElGUlhfV2FpdE9uRmxhZ1VudGlsVGltZW91dChTUERJRlJYX0hhbmRsZVR5cGVEZWYgKmhzcGRpZiwgdWludDMyX3QgRmxhZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZsYWdTdGF0dXMgU3RhdHVzLCB1aW50MzJfdCBUaW1lb3V0LCB1aW50MzJfdCB0aWNrc3RhcnQpOwogLyoqCiAgICogQH0KICAgKi8KQEAgLTIzOCw3ICsyMzksNyBAQAogICB1aW50MzJfdCB0bXByZWc7CiAKICAgLyogQ2hlY2sgdGhlIFNQRElGUlggaGFuZGxlIGFsbG9jYXRpb24gKi8KLSAgaWYoaHNwZGlmID09IE5VTEwpCisgIGlmIChoc3BkaWYgPT0gTlVMTCkKICAgewogICAgIHJldHVybiBIQUxfRVJST1I7CiAgIH0KQEAgLTI1Niw3ICsyNTcsNyBAQAogICBhc3NlcnRfcGFyYW0oSVNfUEFSSVRZX0VSUk9SX01BU0soaHNwZGlmLT5Jbml0LlBhcml0eUVycm9yTWFzaykpOwogCiAjaWYgKFVTRV9IQUxfU1BESUZSWF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKLSAgaWYoaHNwZGlmLT5TdGF0ZSA9PSBIQUxfU1BESUZSWF9TVEFURV9SRVNFVCkKKyAgaWYgKGhzcGRpZi0+U3RhdGUgPT0gSEFMX1NQRElGUlhfU1RBVEVfUkVTRVQpCiAgIHsKICAgICAvKiBBbGxvY2F0ZSBsb2NrIHJlc291cmNlIGFuZCBpbml0aWFsaXplIGl0ICovCiAgICAgaHNwZGlmLT5Mb2NrID0gSEFMX1VOTE9DS0VEOwpAQCAtMjY3LDcgKzI2OCw3IEBACiAgICAgaHNwZGlmLT5DeENwbHRDYWxsYmFjayAgICAgID0gSEFMX1NQRElGUlhfQ3hDcGx0Q2FsbGJhY2s7ICAgICAvKiBMZWdhY3kgd2VhayBDeENwbHRDYWxsYmFjayAgICAgKi8KICAgICBoc3BkaWYtPkVycm9yQ2FsbGJhY2sgICAgICAgPSBIQUxfU1BESUZSWF9FcnJvckNhbGxiYWNrOyAgICAgIC8qIExlZ2FjeSB3ZWFrIEVycm9yQ2FsbGJhY2sgICAgICAqLwogCi0gICAgaWYoaHNwZGlmLT5Nc3BJbml0Q2FsbGJhY2sgPT0gTlVMTCkKKyAgICBpZiAoaHNwZGlmLT5Nc3BJbml0Q2FsbGJhY2sgPT0gTlVMTCkKICAgICB7CiAgICAgICBoc3BkaWYtPk1zcEluaXRDYWxsYmFjayA9IEhBTF9TUERJRlJYX01zcEluaXQ7IC8qIExlZ2FjeSB3ZWFrIE1zcEluaXQgICovCiAgICAgfQpAQCAtMjc2LDcgKzI3Nyw3IEBACiAgICAgaHNwZGlmLT5Nc3BJbml0Q2FsbGJhY2soaHNwZGlmKTsKICAgfQogI2Vsc2UKLSAgaWYoaHNwZGlmLT5TdGF0ZSA9PSBIQUxfU1BESUZSWF9TVEFURV9SRVNFVCkKKyAgaWYgKGhzcGRpZi0+U3RhdGUgPT0gSEFMX1NQRElGUlhfU1RBVEVfUkVTRVQpCiAgIHsKICAgICAvKiBBbGxvY2F0ZSBsb2NrIHJlc291cmNlIGFuZCBpbml0aWFsaXplIGl0ICovCiAgICAgaHNwZGlmLT5Mb2NrID0gSEFMX1VOTE9DS0VEOwpAQCAtMzEwLDcgKzMxMSw3IEBACiAgICAgICAgICAgICAgaHNwZGlmLT5Jbml0LkNoYW5uZWxTdGF0dXNNYXNrIHwKICAgICAgICAgICAgICBoc3BkaWYtPkluaXQuVmFsaWRpdHlCaXRNYXNrIHwKICAgICAgICAgICAgICBoc3BkaWYtPkluaXQuUGFyaXR5RXJyb3JNYXNrCi0gICAgICAgICAgICAgKTsKKyAgICAgICAgICAgICk7CiAKIAogICBoc3BkaWYtPkluc3RhbmNlLT5DUiA9IHRtcHJlZzsKQEAgLTMzMSw3ICszMzIsNyBAQAogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NQRElGUlhfRGVJbml0KFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmKQogewogICAvKiBDaGVjayB0aGUgU1BESUZSWCBoYW5kbGUgYWxsb2NhdGlvbiAqLwotICBpZihoc3BkaWYgPT0gTlVMTCkKKyAgaWYgKGhzcGRpZiA9PSBOVUxMKQogICB7CiAgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgfQpAQCAtMzQ1LDcgKzM0Niw3IEBACiAgIF9fSEFMX1NQRElGUlhfSURMRShoc3BkaWYpOwogCiAjaWYgKFVTRV9IQUxfU1BESUZSWF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKLSAgaWYoaHNwZGlmLT5Nc3BEZUluaXRDYWxsYmFjayA9PSBOVUxMKQorICBpZiAoaHNwZGlmLT5Nc3BEZUluaXRDYWxsYmFjayA9PSBOVUxMKQogICB7CiAgICAgaHNwZGlmLT5Nc3BEZUluaXRDYWxsYmFjayA9IEhBTF9TUERJRlJYX01zcERlSW5pdDsgLyogTGVnYWN5IHdlYWsgTXNwRGVJbml0ICAqLwogICB9CkBAIC00MTUsMTEgKzQxNiwxMiBAQAogICAqIEBwYXJhbSAgcENhbGxiYWNrIHBvaW50ZXIgdG8gdGhlIENhbGxiYWNrIGZ1bmN0aW9uCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfU1BESUZSWF9SZWdpc3RlckNhbGxiYWNrKFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLCBIQUxfU1BESUZSWF9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lELCBwU1BESUZSWF9DYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NQRElGUlhfUmVnaXN0ZXJDYWxsYmFjayhTUERJRlJYX0hhbmRsZVR5cGVEZWYgKmhzcGRpZiwgSEFMX1NQRElGUlhfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcFNQRElGUlhfQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjaykKIHsKICAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzID0gSEFMX09LOwogCi0gIGlmKHBDYWxsYmFjayA9PSBOVUxMKQorICBpZiAocENhbGxiYWNrID09IE5VTEwpCiAgIHsKICAgICAvKiBVcGRhdGUgdGhlIGVycm9yIGNvZGUgKi8KICAgICBoc3BkaWYtPkVycm9yQ29kZSB8PSBIQUxfU1BESUZSWF9FUlJPUl9JTlZBTElEX0NBTExCQUNLOwpAQCAtNDI4LDcgKzQzMCw3IEBACiAgIC8qIFByb2Nlc3MgbG9ja2VkICovCiAgIF9fSEFMX0xPQ0soaHNwZGlmKTsKIAotICBpZihIQUxfU1BESUZSWF9TVEFURV9SRUFEWSA9PSBoc3BkaWYtPlN0YXRlKQorICBpZiAoSEFMX1NQRElGUlhfU1RBVEVfUkVBRFkgPT0gaHNwZGlmLT5TdGF0ZSkKICAgewogICAgIHN3aXRjaCAoQ2FsbGJhY2tJRCkKICAgICB7CkBAIC00NjgsNyArNDcwLDcgQEAKICAgICAgICAgYnJlYWs7CiAgICAgfQogICB9Ci0gIGVsc2UgaWYoSEFMX1NQRElGUlhfU1RBVEVfUkVTRVQgPT0gaHNwZGlmLT5TdGF0ZSkKKyAgZWxzZSBpZiAoSEFMX1NQRElGUlhfU1RBVEVfUkVTRVQgPT0gaHNwZGlmLT5TdGF0ZSkKICAgewogICAgIHN3aXRjaCAoQ2FsbGJhY2tJRCkKICAgICB7CkBAIC00ODMsNyArNDg1LDcgQEAKICAgICAgIGRlZmF1bHQgOgogICAgICAgICAvKiBVcGRhdGUgdGhlIGVycm9yIGNvZGUgKi8KICAgICAgICAgaHNwZGlmLT5FcnJvckNvZGUgfD0gSEFMX1NQRElGUlhfRVJST1JfSU5WQUxJRF9DQUxMQkFDSzsKLSAgICAgICAvKiBSZXR1cm4gZXJyb3Igc3RhdHVzICovCisgICAgICAgIC8qIFJldHVybiBlcnJvciBzdGF0dXMgKi8KICAgICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtNTAzLDcgKzUwNSw3IEBACiAKIC8qKgogICAqIEBicmllZiAgVW5yZWdpc3RlciBhIFNQRElGUlggQ2FsbGJhY2sKLSAgKiAgICAgICAgIFNQRElGUlggY2FsbGFiY2sgaXMgcmVkaXJlY3RlZCB0byB0aGUgd2VhayBwcmVkZWZpbmVkIGNhbGxiYWNrCisgICogICAgICAgICBTUERJRlJYIGNhbGxiYWNrIGlzIHJlZGlyZWN0ZWQgdG8gdGhlIHdlYWsgcHJlZGVmaW5lZCBjYWxsYmFjawogICAqIEBwYXJhbSAgaHNwZGlmIFNQRElGUlggaGFuZGxlCiAgICogQHBhcmFtICBDYWxsYmFja0lEIElEIG9mIHRoZSBjYWxsYmFjayB0byBiZSB1bnJlZ2lzdGVyZWQKICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CkBAIC01MTYsMTQgKzUxOCwxNSBAQAogICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfU1BESUZSWF9NU1BERUlOSVRfQ0JfSUQgIE1zcERlSW5pdCBjYWxsYmFjayBJRAogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NQRElGUlhfVW5SZWdpc3RlckNhbGxiYWNrKFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLCBIQUxfU1BESUZSWF9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lEKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NQRElGUlhfVW5SZWdpc3RlckNhbGxiYWNrKFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9TUERJRlJYX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQpCiB7Ci1IQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfT0s7CisgIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1cyA9IEhBTF9PSzsKIAogICAvKiBQcm9jZXNzIGxvY2tlZCAqLwogICBfX0hBTF9MT0NLKGhzcGRpZik7CiAKLSAgaWYoSEFMX1NQRElGUlhfU1RBVEVfUkVBRFkgPT0gaHNwZGlmLT5TdGF0ZSkKKyAgaWYgKEhBTF9TUERJRlJYX1NUQVRFX1JFQURZID09IGhzcGRpZi0+U3RhdGUpCiAgIHsKICAgICBzd2l0Y2ggKENhbGxiYWNrSUQpCiAgICAgewpAQCAtNTUwLDEyICs1NTMsMTIgQEAKICAgICAgIGRlZmF1bHQgOgogICAgICAgICAvKiBVcGRhdGUgdGhlIGVycm9yIGNvZGUgKi8KICAgICAgICAgaHNwZGlmLT5FcnJvckNvZGUgfD0gSEFMX1NQRElGUlhfRVJST1JfSU5WQUxJRF9DQUxMQkFDSzsKLSAgICAgICAvKiBSZXR1cm4gZXJyb3Igc3RhdHVzICovCisgICAgICAgIC8qIFJldHVybiBlcnJvciBzdGF0dXMgKi8KICAgICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICB9Ci0gIGVsc2UgaWYoSEFMX1NQRElGUlhfU1RBVEVfUkVTRVQgPT0gaHNwZGlmLT5TdGF0ZSkKKyAgZWxzZSBpZiAoSEFMX1NQRElGUlhfU1RBVEVfUkVTRVQgPT0gaHNwZGlmLT5TdGF0ZSkKICAgewogICAgIHN3aXRjaCAoQ2FsbGJhY2tJRCkKICAgICB7CkBAIC02MDEsNyArNjA0LDcgQEAKICAgdWludDMyX3QgdG1wcmVnOwogCiAgIC8qIENoZWNrIHRoZSBTUERJRlJYIGhhbmRsZSBhbGxvY2F0aW9uICovCi0gIGlmKGhzcGRpZiA9PSBOVUxMKQorICBpZiAoaHNwZGlmID09IE5VTEwpCiAgIHsKICAgICByZXR1cm4gSEFMX0VSUk9SOwogICB9CkBAIC02MTcsOSArNjIwLDkgQEAKICAgLyogUmVzZXQgdGhlIG9sZCBTUERJRlJYIENSIGNvbmZpZ3VyYXRpb24gKi8KICAgdG1wcmVnID0gaHNwZGlmLT5JbnN0YW5jZS0+Q1I7CiAKLSAgaWYoKCh0bXByZWcgJiBTUERJRlJYX1NUQVRFX1JDVikgPT0gU1BESUZSWF9TVEFURV9SQ1YpICYmCi0gICAgICgoKHRtcHJlZyAmIFNQRElGUlhfQ1JfRFJGTVQpICE9IHNEYXRhRm9ybWF0LkRhdGFGb3JtYXQpIHx8Ci0gICAgICAoKHRtcHJlZyAmIFNQRElGUlhfQ1JfUlhTVEVPKSAhPSBzRGF0YUZvcm1hdC5TdGVyZW9Nb2RlKSkpCisgIGlmICgoKHRtcHJlZyAmIFNQRElGUlhfU1RBVEVfUkNWKSA9PSBTUERJRlJYX1NUQVRFX1JDVikgJiYKKyAgICAgICgoKHRtcHJlZyAmIFNQRElGUlhfQ1JfRFJGTVQpICE9IHNEYXRhRm9ybWF0LkRhdGFGb3JtYXQpIHx8CisgICAgICAgKCh0bXByZWcgJiBTUERJRlJYX0NSX1JYU1RFTykgIT0gc0RhdGFGb3JtYXQuU3RlcmVvTW9kZSkpKQogICB7CiAgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgfQpAQCAtNjgzLDggKzY4Niw4IEBACiAgICAgICAgICgrKykgSEFMX1NQRElGUlhfQ3hDcGx0Q2FsbGJhY2soKQogCiBAZW5kdmVyYmF0aW0KLSogQHsKLSovCisgICogQHsKKyAgKi8KIAogLyoqCiAgICogQGJyaWVmICBSZWNlaXZlcyBhbiBhbW91bnQgb2YgZGF0YSAoRGF0YSBGbG93KSBpbiBibG9ja2luZyBtb2RlLgpAQCAtNjk1LDE4ICs2OTgsMTkgQEAKICAgKiBAcGFyYW0gIFRpbWVvdXQgVGltZW91dCBkdXJhdGlvbgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NQRElGUlhfUmVjZWl2ZURhdGFGbG93KFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLCB1aW50MzJfdCAqcERhdGEsIHVpbnQxNl90IFNpemUsIHVpbnQzMl90IFRpbWVvdXQpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfU1BESUZSWF9SZWNlaXZlRGF0YUZsb3coU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYsIHVpbnQzMl90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaW1lb3V0KQogewogICB1aW50MzJfdCB0aWNrc3RhcnQ7CiAgIHVpbnQxNl90IHNpemVDb3VudGVyID0gU2l6ZTsKICAgdWludDMyX3QgKnBUbXBCdWYgPSBwRGF0YTsKIAotICBpZigocERhdGEgPT0gTlVMTCApIHx8IChTaXplID09IDBVKSkKKyAgaWYgKChwRGF0YSA9PSBOVUxMKSB8fCAoU2l6ZSA9PSAwVSkpCiAgIHsKICAgICByZXR1cm4gIEhBTF9FUlJPUjsKICAgfQogCi0gIGlmKGhzcGRpZi0+U3RhdGUgPT0gSEFMX1NQRElGUlhfU1RBVEVfUkVBRFkpCisgIGlmIChoc3BkaWYtPlN0YXRlID09IEhBTF9TUERJRlJYX1NUQVRFX1JFQURZKQogICB7CiAgICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KICAgICBfX0hBTF9MT0NLKGhzcGRpZik7CkBAIC03MjAsNyArNzI0LDcgQEAKICAgICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCiAgICAgLyogV2FpdCB1bnRpbCBTWU5DRCBmbGFnIGlzIHNldCAqLwotICAgIGlmKFNQRElGUlhfV2FpdE9uRmxhZ1VudGlsVGltZW91dChoc3BkaWYsIFNQRElGUlhfRkxBR19TWU5DRCwgUkVTRVQsIFRpbWVvdXQsIHRpY2tzdGFydCkgIT0gSEFMX09LKQorICAgIGlmIChTUERJRlJYX1dhaXRPbkZsYWdVbnRpbFRpbWVvdXQoaHNwZGlmLCBTUERJRlJYX0ZMQUdfU1lOQ0QsIFJFU0VULCBUaW1lb3V0LCB0aWNrc3RhcnQpICE9IEhBTF9PSykKICAgICB7CiAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7CiAgICAgfQpAQCAtNzI5LDEzICs3MzMsMTMgQEAKICAgICBfX0hBTF9TUERJRlJYX1JDVihoc3BkaWYpOwogCiAgICAgLyogUmVjZWl2ZSBkYXRhIGZsb3cgKi8KLSAgICB3aGlsZShzaXplQ291bnRlciA+IDBVKQorICAgIHdoaWxlIChzaXplQ291bnRlciA+IDBVKQogICAgIHsKICAgICAgIC8qIEdldCB0aWNrICovCiAgICAgICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCiAgICAgICAvKiBXYWl0IHVudGlsIFJYTkUgZmxhZyBpcyBzZXQgKi8KLSAgICAgIGlmKFNQRElGUlhfV2FpdE9uRmxhZ1VudGlsVGltZW91dChoc3BkaWYsIFNQRElGUlhfRkxBR19SWE5FLCBSRVNFVCwgVGltZW91dCwgdGlja3N0YXJ0KSAhPSBIQUxfT0spCisgICAgICBpZiAoU1BESUZSWF9XYWl0T25GbGFnVW50aWxUaW1lb3V0KGhzcGRpZiwgU1BESUZSWF9GTEFHX1JYTkUsIFJFU0VULCBUaW1lb3V0LCB0aWNrc3RhcnQpICE9IEhBTF9PSykKICAgICAgIHsKICAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOwogICAgICAgfQpAQCAtNzY4LDE4ICs3NzIsMTkgQEAKICAgKiBAcGFyYW0gIFRpbWVvdXQgVGltZW91dCBkdXJhdGlvbgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NQRElGUlhfUmVjZWl2ZUNvbnRyb2xGbG93KFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLCB1aW50MzJfdCAqcERhdGEsIHVpbnQxNl90IFNpemUsIHVpbnQzMl90IFRpbWVvdXQpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfU1BESUZSWF9SZWNlaXZlQ29udHJvbEZsb3coU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYsIHVpbnQzMl90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaW1lb3V0KQogewogICB1aW50MzJfdCB0aWNrc3RhcnQ7CiAgIHVpbnQxNl90IHNpemVDb3VudGVyID0gU2l6ZTsKICAgdWludDMyX3QgKnBUbXBCdWYgPSBwRGF0YTsKIAotICBpZigocERhdGEgPT0gTlVMTCApIHx8IChTaXplID09IDBVKSkKKyAgaWYgKChwRGF0YSA9PSBOVUxMKSB8fCAoU2l6ZSA9PSAwVSkpCiAgIHsKICAgICByZXR1cm4gIEhBTF9FUlJPUjsKICAgfQogCi0gIGlmKGhzcGRpZi0+U3RhdGUgPT0gSEFMX1NQRElGUlhfU1RBVEVfUkVBRFkpCisgIGlmIChoc3BkaWYtPlN0YXRlID09IEhBTF9TUERJRlJYX1NUQVRFX1JFQURZKQogICB7CiAgICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KICAgICBfX0hBTF9MT0NLKGhzcGRpZik7CkBAIC03OTMsNyArNzk4LDcgQEAKICAgICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCiAgICAgLyogV2FpdCB1bnRpbCBTWU5DRCBmbGFnIGlzIHNldCAqLwotICAgIGlmKFNQRElGUlhfV2FpdE9uRmxhZ1VudGlsVGltZW91dChoc3BkaWYsIFNQRElGUlhfRkxBR19TWU5DRCwgUkVTRVQsIFRpbWVvdXQsIHRpY2tzdGFydCkgIT0gSEFMX09LKQorICAgIGlmIChTUERJRlJYX1dhaXRPbkZsYWdVbnRpbFRpbWVvdXQoaHNwZGlmLCBTUERJRlJYX0ZMQUdfU1lOQ0QsIFJFU0VULCBUaW1lb3V0LCB0aWNrc3RhcnQpICE9IEhBTF9PSykKICAgICB7CiAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7CiAgICAgfQpAQCAtODAyLDEzICs4MDcsMTMgQEAKICAgICBfX0hBTF9TUERJRlJYX1JDVihoc3BkaWYpOwogCiAgICAgLyogUmVjZWl2ZSBjb250cm9sIGZsb3cgKi8KLSAgICB3aGlsZShzaXplQ291bnRlciA+IDBVKQorICAgIHdoaWxlIChzaXplQ291bnRlciA+IDBVKQogICAgIHsKICAgICAgIC8qIEdldCB0aWNrICovCiAgICAgICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCiAgICAgICAvKiBXYWl0IHVudGlsIENTUk5FIGZsYWcgaXMgc2V0ICovCi0gICAgICBpZihTUERJRlJYX1dhaXRPbkZsYWdVbnRpbFRpbWVvdXQoaHNwZGlmLCBTUERJRlJYX0ZMQUdfQ1NSTkUsIFJFU0VULCBUaW1lb3V0LCB0aWNrc3RhcnQpICE9IEhBTF9PSykKKyAgICAgIGlmIChTUERJRlJYX1dhaXRPbkZsYWdVbnRpbFRpbWVvdXQoaHNwZGlmLCBTUERJRlJYX0ZMQUdfQ1NSTkUsIFJFU0VULCBUaW1lb3V0LCB0aWNrc3RhcnQpICE9IEhBTF9PSykKICAgICAgIHsKICAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOwogICAgICAgfQpAQCAtODQ1LDkgKzg1MCw5IEBACiAKICAgY29uc3QgSEFMX1NQRElGUlhfU3RhdGVUeXBlRGVmIHRlbXBTdGF0ZSA9IGhzcGRpZi0+U3RhdGU7CiAKLSAgaWYoKHRlbXBTdGF0ZSA9PSBIQUxfU1BESUZSWF9TVEFURV9SRUFEWSkgfHwgKHRlbXBTdGF0ZSA9PSBIQUxfU1BESUZSWF9TVEFURV9CVVNZX0NYKSkKKyAgaWYgKCh0ZW1wU3RhdGUgPT0gSEFMX1NQRElGUlhfU1RBVEVfUkVBRFkpIHx8ICh0ZW1wU3RhdGUgPT0gSEFMX1NQRElGUlhfU1RBVEVfQlVTWV9DWCkpCiAgIHsKLSAgICBpZigocERhdGEgPT0gTlVMTCkgfHwgKFNpemUgPT0gMFUpKQorICAgIGlmICgocERhdGEgPT0gTlVMTCkgfHwgKFNpemUgPT0gMFUpKQogICAgIHsKICAgICAgIHJldHVybiBIQUxfRVJST1I7CiAgICAgfQpAQCAtODczLDcgKzg3OCw3IEBACiAgICAgLyogRW5hYmxlIHRoZSBTUERJRlJYIFJYTkUgaW50ZXJydXB0ICovCiAgICAgX19IQUxfU1BESUZSWF9FTkFCTEVfSVQoaHNwZGlmLCBTUERJRlJYX0lUX1JYTkUpOwogCi0gICAgaWYoKFNQRElGUlgtPkNSICYgU1BESUZSWF9DUl9TUERJRkVOKSAhPSBTUERJRlJYX1NUQVRFX1JDVikKKyAgICBpZiAoKFNQRElGUlgtPkNSICYgU1BESUZSWF9DUl9TUERJRkVOKSAhPSBTUERJRlJYX1NUQVRFX1JDVikKICAgICB7CiAgICAgICAvKiBTdGFydCBzeW5jaHJvbml6YXRpb24gKi8KICAgICAgIF9fSEFMX1NQRElGUlhfU1lOQyhoc3BkaWYpOwpAQCAtODkyLDcgKzg5Nyw3IEBACiAgICAgICAgICAgX19IQUxfU1BESUZSWF9ESVNBQkxFX0lUKGhzcGRpZiwgU1BESUZSWF9JVF9TWU5DRElFKTsKICAgICAgICAgICBfX0hBTF9TUERJRlJYX0RJU0FCTEVfSVQoaHNwZGlmLCBTUERJRlJYX0lUX0lGRUlFKTsKIAotICAgICAgICAgIGhzcGRpZi0+U3RhdGU9IEhBTF9TUERJRlJYX1NUQVRFX1JFQURZOworICAgICAgICAgIGhzcGRpZi0+U3RhdGUgPSBIQUxfU1BESUZSWF9TVEFURV9SRUFEWTsKIAogICAgICAgICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KICAgICAgICAgICBfX0hBTF9VTkxPQ0soaHNwZGlmKTsKQEAgLTkzMCw5ICs5MzUsOSBAQAogCiAgIGNvbnN0IEhBTF9TUERJRlJYX1N0YXRlVHlwZURlZiB0ZW1wU3RhdGUgPSBoc3BkaWYtPlN0YXRlOwogCi0gIGlmKCh0ZW1wU3RhdGUgPT0gSEFMX1NQRElGUlhfU1RBVEVfUkVBRFkpIHx8ICh0ZW1wU3RhdGUgPT0gSEFMX1NQRElGUlhfU1RBVEVfQlVTWV9SWCkpCisgIGlmICgodGVtcFN0YXRlID09IEhBTF9TUERJRlJYX1NUQVRFX1JFQURZKSB8fCAodGVtcFN0YXRlID09IEhBTF9TUERJRlJYX1NUQVRFX0JVU1lfUlgpKQogICB7Ci0gICAgaWYoKHBEYXRhID09IE5VTEwgKSB8fCAoU2l6ZSA9PSAwVSkpCisgICAgaWYgKChwRGF0YSA9PSBOVUxMKSB8fCAoU2l6ZSA9PSAwVSkpCiAgICAgewogICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgICB9CkBAIC05NTgsNyArOTYzLDcgQEAKICAgICAvKiBFbmFibGUgdGhlIFNQRElGUlggQ1NSTkUgaW50ZXJydXB0ICovCiAgICAgX19IQUxfU1BESUZSWF9FTkFCTEVfSVQoaHNwZGlmLCBTUERJRlJYX0lUX0NTUk5FKTsKIAotICAgIGlmKChTUERJRlJYLT5DUiAmIFNQRElGUlhfQ1JfU1BESUZFTikgIT0gU1BESUZSWF9TVEFURV9SQ1YpCisgICAgaWYgKChTUERJRlJYLT5DUiAmIFNQRElGUlhfQ1JfU1BESUZFTikgIT0gU1BESUZSWF9TVEFURV9SQ1YpCiAgICAgewogICAgICAgLyogU3RhcnQgc3luY2hyb25pemF0aW9uICovCiAgICAgICBfX0hBTF9TUERJRlJYX1NZTkMoaHNwZGlmKTsKQEAgLTk3Nyw3ICs5ODIsNyBAQAogICAgICAgICAgIF9fSEFMX1NQRElGUlhfRElTQUJMRV9JVChoc3BkaWYsIFNQRElGUlhfSVRfU1lOQ0RJRSk7CiAgICAgICAgICAgX19IQUxfU1BESUZSWF9ESVNBQkxFX0lUKGhzcGRpZiwgU1BESUZSWF9JVF9JRkVJRSk7CiAKLSAgICAgICAgICBoc3BkaWYtPlN0YXRlPSBIQUxfU1BESUZSWF9TVEFURV9SRUFEWTsKKyAgICAgICAgICBoc3BkaWYtPlN0YXRlID0gSEFMX1NQRElGUlhfU1RBVEVfUkVBRFk7CiAKICAgICAgICAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCiAgICAgICAgICAgX19IQUxfVU5MT0NLKGhzcGRpZik7CkBAIC0xMDE1LDEyICsxMDIwLDEyIEBACiAKICAgY29uc3QgSEFMX1NQRElGUlhfU3RhdGVUeXBlRGVmIHRlbXBTdGF0ZSA9IGhzcGRpZi0+U3RhdGU7CiAKLSAgaWYoKHBEYXRhID09IE5VTEwpIHx8IChTaXplID09IDBVKSkKKyAgaWYgKChwRGF0YSA9PSBOVUxMKSB8fCAoU2l6ZSA9PSAwVSkpCiAgIHsKICAgICByZXR1cm4gIEhBTF9FUlJPUjsKICAgfQogCi0gIGlmKCh0ZW1wU3RhdGUgPT0gSEFMX1NQRElGUlhfU1RBVEVfUkVBRFkpIHx8ICh0ZW1wU3RhdGUgPT0gSEFMX1NQRElGUlhfU1RBVEVfQlVTWV9DWCkpCisgIGlmICgodGVtcFN0YXRlID09IEhBTF9TUERJRlJYX1NUQVRFX1JFQURZKSB8fCAodGVtcFN0YXRlID09IEhBTF9TUERJRlJYX1NUQVRFX0JVU1lfQ1gpKQogICB7CiAgICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KICAgICBfX0hBTF9MT0NLKGhzcGRpZik7CkBAIC0xMDQyLDcgKzEwNDcsNyBAQAogICAgIGhzcGRpZi0+aGRtYURyUngtPlhmZXJFcnJvckNhbGxiYWNrID0gU1BESUZSWF9ETUFFcnJvcjsKIAogICAgIC8qIEVuYWJsZSB0aGUgRE1BIHJlcXVlc3QgKi8KLSAgICBpZihIQUxfRE1BX1N0YXJ0X0lUKGhzcGRpZi0+aGRtYURyUngsICh1aW50MzJfdCkmaHNwZGlmLT5JbnN0YW5jZS0+RFIsICh1aW50MzJfdCloc3BkaWYtPnBSeEJ1ZmZQdHIsIFNpemUpICE9IEhBTF9PSykKKyAgICBpZiAoSEFMX0RNQV9TdGFydF9JVChoc3BkaWYtPmhkbWFEclJ4LCAodWludDMyX3QpJmhzcGRpZi0+SW5zdGFuY2UtPkRSLCAodWludDMyX3QpaHNwZGlmLT5wUnhCdWZmUHRyLCBTaXplKSAhPSBIQUxfT0spCiAgICAgewogICAgICAgLyogU2V0IFNQRElGUlggZXJyb3IgKi8KICAgICAgIGhzcGRpZi0+RXJyb3JDb2RlID0gSEFMX1NQRElGUlhfRVJST1JfRE1BOwpAQCAtMTA1OSw3ICsxMDY0LDcgQEAKICAgICAvKiBFbmFibGUgUlhETUFFTiBiaXQgaW4gU1BESUZSWCBDUiByZWdpc3RlciBmb3IgZGF0YSBmbG93IHJlY2VwdGlvbiovCiAgICAgaHNwZGlmLT5JbnN0YW5jZS0+Q1IgfD0gU1BESUZSWF9DUl9SWERNQUVOOwogCi0gICAgaWYoKFNQRElGUlgtPkNSICYgU1BESUZSWF9DUl9TUERJRkVOKSAhPSBTUERJRlJYX1NUQVRFX1JDVikKKyAgICBpZiAoKFNQRElGUlgtPkNSICYgU1BESUZSWF9DUl9TUERJRkVOKSAhPSBTUERJRlJYX1NUQVRFX1JDVikKICAgICB7CiAgICAgICAvKiBTdGFydCBzeW5jaHJvbml6YXRpb24gKi8KICAgICAgIF9fSEFMX1NQRElGUlhfU1lOQyhoc3BkaWYpOwpAQCAtMTA3OCw3ICsxMDgzLDcgQEAKICAgICAgICAgICBfX0hBTF9TUERJRlJYX0RJU0FCTEVfSVQoaHNwZGlmLCBTUERJRlJYX0lUX1NZTkNESUUpOwogICAgICAgICAgIF9fSEFMX1NQRElGUlhfRElTQUJMRV9JVChoc3BkaWYsIFNQRElGUlhfSVRfSUZFSUUpOwogCi0gICAgICAgICAgaHNwZGlmLT5TdGF0ZT0gSEFMX1NQRElGUlhfU1RBVEVfUkVBRFk7CisgICAgICAgICAgaHNwZGlmLT5TdGF0ZSA9IEhBTF9TUERJRlJYX1NUQVRFX1JFQURZOwogCiAgICAgICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwogICAgICAgICAgIF9fSEFMX1VOTE9DSyhoc3BkaWYpOwpAQCAtMTExNiwxMiArMTEyMSwxMiBAQAogCiAgIGNvbnN0IEhBTF9TUERJRlJYX1N0YXRlVHlwZURlZiB0ZW1wU3RhdGUgPSBoc3BkaWYtPlN0YXRlOwogCi0gIGlmKChwRGF0YSA9PSBOVUxMKSB8fCAoU2l6ZSA9PSAwVSkpCisgIGlmICgocERhdGEgPT0gTlVMTCkgfHwgKFNpemUgPT0gMFUpKQogICB7CiAgICAgcmV0dXJuICBIQUxfRVJST1I7CiAgIH0KIAotICBpZigodGVtcFN0YXRlID09IEhBTF9TUERJRlJYX1NUQVRFX1JFQURZKSB8fCAodGVtcFN0YXRlID09IEhBTF9TUERJRlJYX1NUQVRFX0JVU1lfUlgpKQorICBpZiAoKHRlbXBTdGF0ZSA9PSBIQUxfU1BESUZSWF9TVEFURV9SRUFEWSkgfHwgKHRlbXBTdGF0ZSA9PSBIQUxfU1BESUZSWF9TVEFURV9CVVNZX1JYKSkKICAgewogICAgIGhzcGRpZi0+cENzQnVmZlB0ciA9IHBEYXRhOwogICAgIGhzcGRpZi0+Q3NYZmVyU2l6ZSA9IFNpemU7CkBAIC0xMTQzLDcgKzExNDgsNyBAQAogICAgIGhzcGRpZi0+aGRtYUNzUngtPlhmZXJFcnJvckNhbGxiYWNrID0gU1BESUZSWF9ETUFFcnJvcjsKIAogICAgIC8qIEVuYWJsZSB0aGUgRE1BIHJlcXVlc3QgKi8KLSAgICBpZihIQUxfRE1BX1N0YXJ0X0lUKGhzcGRpZi0+aGRtYUNzUngsICh1aW50MzJfdCkmaHNwZGlmLT5JbnN0YW5jZS0+Q1NSLCAodWludDMyX3QpaHNwZGlmLT5wQ3NCdWZmUHRyLCBTaXplKSAhPSBIQUxfT0spCisgICAgaWYgKEhBTF9ETUFfU3RhcnRfSVQoaHNwZGlmLT5oZG1hQ3NSeCwgKHVpbnQzMl90KSZoc3BkaWYtPkluc3RhbmNlLT5DU1IsICh1aW50MzJfdCloc3BkaWYtPnBDc0J1ZmZQdHIsIFNpemUpICE9IEhBTF9PSykKICAgICB7CiAgICAgICAvKiBTZXQgU1BESUZSWCBlcnJvciAqLwogICAgICAgaHNwZGlmLT5FcnJvckNvZGUgPSBIQUxfU1BESUZSWF9FUlJPUl9ETUE7CkBAIC0xMTYwLDcgKzExNjUsNyBAQAogICAgIC8qIEVuYWJsZSBDQkRNQUVOIGJpdCBpbiBTUERJRlJYIENSIHJlZ2lzdGVyIGZvciBjb250cm9sIGZsb3cgcmVjZXB0aW9uKi8KICAgICBoc3BkaWYtPkluc3RhbmNlLT5DUiB8PSBTUERJRlJYX0NSX0NCRE1BRU47CiAKLSAgICBpZigoU1BESUZSWC0+Q1IgJiBTUERJRlJYX0NSX1NQRElGRU4pICE9IFNQRElGUlhfU1RBVEVfUkNWKQorICAgIGlmICgoU1BESUZSWC0+Q1IgJiBTUERJRlJYX0NSX1NQRElGRU4pICE9IFNQRElGUlhfU1RBVEVfUkNWKQogICAgIHsKICAgICAgIC8qIFN0YXJ0IHN5bmNocm9uaXphdGlvbiAqLwogICAgICAgX19IQUxfU1BESUZSWF9TWU5DKGhzcGRpZik7CkBAIC0xMTc5LDcgKzExODQsNyBAQAogICAgICAgICAgIF9fSEFMX1NQRElGUlhfRElTQUJMRV9JVChoc3BkaWYsIFNQRElGUlhfSVRfU1lOQ0RJRSk7CiAgICAgICAgICAgX19IQUxfU1BESUZSWF9ESVNBQkxFX0lUKGhzcGRpZiwgU1BESUZSWF9JVF9JRkVJRSk7CiAKLSAgICAgICAgICBoc3BkaWYtPlN0YXRlPSBIQUxfU1BESUZSWF9TVEFURV9SRUFEWTsKKyAgICAgICAgICBoc3BkaWYtPlN0YXRlID0gSEFMX1NQRElGUlhfU1RBVEVfUkVBRFk7CiAKICAgICAgICAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCiAgICAgICAgICAgX19IQUxfVU5MT0NLKGhzcGRpZik7CkBAIC0xMjQ0LDIxICsxMjQ5LDIxIEBACiAgIHVpbnQzMl90IGl0U291cmNlID0gaHNwZGlmLT5JbnN0YW5jZS0+SU1SOwogCiAgIC8qIFNQRElGUlggaW4gbW9kZSBEYXRhIEZsb3cgUmVjZXB0aW9uICovCi0gIGlmKCgoaXRGbGFnICYgU1BESUZSWF9GTEFHX1JYTkUpID09IFNQRElGUlhfRkxBR19SWE5FKSAmJiAoKGl0U291cmNlICYgIFNQRElGUlhfSVRfUlhORSkgPT0gU1BESUZSWF9JVF9SWE5FKSkKKyAgaWYgKCgoaXRGbGFnICYgU1BESUZSWF9GTEFHX1JYTkUpID09IFNQRElGUlhfRkxBR19SWE5FKSAmJiAoKGl0U291cmNlICYgIFNQRElGUlhfSVRfUlhORSkgPT0gU1BESUZSWF9JVF9SWE5FKSkKICAgewogICAgIF9fSEFMX1NQRElGUlhfQ0xFQVJfSVQoaHNwZGlmLCBTUERJRlJYX0lUX1JYTkUpOwogICAgIFNQRElGUlhfUmVjZWl2ZURhdGFGbG93X0lUKGhzcGRpZik7CiAgIH0KIAogICAvKiBTUERJRlJYIGluIG1vZGUgQ29udHJvbCBGbG93IFJlY2VwdGlvbiAqLwotICBpZigoKGl0RmxhZyAmIFNQRElGUlhfRkxBR19DU1JORSkgPT0gU1BESUZSWF9GTEFHX0NTUk5FKSAmJiAoKGl0U291cmNlICYgIFNQRElGUlhfSVRfQ1NSTkUpID09IFNQRElGUlhfSVRfQ1NSTkUpKQorICBpZiAoKChpdEZsYWcgJiBTUERJRlJYX0ZMQUdfQ1NSTkUpID09IFNQRElGUlhfRkxBR19DU1JORSkgJiYgKChpdFNvdXJjZSAmICBTUERJRlJYX0lUX0NTUk5FKSA9PSBTUERJRlJYX0lUX0NTUk5FKSkKICAgewogICAgIF9fSEFMX1NQRElGUlhfQ0xFQVJfSVQoaHNwZGlmLCBTUERJRlJYX0lUX0NTUk5FKTsKICAgICBTUERJRlJYX1JlY2VpdmVDb250cm9sRmxvd19JVChoc3BkaWYpOwogICB9CiAKICAgLyogU1BESUZSWCBPdmVycnVuIGVycm9yIGludGVycnVwdCBvY2N1cnJlZCAqLwotICBpZigoKGl0RmxhZyAmIFNQRElGUlhfRkxBR19PVlIpID09IFNQRElGUlhfRkxBR19PVlIpICYmICgoaXRTb3VyY2UgJiAgU1BESUZSWF9JVF9PVlJJRSkgPT0gU1BESUZSWF9JVF9PVlJJRSkpCisgIGlmICgoKGl0RmxhZyAmIFNQRElGUlhfRkxBR19PVlIpID09IFNQRElGUlhfRkxBR19PVlIpICYmICgoaXRTb3VyY2UgJiAgU1BESUZSWF9JVF9PVlJJRSkgPT0gU1BESUZSWF9JVF9PVlJJRSkpCiAgIHsKICAgICBfX0hBTF9TUERJRlJYX0NMRUFSX0lUKGhzcGRpZiwgU1BESUZSWF9JVF9PVlJJRSk7CiAKQEAgLTEyNzAsNyArMTI3NSw3IEBACiAgIH0KIAogICAvKiBTUERJRlJYIFBhcml0eSBlcnJvciBpbnRlcnJ1cHQgb2NjdXJyZWQgKi8KLSAgaWYoKChpdEZsYWcgJiBTUERJRlJYX0ZMQUdfUEVSUikgPT0gU1BESUZSWF9GTEFHX1BFUlIpICYmICgoaXRTb3VyY2UgJiAgU1BESUZSWF9JVF9QRVJSSUUpID09IFNQRElGUlhfSVRfUEVSUklFKSkKKyAgaWYgKCgoaXRGbGFnICYgU1BESUZSWF9GTEFHX1BFUlIpID09IFNQRElGUlhfRkxBR19QRVJSKSAmJiAoKGl0U291cmNlICYgIFNQRElGUlhfSVRfUEVSUklFKSA9PSBTUERJRlJYX0lUX1BFUlJJRSkpCiAgIHsKICAgICBfX0hBTF9TUERJRlJYX0NMRUFSX0lUKGhzcGRpZiwgU1BESUZSWF9JVF9QRVJSSUUpOwogCkBAIC0xMzgxLDcgKzEzODYsNyBAQAogICAqIEBwYXJhbSAgaHNwZGlmIFNQRElGUlggaGFuZGxlCiAgICogQHJldHZhbCBIQUwgc3RhdGUKICAgKi8KLUhBTF9TUERJRlJYX1N0YXRlVHlwZURlZiBIQUxfU1BESUZSWF9HZXRTdGF0ZShTUERJRlJYX0hhbmRsZVR5cGVEZWYgY29uc3QgKiBjb25zdCBoc3BkaWYpCitIQUxfU1BESUZSWF9TdGF0ZVR5cGVEZWYgSEFMX1NQRElGUlhfR2V0U3RhdGUoU1BESUZSWF9IYW5kbGVUeXBlRGVmIGNvbnN0ICpjb25zdCBoc3BkaWYpCiB7CiAgIHJldHVybiBoc3BkaWYtPlN0YXRlOwogfQpAQCAtMTM5MSw3ICsxMzk2LDcgQEAKICAgKiBAcGFyYW0gIGhzcGRpZiBTUERJRlJYIGhhbmRsZQogICAqIEByZXR2YWwgU1BESUZSWCBFcnJvciBDb2RlCiAgICovCi11aW50MzJfdCBIQUxfU1BESUZSWF9HZXRFcnJvcihTUERJRlJYX0hhbmRsZVR5cGVEZWYgY29uc3QgKiBjb25zdCBoc3BkaWYpCit1aW50MzJfdCBIQUxfU1BESUZSWF9HZXRFcnJvcihTUERJRlJYX0hhbmRsZVR5cGVEZWYgY29uc3QgKmNvbnN0IGhzcGRpZikKIHsKICAgcmV0dXJuIGhzcGRpZi0+RXJyb3JDb2RlOwogfQpAQCAtMTQwNywxMCArMTQxMiwxMCBAQAogICAqLwogc3RhdGljIHZvaWQgU1BESUZSWF9ETUFSeENwbHQoRE1BX0hhbmRsZVR5cGVEZWYgKmhkbWEpCiB7Ci0gIFNQRElGUlhfSGFuZGxlVHlwZURlZiogaHNwZGlmID0gKCBTUERJRlJYX0hhbmRsZVR5cGVEZWYqICkoKERNQV9IYW5kbGVUeXBlRGVmKiApaGRtYSktPlBhcmVudDsKKyAgU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYgPSAoU1BESUZSWF9IYW5kbGVUeXBlRGVmICopKChETUFfSGFuZGxlVHlwZURlZiAqKWhkbWEpLT5QYXJlbnQ7CiAKICAgLyogRGlzYWJsZSBSeCBETUEgUmVxdWVzdCAqLwotICBpZihoZG1hLT5Jbml0Lk1vZGUgIT0gRE1BX0NJUkNVTEFSKQorICBpZiAoaGRtYS0+SW5pdC5Nb2RlICE9IERNQV9DSVJDVUxBUikKICAgewogICAgIGhzcGRpZi0+SW5zdGFuY2UtPkNSICY9ICh1aW50MTZfdCkoflNQRElGUlhfQ1JfUlhETUFFTik7CiAgICAgaHNwZGlmLT5SeFhmZXJDb3VudCA9IDA7CkBAIC0xNDMwLDcgKzE0MzUsNyBAQAogICAqLwogc3RhdGljIHZvaWQgU1BESUZSWF9ETUFSeEhhbGZDcGx0KERNQV9IYW5kbGVUeXBlRGVmICpoZG1hKQogewotICBTUERJRlJYX0hhbmRsZVR5cGVEZWYqIGhzcGRpZiA9IChTUERJRlJYX0hhbmRsZVR5cGVEZWYqKSgoRE1BX0hhbmRsZVR5cGVEZWYqKWhkbWEpLT5QYXJlbnQ7CisgIFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmID0gKFNQRElGUlhfSGFuZGxlVHlwZURlZiAqKSgoRE1BX0hhbmRsZVR5cGVEZWYgKiloZG1hKS0+UGFyZW50OwogCiAjaWYgKFVTRV9IQUxfU1BESUZSWF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKICAgaHNwZGlmLT5SeEhhbGZDcGx0Q2FsbGJhY2soaHNwZGlmKTsKQEAgLTE0NDcsNyArMTQ1Miw3IEBACiAgICovCiBzdGF0aWMgdm9pZCBTUERJRlJYX0RNQUN4Q3BsdChETUFfSGFuZGxlVHlwZURlZiAqaGRtYSkKIHsKLSAgU1BESUZSWF9IYW5kbGVUeXBlRGVmKiBoc3BkaWYgPSAoIFNQRElGUlhfSGFuZGxlVHlwZURlZiogKSgoRE1BX0hhbmRsZVR5cGVEZWYqICloZG1hKS0+UGFyZW50OworICBTUERJRlJYX0hhbmRsZVR5cGVEZWYgKmhzcGRpZiA9IChTUERJRlJYX0hhbmRsZVR5cGVEZWYgKikoKERNQV9IYW5kbGVUeXBlRGVmICopaGRtYSktPlBhcmVudDsKIAogICAvKiBEaXNhYmxlIENiIERNQSBSZXF1ZXN0ICovCiAgIGhzcGRpZi0+SW5zdGFuY2UtPkNSICY9ICh1aW50MTZfdCkoflNQRElGUlhfQ1JfQ0JETUFFTik7CkBAIC0xNDY4LDcgKzE0NzMsNyBAQAogICAqLwogc3RhdGljIHZvaWQgU1BESUZSWF9ETUFDeEhhbGZDcGx0KERNQV9IYW5kbGVUeXBlRGVmICpoZG1hKQogewotICBTUERJRlJYX0hhbmRsZVR5cGVEZWYqIGhzcGRpZiA9IChTUERJRlJYX0hhbmRsZVR5cGVEZWYqKSgoRE1BX0hhbmRsZVR5cGVEZWYqKWhkbWEpLT5QYXJlbnQ7CisgIFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmID0gKFNQRElGUlhfSGFuZGxlVHlwZURlZiAqKSgoRE1BX0hhbmRsZVR5cGVEZWYgKiloZG1hKS0+UGFyZW50OwogCiAjaWYgKFVTRV9IQUxfU1BESUZSWF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKICAgaHNwZGlmLT5DeEhhbGZDcGx0Q2FsbGJhY2soaHNwZGlmKTsKQEAgLTE0ODQsMTMgKzE0ODksMTMgQEAKICAgKi8KIHN0YXRpYyB2b2lkIFNQRElGUlhfRE1BRXJyb3IoRE1BX0hhbmRsZVR5cGVEZWYgKmhkbWEpCiB7Ci0gIFNQRElGUlhfSGFuZGxlVHlwZURlZiogaHNwZGlmID0gKCBTUERJRlJYX0hhbmRsZVR5cGVEZWYqICkoKERNQV9IYW5kbGVUeXBlRGVmKiApaGRtYSktPlBhcmVudDsKKyAgU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYgPSAoU1BESUZSWF9IYW5kbGVUeXBlRGVmICopKChETUFfSGFuZGxlVHlwZURlZiAqKWhkbWEpLT5QYXJlbnQ7CiAKICAgLyogRGlzYWJsZSBSeCBhbmQgQ2IgRE1BIFJlcXVlc3QgKi8KICAgaHNwZGlmLT5JbnN0YW5jZS0+Q1IgJj0gKHVpbnQxNl90KSh+KFNQRElGUlhfQ1JfUlhETUFFTiB8IFNQRElGUlhfQ1JfQ0JETUFFTikpOwogICBoc3BkaWYtPlJ4WGZlckNvdW50ID0gMDsKIAotICBoc3BkaWYtPlN0YXRlPSBIQUxfU1BESUZSWF9TVEFURV9SRUFEWTsKKyAgaHNwZGlmLT5TdGF0ZSA9IEhBTF9TUERJRlJYX1NUQVRFX1JFQURZOwogCiAgIC8qIFNldCB0aGUgZXJyb3IgY29kZSBhbmQgZXhlY3V0ZSBlcnJvciBjYWxsYmFjayovCiAgIGhzcGRpZi0+RXJyb3JDb2RlIHw9IEhBTF9TUERJRlJYX0VSUk9SX0RNQTsKQEAgLTE1MTYsNyArMTUyMSw3IEBACiAgIGhzcGRpZi0+cFJ4QnVmZlB0cisrOwogICBoc3BkaWYtPlJ4WGZlckNvdW50LS07CiAKLSAgaWYoaHNwZGlmLT5SeFhmZXJDb3VudCA9PSAwVSkKKyAgaWYgKGhzcGRpZi0+UnhYZmVyQ291bnQgPT0gMFUpCiAgIHsKICAgICAvKiBEaXNhYmxlIFJYTkUvUEUgYW5kIE9WUiBpbnRlcnJ1cHRzICovCiAgICAgX19IQUxfU1BESUZSWF9ESVNBQkxFX0lUKGhzcGRpZiwgU1BESUZSWF9JVF9PVlJJRSB8IFNQRElGUlhfSVRfUEVSUklFIHwgU1BESUZSWF9JVF9SWE5FKTsKQEAgLTE1MjcsOSArMTUzMiw5IEBACiAgICAgX19IQUxfVU5MT0NLKGhzcGRpZik7CiAKICNpZiAoVVNFX0hBTF9TUERJRlJYX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQotICBoc3BkaWYtPlJ4Q3BsdENhbGxiYWNrKGhzcGRpZik7CisgICAgaHNwZGlmLT5SeENwbHRDYWxsYmFjayhoc3BkaWYpOwogI2Vsc2UKLSAgSEFMX1NQRElGUlhfUnhDcGx0Q2FsbGJhY2soaHNwZGlmKTsKKyAgICBIQUxfU1BESUZSWF9SeENwbHRDYWxsYmFjayhoc3BkaWYpOwogI2VuZGlmIC8qIFVTRV9IQUxfU1BESUZSWF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KICAgfQogfQpAQCAtMTU0Niw3ICsxNTUxLDcgQEAKICAgaHNwZGlmLT5wQ3NCdWZmUHRyKys7CiAgIGhzcGRpZi0+Q3NYZmVyQ291bnQtLTsKIAotICBpZihoc3BkaWYtPkNzWGZlckNvdW50ID09IDBVKQorICBpZiAoaHNwZGlmLT5Dc1hmZXJDb3VudCA9PSAwVSkKICAgewogICAgIC8qIERpc2FibGUgQ1NSTkUgaW50ZXJydXB0ICovCiAgICAgX19IQUxfU1BESUZSWF9ESVNBQkxFX0lUKGhzcGRpZiwgU1BESUZSWF9JVF9DU1JORSk7CkBAIC0xNTU3LDkgKzE1NjIsOSBAQAogICAgIF9fSEFMX1VOTE9DSyhoc3BkaWYpOwogCiAjaWYgKFVTRV9IQUxfU1BESUZSWF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKLSAgaHNwZGlmLT5DeENwbHRDYWxsYmFjayhoc3BkaWYpOworICAgIGhzcGRpZi0+Q3hDcGx0Q2FsbGJhY2soaHNwZGlmKTsKICNlbHNlCi0gIEhBTF9TUERJRlJYX0N4Q3BsdENhbGxiYWNrKGhzcGRpZik7CisgICAgSEFMX1NQRElGUlhfQ3hDcGx0Q2FsbGJhY2soaHNwZGlmKTsKICNlbmRpZiAvKiBVU0VfSEFMX1NQRElGUlhfUkVHSVNURVJfQ0FMTEJBQ0tTICovCiAgIH0KIH0KQEAgLTE1NzMsMTUgKzE1NzgsMTYgQEAKICAgKiBAcGFyYW0gdGlja3N0YXJ0IFRpY2sgc3RhcnQgdmFsdWUKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLXN0YXRpYyBIQUxfU3RhdHVzVHlwZURlZiBTUERJRlJYX1dhaXRPbkZsYWdVbnRpbFRpbWVvdXQoU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYsIHVpbnQzMl90IEZsYWcsIEZsYWdTdGF0dXMgU3RhdHVzLCB1aW50MzJfdCBUaW1lb3V0LCB1aW50MzJfdCB0aWNrc3RhcnQpCitzdGF0aWMgSEFMX1N0YXR1c1R5cGVEZWYgU1BESUZSWF9XYWl0T25GbGFnVW50aWxUaW1lb3V0KFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLCB1aW50MzJfdCBGbGFnLCBGbGFnU3RhdHVzIFN0YXR1cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgVGltZW91dCwgdWludDMyX3QgdGlja3N0YXJ0KQogewogICAvKiBXYWl0IHVudGlsIGZsYWcgaXMgc2V0ICovCi0gIHdoaWxlKF9fSEFMX1NQRElGUlhfR0VUX0ZMQUcoaHNwZGlmLCBGbGFnKSA9PSBTdGF0dXMpCisgIHdoaWxlIChfX0hBTF9TUERJRlJYX0dFVF9GTEFHKGhzcGRpZiwgRmxhZykgPT0gU3RhdHVzKQogICB7CiAgICAgLyogQ2hlY2sgZm9yIHRoZSBUaW1lb3V0ICovCi0gICAgaWYoVGltZW91dCAhPSBIQUxfTUFYX0RFTEFZKQorICAgIGlmIChUaW1lb3V0ICE9IEhBTF9NQVhfREVMQVkpCiAgICAgewotICAgICAgaWYoKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0ICkgPiBUaW1lb3V0KSB8fCAoVGltZW91dCA9PSAwVSkpCisgICAgICBpZiAoKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFRpbWVvdXQpIHx8IChUaW1lb3V0ID09IDBVKSkKICAgICAgIHsKICAgICAgICAgLyogRGlzYWJsZSBUWEUsIFJYTkUsIFBFIGFuZCBFUlIgKEZyYW1lIGVycm9yLCBub2lzZSBlcnJvciwgb3ZlcnJ1biBlcnJvcikgaW50ZXJydXB0cyBmb3IgdGhlIGludGVycnVwdCBwcm9jZXNzICovCiAgICAgICAgIF9fSEFMX1NQRElGUlhfRElTQUJMRV9JVChoc3BkaWYsIFNQRElGUlhfSVRfUlhORSk7CkBAIC0xNTkyLDcgKzE1OTgsNyBAQAogICAgICAgICBfX0hBTF9TUERJRlJYX0RJU0FCTEVfSVQoaHNwZGlmLCBTUERJRlJYX0lUX1NZTkNESUUpOwogICAgICAgICBfX0hBTF9TUERJRlJYX0RJU0FCTEVfSVQoaHNwZGlmLCBTUERJRlJYX0lUX0lGRUlFKTsKIAotICAgICAgICBoc3BkaWYtPlN0YXRlPSBIQUxfU1BESUZSWF9TVEFURV9SRUFEWTsKKyAgICAgICAgaHNwZGlmLT5TdGF0ZSA9IEhBTF9TUERJRlJYX1NUQVRFX1JFQURZOwogCiAgICAgICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KICAgICAgICAgX19IQUxfVU5MT0NLKGhzcGRpZik7CmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmN3h4X2hhbF90aW0uYyBiL1NyYy9zdG0zMmY3eHhfaGFsX3RpbS5jCmluZGV4IDZmZDAyNWMuLjRkZjIxMmIgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY3eHhfaGFsX3RpbS5jCisrKyBiL1NyYy9zdG0zMmY3eHhfaGFsX3RpbS5jCkBAIC0yNzgsNiArMjc4LDcgQEAKICAgYXNzZXJ0X3BhcmFtKElTX1RJTV9JTlNUQU5DRShodGltLT5JbnN0YW5jZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfVElNX0NPVU5URVJfTU9ERShodGltLT5Jbml0LkNvdW50ZXJNb2RlKSk7CiAgIGFzc2VydF9wYXJhbShJU19USU1fQ0xPQ0tESVZJU0lPTl9ESVYoaHRpbS0+SW5pdC5DbG9ja0RpdmlzaW9uKSk7CisgIGFzc2VydF9wYXJhbShJU19USU1fUEVSSU9EKGh0aW0sIGh0aW0tPkluaXQuUGVyaW9kKSk7CiAgIGFzc2VydF9wYXJhbShJU19USU1fQVVUT1JFTE9BRF9QUkVMT0FEKGh0aW0tPkluaXQuQXV0b1JlbG9hZFByZWxvYWQpKTsKIAogICBpZiAoaHRpbS0+U3RhdGUgPT0gSEFMX1RJTV9TVEFURV9SRVNFVCkKQEAgLTUzOSw3ICs1NDAsNyBAQAogICB9CiAgIGVsc2UgaWYgKGh0aW0tPlN0YXRlID09IEhBTF9USU1fU1RBVEVfUkVBRFkpCiAgIHsKLSAgICBpZiAoKHBEYXRhID09IE5VTEwpICYmIChMZW5ndGggPiAwVSkpCisgICAgaWYgKChwRGF0YSA9PSBOVUxMKSB8fCAoTGVuZ3RoID09IDBVKSkKICAgICB7CiAgICAgICByZXR1cm4gSEFMX0VSUk9SOwogICAgIH0KQEAgLTY2MSw2ICs2NjIsNyBAQAogICBhc3NlcnRfcGFyYW0oSVNfVElNX0lOU1RBTkNFKGh0aW0tPkluc3RhbmNlKSk7CiAgIGFzc2VydF9wYXJhbShJU19USU1fQ09VTlRFUl9NT0RFKGh0aW0tPkluaXQuQ291bnRlck1vZGUpKTsKICAgYXNzZXJ0X3BhcmFtKElTX1RJTV9DTE9DS0RJVklTSU9OX0RJVihodGltLT5Jbml0LkNsb2NrRGl2aXNpb24pKTsKKyAgYXNzZXJ0X3BhcmFtKElTX1RJTV9QRVJJT0QoaHRpbSwgaHRpbS0+SW5pdC5QZXJpb2QpKTsKICAgYXNzZXJ0X3BhcmFtKElTX1RJTV9BVVRPUkVMT0FEX1BSRUxPQUQoaHRpbS0+SW5pdC5BdXRvUmVsb2FkUHJlbG9hZCkpOwogCiAgIGlmIChodGltLT5TdGF0ZSA9PSBIQUxfVElNX1NUQVRFX1JFU0VUKQpAQCAtMTA2Niw3ICsxMDY4LDcgQEAKICAgfQogICBlbHNlIGlmIChUSU1fQ0hBTk5FTF9TVEFURV9HRVQoaHRpbSwgQ2hhbm5lbCkgPT0gSEFMX1RJTV9DSEFOTkVMX1NUQVRFX1JFQURZKQogICB7Ci0gICAgaWYgKChwRGF0YSA9PSBOVUxMKSAmJiAoTGVuZ3RoID4gMFUpKQorICAgIGlmICgocERhdGEgPT0gTlVMTCkgfHwgKExlbmd0aCA9PSAwVSkpCiAgICAgewogICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgICB9CkBAIC0xMzI5LDYgKzEzMzEsNyBAQAogICBhc3NlcnRfcGFyYW0oSVNfVElNX0lOU1RBTkNFKGh0aW0tPkluc3RhbmNlKSk7CiAgIGFzc2VydF9wYXJhbShJU19USU1fQ09VTlRFUl9NT0RFKGh0aW0tPkluaXQuQ291bnRlck1vZGUpKTsKICAgYXNzZXJ0X3BhcmFtKElTX1RJTV9DTE9DS0RJVklTSU9OX0RJVihodGltLT5Jbml0LkNsb2NrRGl2aXNpb24pKTsKKyAgYXNzZXJ0X3BhcmFtKElTX1RJTV9QRVJJT0QoaHRpbSwgaHRpbS0+SW5pdC5QZXJpb2QpKTsKICAgYXNzZXJ0X3BhcmFtKElTX1RJTV9BVVRPUkVMT0FEX1BSRUxPQUQoaHRpbS0+SW5pdC5BdXRvUmVsb2FkUHJlbG9hZCkpOwogCiAgIGlmIChodGltLT5TdGF0ZSA9PSBIQUxfVElNX1NUQVRFX1JFU0VUKQpAQCAtMTczNCw3ICsxNzM3LDcgQEAKICAgfQogICBlbHNlIGlmIChUSU1fQ0hBTk5FTF9TVEFURV9HRVQoaHRpbSwgQ2hhbm5lbCkgPT0gSEFMX1RJTV9DSEFOTkVMX1NUQVRFX1JFQURZKQogICB7Ci0gICAgaWYgKChwRGF0YSA9PSBOVUxMKSAmJiAoTGVuZ3RoID4gMFUpKQorICAgIGlmICgocERhdGEgPT0gTlVMTCkgfHwgKExlbmd0aCA9PSAwVSkpCiAgICAgewogICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgICB9CkBAIC0xOTk2LDYgKzE5OTksNyBAQAogICBhc3NlcnRfcGFyYW0oSVNfVElNX0lOU1RBTkNFKGh0aW0tPkluc3RhbmNlKSk7CiAgIGFzc2VydF9wYXJhbShJU19USU1fQ09VTlRFUl9NT0RFKGh0aW0tPkluaXQuQ291bnRlck1vZGUpKTsKICAgYXNzZXJ0X3BhcmFtKElTX1RJTV9DTE9DS0RJVklTSU9OX0RJVihodGltLT5Jbml0LkNsb2NrRGl2aXNpb24pKTsKKyAgYXNzZXJ0X3BhcmFtKElTX1RJTV9QRVJJT0QoaHRpbSwgaHRpbS0+SW5pdC5QZXJpb2QpKTsKICAgYXNzZXJ0X3BhcmFtKElTX1RJTV9BVVRPUkVMT0FEX1BSRUxPQUQoaHRpbS0+SW5pdC5BdXRvUmVsb2FkUHJlbG9hZCkpOwogCiAgIGlmIChodGltLT5TdGF0ZSA9PSBIQUxfVElNX1NUQVRFX1JFU0VUKQpAQCAtMjM4OSw3ICsyMzkzLDcgQEAKICAgZWxzZSBpZiAoKGNoYW5uZWxfc3RhdGUgPT0gSEFMX1RJTV9DSEFOTkVMX1NUQVRFX1JFQURZKQogICAgICAgICAgICAmJiAoY29tcGxlbWVudGFyeV9jaGFubmVsX3N0YXRlID09IEhBTF9USU1fQ0hBTk5FTF9TVEFURV9SRUFEWSkpCiAgIHsKLSAgICBpZiAoKHBEYXRhID09IE5VTEwpICYmIChMZW5ndGggPiAwVSkpCisgICAgaWYgKChwRGF0YSA9PSBOVUxMKSB8fCAoTGVuZ3RoID09IDBVKSkKICAgICB7CiAgICAgICByZXR1cm4gSEFMX0VSUk9SOwogICAgIH0KQEAgLTI2NDUsNiArMjY0OSw3IEBACiAgIGFzc2VydF9wYXJhbShJU19USU1fQ09VTlRFUl9NT0RFKGh0aW0tPkluaXQuQ291bnRlck1vZGUpKTsKICAgYXNzZXJ0X3BhcmFtKElTX1RJTV9DTE9DS0RJVklTSU9OX0RJVihodGltLT5Jbml0LkNsb2NrRGl2aXNpb24pKTsKICAgYXNzZXJ0X3BhcmFtKElTX1RJTV9PUE1fTU9ERShPbmVQdWxzZU1vZGUpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX1RJTV9QRVJJT0QoaHRpbSwgaHRpbS0+SW5pdC5QZXJpb2QpKTsKICAgYXNzZXJ0X3BhcmFtKElTX1RJTV9BVVRPUkVMT0FEX1BSRUxPQUQoaHRpbS0+SW5pdC5BdXRvUmVsb2FkUHJlbG9hZCkpOwogCiAgIGlmIChodGltLT5TdGF0ZSA9PSBIQUxfVElNX1NUQVRFX1JFU0VUKQpAQCAtMzA0OCw2ICszMDUzLDcgQEAKICAgYXNzZXJ0X3BhcmFtKElTX1RJTV9JQ19QUkVTQ0FMRVIoc0NvbmZpZy0+SUMyUHJlc2NhbGVyKSk7CiAgIGFzc2VydF9wYXJhbShJU19USU1fSUNfRklMVEVSKHNDb25maWctPklDMUZpbHRlcikpOwogICBhc3NlcnRfcGFyYW0oSVNfVElNX0lDX0ZJTFRFUihzQ29uZmlnLT5JQzJGaWx0ZXIpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX1RJTV9QRVJJT0QoaHRpbSwgaHRpbS0+SW5pdC5QZXJpb2QpKTsKIAogICBpZiAoaHRpbS0+U3RhdGUgPT0gSEFMX1RJTV9TVEFURV9SRVNFVCkKICAgewpAQCAtMzU1Nyw3ICszNTYzLDcgQEAKICAgICBlbHNlIGlmICgoY2hhbm5lbF8xX3N0YXRlID09IEhBTF9USU1fQ0hBTk5FTF9TVEFURV9SRUFEWSkKICAgICAgICAgICAgICAmJiAoY29tcGxlbWVudGFyeV9jaGFubmVsXzFfc3RhdGUgPT0gSEFMX1RJTV9DSEFOTkVMX1NUQVRFX1JFQURZKSkKICAgICB7Ci0gICAgICBpZiAoKHBEYXRhMSA9PSBOVUxMKSAmJiAoTGVuZ3RoID4gMFUpKQorICAgICAgaWYgKChwRGF0YTEgPT0gTlVMTCkgfHwgKExlbmd0aCA9PSAwVSkpCiAgICAgICB7CiAgICAgICAgIHJldHVybiBIQUxfRVJST1I7CiAgICAgICB9CkBAIC0zNTgyLDcgKzM1ODgsNyBAQAogICAgIGVsc2UgaWYgKChjaGFubmVsXzJfc3RhdGUgPT0gSEFMX1RJTV9DSEFOTkVMX1NUQVRFX1JFQURZKQogICAgICAgICAgICAgICYmIChjb21wbGVtZW50YXJ5X2NoYW5uZWxfMl9zdGF0ZSA9PSBIQUxfVElNX0NIQU5ORUxfU1RBVEVfUkVBRFkpKQogICAgIHsKLSAgICAgIGlmICgocERhdGEyID09IE5VTEwpICYmIChMZW5ndGggPiAwVSkpCisgICAgICBpZiAoKHBEYXRhMiA9PSBOVUxMKSB8fCAoTGVuZ3RoID09IDBVKSkKICAgICAgIHsKICAgICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgICAgIH0KQEAgLTM2MTEsNyArMzYxNyw3IEBACiAgICAgICAgICAgICAgJiYgKGNvbXBsZW1lbnRhcnlfY2hhbm5lbF8xX3N0YXRlID09IEhBTF9USU1fQ0hBTk5FTF9TVEFURV9SRUFEWSkKICAgICAgICAgICAgICAmJiAoY29tcGxlbWVudGFyeV9jaGFubmVsXzJfc3RhdGUgPT0gSEFMX1RJTV9DSEFOTkVMX1NUQVRFX1JFQURZKSkKICAgICB7Ci0gICAgICBpZiAoKCgocERhdGExID09IE5VTEwpIHx8IChwRGF0YTIgPT0gTlVMTCkpKSAmJiAoTGVuZ3RoID4gMFUpKQorICAgICAgaWYgKCgoKHBEYXRhMSA9PSBOVUxMKSB8fCAocERhdGEyID09IE5VTEwpKSkgfHwgKExlbmd0aCA9PSAwVSkpCiAgICAgICB7CiAgICAgICAgIHJldHVybiBIQUxfRVJST1I7CiAgICAgICB9CmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmN3h4X2hhbF90aW1fZXguYyBiL1NyYy9zdG0zMmY3eHhfaGFsX3RpbV9leC5jCmluZGV4IDUzOTBlNGQuLmQ5ZGIzZmYgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY3eHhfaGFsX3RpbV9leC5jCisrKyBiL1NyYy9zdG0zMmY3eHhfaGFsX3RpbV9leC5jCkBAIC0xNTIsNiArMTUyLDcgQEAKICAgYXNzZXJ0X3BhcmFtKElTX1RJTV9DTE9DS0RJVklTSU9OX0RJVihodGltLT5Jbml0LkNsb2NrRGl2aXNpb24pKTsKICAgYXNzZXJ0X3BhcmFtKElTX1RJTV9BVVRPUkVMT0FEX1BSRUxPQUQoaHRpbS0+SW5pdC5BdXRvUmVsb2FkUHJlbG9hZCkpOwogICBhc3NlcnRfcGFyYW0oSVNfVElNX0lDX1BPTEFSSVRZKHNDb25maWctPklDMVBvbGFyaXR5KSk7CisgIGFzc2VydF9wYXJhbShJU19USU1fUEVSSU9EKGh0aW0sIGh0aW0tPkluaXQuUGVyaW9kKSk7CiAgIGFzc2VydF9wYXJhbShJU19USU1fSUNfUFJFU0NBTEVSKHNDb25maWctPklDMVByZXNjYWxlcikpOwogICBhc3NlcnRfcGFyYW0oSVNfVElNX0lDX0ZJTFRFUihzQ29uZmlnLT5JQzFGaWx0ZXIpKTsKIApAQCAtNTAyLDcgKzUwMyw3IEBACiAgIGVsc2UgaWYgKChjaGFubmVsXzFfc3RhdGUgPT0gSEFMX1RJTV9DSEFOTkVMX1NUQVRFX1JFQURZKQogICAgICAgICAgICAmJiAoY29tcGxlbWVudGFyeV9jaGFubmVsXzFfc3RhdGUgPT0gSEFMX1RJTV9DSEFOTkVMX1NUQVRFX1JFQURZKSkKICAgewotICAgIGlmICgocERhdGEgPT0gTlVMTCkgJiYgKExlbmd0aCA+IDBVKSkKKyAgICBpZiAoKHBEYXRhID09IE5VTEwpIHx8IChMZW5ndGggPT0gMFUpKQogICAgIHsKICAgICAgIHJldHVybiBIQUxfRVJST1I7CiAgICAgfQpAQCAtODgzLDcgKzg4NCw3IEBACiAgIH0KICAgZWxzZSBpZiAoVElNX0NIQU5ORUxfTl9TVEFURV9HRVQoaHRpbSwgQ2hhbm5lbCkgPT0gSEFMX1RJTV9DSEFOTkVMX1NUQVRFX1JFQURZKQogICB7Ci0gICAgaWYgKChwRGF0YSA9PSBOVUxMKSAmJiAoTGVuZ3RoID4gMFUpKQorICAgIGlmICgocERhdGEgPT0gTlVMTCkgfHwgKExlbmd0aCA9PSAwVSkpCiAgICAgewogICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgICB9CkBAIC0xMzY1LDcgKzEzNjYsNyBAQAogICB9CiAgIGVsc2UgaWYgKFRJTV9DSEFOTkVMX05fU1RBVEVfR0VUKGh0aW0sIENoYW5uZWwpID09IEhBTF9USU1fQ0hBTk5FTF9TVEFURV9SRUFEWSkKICAgewotICAgIGlmICgocERhdGEgPT0gTlVMTCkgJiYgKExlbmd0aCA+IDBVKSkKKyAgICBpZiAoKHBEYXRhID09IE5VTEwpIHx8IChMZW5ndGggPT0gMFUpKQogICAgIHsKICAgICAgIHJldHVybiBIQUxfRVJST1I7CiAgICAgfQpAQCAtMjI0MSw3ICsyMjQyLDYgQEAKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9USU1FeF9SZW1hcENvbmZpZyhUSU1fSGFuZGxlVHlwZURlZiAqaHRpbSwgdWludDMyX3QgUmVtYXApCiB7Ci0KICAgLyogQ2hlY2sgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfVElNX1JFTUFQX0lOU1RBTkNFKGh0aW0tPkluc3RhbmNlKSk7CiAgIGFzc2VydF9wYXJhbShJU19USU1fUkVNQVAoUmVtYXApKTsKZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY3eHhfaGFsX3VhcnQuYyBiL1NyYy9zdG0zMmY3eHhfaGFsX3VhcnQuYwppbmRleCA3NTEzOWQ0Li4xZjQyYWJlIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmN3h4X2hhbF91YXJ0LmMKKysrIGIvU3JjL3N0bTMyZjd4eF9oYWxfdWFydC5jCkBAIC02MzgsNiArNjM4LDcgQEAKICAgaHVhcnQtPmdTdGF0ZSA9IEhBTF9VQVJUX1NUQVRFX1JFU0VUOwogICBodWFydC0+UnhTdGF0ZSA9IEhBTF9VQVJUX1NUQVRFX1JFU0VUOwogICBodWFydC0+UmVjZXB0aW9uVHlwZSA9IEhBTF9VQVJUX1JFQ0VQVElPTl9TVEFOREFSRDsKKyAgaHVhcnQtPlJ4RXZlbnRUeXBlID0gSEFMX1VBUlRfUlhFVkVOVF9UQzsKIAogICBfX0hBTF9VTkxPQ0soaHVhcnQpOwogCkBAIC0xMTA0LDggKzExMDUsNiBAQAogICAgICAgcmV0dXJuICBIQUxfRVJST1I7CiAgICAgfQogCi0gICAgX19IQUxfTE9DSyhodWFydCk7Ci0KICAgICBodWFydC0+RXJyb3JDb2RlID0gSEFMX1VBUlRfRVJST1JfTk9ORTsKICAgICBodWFydC0+Z1N0YXRlID0gSEFMX1VBUlRfU1RBVEVfQlVTWV9UWDsKIApAQCAtMTEyNyw4ICsxMTI2LDYgQEAKICAgICAgIHBkYXRhMTZiaXRzID0gTlVMTDsKICAgICB9CiAKLSAgICBfX0hBTF9VTkxPQ0soaHVhcnQpOwotCiAgICAgd2hpbGUgKGh1YXJ0LT5UeFhmZXJDb3VudCA+IDBVKQogICAgIHsKICAgICAgIGlmIChVQVJUX1dhaXRPbkZsYWdVbnRpbFRpbWVvdXQoaHVhcnQsIFVBUlRfRkxBR19UWEUsIFJFU0VULCB0aWNrc3RhcnQsIFRpbWVvdXQpICE9IEhBTF9PSykKQEAgLTExOTAsOCArMTE4Nyw2IEBACiAgICAgICByZXR1cm4gIEhBTF9FUlJPUjsKICAgICB9CiAKLSAgICBfX0hBTF9MT0NLKGh1YXJ0KTsKLQogICAgIGh1YXJ0LT5FcnJvckNvZGUgPSBIQUxfVUFSVF9FUlJPUl9OT05FOwogICAgIGh1YXJ0LT5SeFN0YXRlID0gSEFMX1VBUlRfU1RBVEVfQlVTWV9SWDsKICAgICBodWFydC0+UmVjZXB0aW9uVHlwZSA9IEhBTF9VQVJUX1JFQ0VQVElPTl9TVEFOREFSRDsKQEAgLTEyMTgsOCArMTIxMyw2IEBACiAgICAgICBwZGF0YTE2Yml0cyA9IE5VTEw7CiAgICAgfQogCi0gICAgX19IQUxfVU5MT0NLKGh1YXJ0KTsKLQogICAgIC8qIGFzIGxvbmcgYXMgZGF0YSBoYXZlIHRvIGJlIHJlY2VpdmVkICovCiAgICAgd2hpbGUgKGh1YXJ0LT5SeFhmZXJDb3VudCA+IDBVKQogICAgIHsKQEAgLTEyNzEsOCArMTI2NCw2IEBACiAgICAgICByZXR1cm4gSEFMX0VSUk9SOwogICAgIH0KIAotICAgIF9fSEFMX0xPQ0soaHVhcnQpOwotCiAgICAgaHVhcnQtPnBUeEJ1ZmZQdHIgID0gcERhdGE7CiAgICAgaHVhcnQtPlR4WGZlclNpemUgID0gU2l6ZTsKICAgICBodWFydC0+VHhYZmVyQ291bnQgPSBTaXplOwpAQCAtMTI5MSw4ICsxMjgyLDYgQEAKICAgICAgIGh1YXJ0LT5UeElTUiA9IFVBUlRfVHhJU1JfOEJJVDsKICAgICB9CiAKLSAgICBfX0hBTF9VTkxPQ0soaHVhcnQpOwotCiAgICAgLyogRW5hYmxlIHRoZSBUcmFuc21pdCBEYXRhIFJlZ2lzdGVyIEVtcHR5IGludGVycnVwdCAqLwogICAgIEFUT01JQ19TRVRfQklUKGh1YXJ0LT5JbnN0YW5jZS0+Q1IxLCBVU0FSVF9DUjFfVFhFSUUpOwogCkBAIC0xMzI0LDggKzEzMTMsNiBAQAogICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgICB9CiAKLSAgICBfX0hBTF9MT0NLKGh1YXJ0KTsKLQogICAgIC8qIFNldCBSZWNlcHRpb24gdHlwZSB0byBTdGFuZGFyZCByZWNlcHRpb24gKi8KICAgICBodWFydC0+UmVjZXB0aW9uVHlwZSA9IEhBTF9VQVJUX1JFQ0VQVElPTl9TVEFOREFSRDsKIApAQCAtMTM2NCw4ICsxMzUxLDYgQEAKICAgICAgIHJldHVybiBIQUxfRVJST1I7CiAgICAgfQogCi0gICAgX19IQUxfTE9DSyhodWFydCk7Ci0KICAgICBodWFydC0+cFR4QnVmZlB0ciAgPSBwRGF0YTsKICAgICBodWFydC0+VHhYZmVyU2l6ZSAgPSBTaXplOwogICAgIGh1YXJ0LT5UeFhmZXJDb3VudCA9IFNpemU7CkBAIC0xMzkzLDggKzEzNzgsNiBAQAogICAgICAgICAvKiBTZXQgZXJyb3IgY29kZSB0byBETUEgKi8KICAgICAgICAgaHVhcnQtPkVycm9yQ29kZSA9IEhBTF9VQVJUX0VSUk9SX0RNQTsKIAotICAgICAgICBfX0hBTF9VTkxPQ0soaHVhcnQpOwotCiAgICAgICAgIC8qIFJlc3RvcmUgaHVhcnQtPmdTdGF0ZSB0byByZWFkeSAqLwogICAgICAgICBodWFydC0+Z1N0YXRlID0gSEFMX1VBUlRfU1RBVEVfUkVBRFk7CiAKQEAgLTE0MDQsOCArMTM4Nyw2IEBACiAgICAgLyogQ2xlYXIgdGhlIFRDIGZsYWcgaW4gdGhlIElDUiByZWdpc3RlciAqLwogICAgIF9fSEFMX1VBUlRfQ0xFQVJfRkxBRyhodWFydCwgVUFSVF9DTEVBUl9UQ0YpOwogCi0gICAgX19IQUxfVU5MT0NLKGh1YXJ0KTsKLQogICAgIC8qIEVuYWJsZSB0aGUgRE1BIHRyYW5zZmVyIGZvciB0cmFuc21pdCByZXF1ZXN0IGJ5IHNldHRpbmcgdGhlIERNQVQgYml0CiAgICAgaW4gdGhlIFVBUlQgQ1IzIHJlZ2lzdGVyICovCiAgICAgQVRPTUlDX1NFVF9CSVQoaHVhcnQtPkluc3RhbmNlLT5DUjMsIFVTQVJUX0NSM19ETUFUKTsKQEAgLTE0NDAsOCArMTQyMSw2IEBACiAgICAgICByZXR1cm4gSEFMX0VSUk9SOwogICAgIH0KIAotICAgIF9fSEFMX0xPQ0soaHVhcnQpOwotCiAgICAgLyogU2V0IFJlY2VwdGlvbiB0eXBlIHRvIFN0YW5kYXJkIHJlY2VwdGlvbiAqLwogICAgIGh1YXJ0LT5SZWNlcHRpb25UeXBlID0gSEFMX1VBUlRfUkVDRVBUSU9OX1NUQU5EQVJEOwogCkBAIC0xNDcwLDggKzE0NDksNiBAQAogICBjb25zdCBIQUxfVUFSVF9TdGF0ZVR5cGVEZWYgZ3N0YXRlID0gaHVhcnQtPmdTdGF0ZTsKICAgY29uc3QgSEFMX1VBUlRfU3RhdGVUeXBlRGVmIHJ4c3RhdGUgPSBodWFydC0+UnhTdGF0ZTsKIAotICBfX0hBTF9MT0NLKGh1YXJ0KTsKLQogICBpZiAoKEhBTF9JU19CSVRfU0VUKGh1YXJ0LT5JbnN0YW5jZS0+Q1IzLCBVU0FSVF9DUjNfRE1BVCkpICYmCiAgICAgICAoZ3N0YXRlID09IEhBTF9VQVJUX1NUQVRFX0JVU1lfVFgpKQogICB7CkBAIC0xNDg5LDggKzE0NjYsNiBAQAogICAgIEFUT01JQ19DTEVBUl9CSVQoaHVhcnQtPkluc3RhbmNlLT5DUjMsIFVTQVJUX0NSM19ETUFSKTsKICAgfQogCi0gIF9fSEFMX1VOTE9DSyhodWFydCk7Ci0KICAgcmV0dXJuIEhBTF9PSzsKIH0KIApAQCAtMTUwMSw4ICsxNDc2LDYgQEAKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9VQVJUX0RNQVJlc3VtZShVQVJUX0hhbmRsZVR5cGVEZWYgKmh1YXJ0KQogewotICBfX0hBTF9MT0NLKGh1YXJ0KTsKLQogICBpZiAoaHVhcnQtPmdTdGF0ZSA9PSBIQUxfVUFSVF9TVEFURV9CVVNZX1RYKQogICB7CiAgICAgLyogRW5hYmxlIHRoZSBVQVJUIERNQSBUeCByZXF1ZXN0ICovCkBAIC0xNTE1LDcgKzE0ODgsNyBAQAogCiAgICAgLyogUmUtZW5hYmxlIFBFIGFuZCBFUlIgKEZyYW1lIGVycm9yLCBub2lzZSBlcnJvciwgb3ZlcnJ1biBlcnJvcikgaW50ZXJydXB0cyAqLwogICAgIGlmIChodWFydC0+SW5pdC5QYXJpdHkgIT0gVUFSVF9QQVJJVFlfTk9ORSkKLSAgICB7ICAgIAorICAgIHsKICAgICAgIEFUT01JQ19TRVRfQklUKGh1YXJ0LT5JbnN0YW5jZS0+Q1IxLCBVU0FSVF9DUjFfUEVJRSk7CiAgICAgfQogICAgIEFUT01JQ19TRVRfQklUKGh1YXJ0LT5JbnN0YW5jZS0+Q1IzLCBVU0FSVF9DUjNfRUlFKTsKQEAgLTE1MjQsOCArMTQ5Nyw2IEBACiAgICAgQVRPTUlDX1NFVF9CSVQoaHVhcnQtPkluc3RhbmNlLT5DUjMsIFVTQVJUX0NSM19ETUFSKTsKICAgfQogCi0gIF9fSEFMX1VOTE9DSyhodWFydCk7Ci0KICAgcmV0dXJuIEhBTF9PSzsKIH0KIApAQCAtMjM1Niw2ICsyMzI3LDExIEBACiAgICAgICAgICAgLyogTGFzdCBieXRlcyByZWNlaXZlZCwgc28gbm8gbmVlZCBhcyB0aGUgYWJvcnQgaXMgaW1tZWRpYXRlICovCiAgICAgICAgICAgKHZvaWQpSEFMX0RNQV9BYm9ydChodWFydC0+aGRtYXJ4KTsKICAgICAgICAgfQorCisgICAgICAgIC8qIEluaXRpYWxpemUgdHlwZSBvZiBSeEV2ZW50IHRoYXQgY29ycmVzcG9uZCB0byBSeEV2ZW50IGNhbGxiYWNrIGV4ZWN1dGlvbjsKKyAgICAgICAgICAgSW4gdGhpcyBjYXNlLCBSeCBFdmVudCB0eXBlIGlzIElkbGUgRXZlbnQgKi8KKyAgICAgICAgaHVhcnQtPlJ4RXZlbnRUeXBlID0gSEFMX1VBUlRfUlhFVkVOVF9JRExFOworCiAjaWYgKFVTRV9IQUxfVUFSVF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKICAgICAgICAgLypDYWxsIHJlZ2lzdGVyZWQgUnggRXZlbnQgY2FsbGJhY2sqLwogICAgICAgICBodWFydC0+UnhFdmVudENhbGxiYWNrKGh1YXJ0LCAoaHVhcnQtPlJ4WGZlclNpemUgLSBodWFydC0+UnhYZmVyQ291bnQpKTsKQEAgLTIzODksNiArMjM2NSwxMSBAQAogICAgICAgICBodWFydC0+UnhJU1IgPSBOVUxMOwogCiAgICAgICAgIEFUT01JQ19DTEVBUl9CSVQoaHVhcnQtPkluc3RhbmNlLT5DUjEsIFVTQVJUX0NSMV9JRExFSUUpOworCisgICAgICAgIC8qIEluaXRpYWxpemUgdHlwZSBvZiBSeEV2ZW50IHRoYXQgY29ycmVzcG9uZCB0byBSeEV2ZW50IGNhbGxiYWNrIGV4ZWN1dGlvbjsKKyAgICAgICAgICAgSW4gdGhpcyBjYXNlLCBSeCBFdmVudCB0eXBlIGlzIElkbGUgRXZlbnQgKi8KKyAgICAgICAgaHVhcnQtPlJ4RXZlbnRUeXBlID0gSEFMX1VBUlRfUlhFVkVOVF9JRExFOworCiAjaWYgKFVTRV9IQUxfVUFSVF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKICAgICAgICAgLypDYWxsIHJlZ2lzdGVyZWQgUnggY29tcGxldGUgY2FsbGJhY2sqLwogICAgICAgICBodWFydC0+UnhFdmVudENhbGxiYWNrKGh1YXJ0LCBuYl9yeF9kYXRhKTsKQEAgLTI4NTEsNyArMjgzMiw3IEBACiAgICogICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBVQVJULgogICAqIEByZXR2YWwgSEFMIHN0YXRlCiAgICovCi1IQUxfVUFSVF9TdGF0ZVR5cGVEZWYgSEFMX1VBUlRfR2V0U3RhdGUoVUFSVF9IYW5kbGVUeXBlRGVmICpodWFydCkKK0hBTF9VQVJUX1N0YXRlVHlwZURlZiBIQUxfVUFSVF9HZXRTdGF0ZShjb25zdCBVQVJUX0hhbmRsZVR5cGVEZWYgKmh1YXJ0KQogewogICB1aW50MzJfdCB0ZW1wMTsKICAgdWludDMyX3QgdGVtcDI7CkBAIC0yODY3LDcgKzI4NDgsNyBAQAogICAqICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIHRoZSBzcGVjaWZpZWQgVUFSVC4KICAgKiBAcmV0dmFsIFVBUlQgRXJyb3IgQ29kZQogICAqLwotdWludDMyX3QgSEFMX1VBUlRfR2V0RXJyb3IoVUFSVF9IYW5kbGVUeXBlRGVmICpodWFydCkKK3VpbnQzMl90IEhBTF9VQVJUX0dldEVycm9yKGNvbnN0IFVBUlRfSGFuZGxlVHlwZURlZiAqaHVhcnQpCiB7CiAgIHJldHVybiBodWFydC0+RXJyb3JDb2RlOwogfQpAQCAtMzE2NSwxMiArMzE0NiwxMyBAQAogICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOwogICAgIH0KICAgfQotI2VuZGlmCisjZW5kaWYgLyogVVNBUlRfSVNSX1JFQUNLICovCiAKICAgLyogSW5pdGlhbGl6ZSB0aGUgVUFSVCBTdGF0ZSAqLwogICBodWFydC0+Z1N0YXRlID0gSEFMX1VBUlRfU1RBVEVfUkVBRFk7CiAgIGh1YXJ0LT5SeFN0YXRlID0gSEFMX1VBUlRfU1RBVEVfUkVBRFk7CiAgIGh1YXJ0LT5SZWNlcHRpb25UeXBlID0gSEFMX1VBUlRfUkVDRVBUSU9OX1NUQU5EQVJEOworICBodWFydC0+UnhFdmVudFR5cGUgPSBIQUxfVUFSVF9SWEVWRU5UX1RDOwogCiAgIF9fSEFMX1VOTE9DSyhodWFydCk7CiAKQEAgLTMyNzUsMTEgKzMyNTcsOSBAQAogICAgIGh1YXJ0LT5SeElTUiA9IFVBUlRfUnhJU1JfOEJJVDsKICAgfQogCi0gIF9fSEFMX1VOTE9DSyhodWFydCk7Ci0KICAgLyogRW5hYmxlIHRoZSBVQVJUIFBhcml0eSBFcnJvciBpbnRlcnJ1cHQgYW5kIERhdGEgUmVnaXN0ZXIgTm90IEVtcHR5IGludGVycnVwdCAqLwogICBpZiAoaHVhcnQtPkluaXQuUGFyaXR5ICE9IFVBUlRfUEFSSVRZX05PTkUpCi0gIHsgCisgIHsKICAgICBBVE9NSUNfU0VUX0JJVChodWFydC0+SW5zdGFuY2UtPkNSMSwgVVNBUlRfQ1IxX1BFSUUgfCBVU0FSVF9DUjFfUlhORUlFKTsKICAgfQogICBlbHNlCkBAIC0zMzI4LDE1ICszMzA4LDEyIEBACiAgICAgICAvKiBTZXQgZXJyb3IgY29kZSB0byBETUEgKi8KICAgICAgIGh1YXJ0LT5FcnJvckNvZGUgPSBIQUxfVUFSVF9FUlJPUl9ETUE7CiAKLSAgICAgIF9fSEFMX1VOTE9DSyhodWFydCk7Ci0KICAgICAgIC8qIFJlc3RvcmUgaHVhcnQtPlJ4U3RhdGUgdG8gcmVhZHkgKi8KICAgICAgIGh1YXJ0LT5SeFN0YXRlID0gSEFMX1VBUlRfU1RBVEVfUkVBRFk7CiAKICAgICAgIHJldHVybiBIQUxfRVJST1I7CiAgICAgfQogICB9Ci0gIF9fSEFMX1VOTE9DSyhodWFydCk7CiAKICAgLyogRW5hYmxlIHRoZSBVQVJUIFBhcml0eSBFcnJvciBJbnRlcnJ1cHQgKi8KICAgaWYgKGh1YXJ0LT5Jbml0LlBhcml0eSAhPSBVQVJUX1BBUklUWV9OT05FKQpAQCAtMzQ4MCw2ICszNDU3LDEwIEBACiAgICAgfQogICB9CiAKKyAgLyogSW5pdGlhbGl6ZSB0eXBlIG9mIFJ4RXZlbnQgdGhhdCBjb3JyZXNwb25kIHRvIFJ4RXZlbnQgY2FsbGJhY2sgZXhlY3V0aW9uOworICAgICBJbiB0aGlzIGNhc2UsIFJ4IEV2ZW50IHR5cGUgaXMgVHJhbnNmZXIgQ29tcGxldGUgKi8KKyAgaHVhcnQtPlJ4RXZlbnRUeXBlID0gSEFMX1VBUlRfUlhFVkVOVF9UQzsKKwogICAvKiBDaGVjayBjdXJyZW50IHJlY2VwdGlvbiBNb2RlIDoKICAgICAgSWYgUmVjZXB0aW9uIHRpbGwgSURMRSBldmVudCBoYXMgYmVlbiBzZWxlY3RlZCA6IHVzZSBSeCBFdmVudCBjYWxsYmFjayAqLwogICBpZiAoaHVhcnQtPlJlY2VwdGlvblR5cGUgPT0gSEFMX1VBUlRfUkVDRVBUSU9OX1RPSURMRSkKQEAgLTM1MTQsNiArMzQ5NSwxMCBAQAogewogICBVQVJUX0hhbmRsZVR5cGVEZWYgKmh1YXJ0ID0gKFVBUlRfSGFuZGxlVHlwZURlZiAqKShoZG1hLT5QYXJlbnQpOwogCisgIC8qIEluaXRpYWxpemUgdHlwZSBvZiBSeEV2ZW50IHRoYXQgY29ycmVzcG9uZCB0byBSeEV2ZW50IGNhbGxiYWNrIGV4ZWN1dGlvbjsKKyAgICAgSW4gdGhpcyBjYXNlLCBSeCBFdmVudCB0eXBlIGlzIEhhbGYgVHJhbnNmZXIgKi8KKyAgaHVhcnQtPlJ4RXZlbnRUeXBlID0gSEFMX1VBUlRfUlhFVkVOVF9IVDsKKwogICAvKiBDaGVjayBjdXJyZW50IHJlY2VwdGlvbiBNb2RlIDoKICAgICAgSWYgUmVjZXB0aW9uIHRpbGwgSURMRSBldmVudCBoYXMgYmVlbiBzZWxlY3RlZCA6IHVzZSBSeCBFdmVudCBjYWxsYmFjayAqLwogICBpZiAoaHVhcnQtPlJlY2VwdGlvblR5cGUgPT0gSEFMX1VBUlRfUkVDRVBUSU9OX1RPSURMRSkKQEAgLTM4ODMsNiArMzg2OCw5IEBACiAgICAgICAvKiBDbGVhciBSeElTUiBmdW5jdGlvbiBwb2ludGVyICovCiAgICAgICBodWFydC0+UnhJU1IgPSBOVUxMOwogCisgICAgICAvKiBJbml0aWFsaXplIHR5cGUgb2YgUnhFdmVudCB0byBUcmFuc2ZlciBDb21wbGV0ZSAqLworICAgICAgaHVhcnQtPlJ4RXZlbnRUeXBlID0gSEFMX1VBUlRfUlhFVkVOVF9UQzsKKwogICAgICAgLyogQ2hlY2sgY3VycmVudCByZWNlcHRpb24gTW9kZSA6CiAgICAgICAgICBJZiBSZWNlcHRpb24gdGlsbCBJRExFIGV2ZW50IGhhcyBiZWVuIHNlbGVjdGVkIDogKi8KICAgICAgIGlmIChodWFydC0+UmVjZXB0aW9uVHlwZSA9PSBIQUxfVUFSVF9SRUNFUFRJT05fVE9JRExFKQpAQCAtMzg5OCw2ICszODg2LDcgQEAKICAgICAgICAgICAvKiBDbGVhciBJRExFIEZsYWcgKi8KICAgICAgICAgICBfX0hBTF9VQVJUX0NMRUFSX0ZMQUcoaHVhcnQsIFVBUlRfQ0xFQVJfSURMRUYpOwogICAgICAgICB9CisKICNpZiAoVVNFX0hBTF9VQVJUX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQogICAgICAgICAvKkNhbGwgcmVnaXN0ZXJlZCBSeCBFdmVudCBjYWxsYmFjayovCiAgICAgICAgIGh1YXJ0LT5SeEV2ZW50Q2FsbGJhY2soaHVhcnQsIGh1YXJ0LT5SeFhmZXJTaXplKTsKQEAgLTM5NjIsNiArMzk1MSw5IEBACiAgICAgICAvKiBDbGVhciBSeElTUiBmdW5jdGlvbiBwb2ludGVyICovCiAgICAgICBodWFydC0+UnhJU1IgPSBOVUxMOwogCisgICAgICAvKiBJbml0aWFsaXplIHR5cGUgb2YgUnhFdmVudCB0byBUcmFuc2ZlciBDb21wbGV0ZSAqLworICAgICAgaHVhcnQtPlJ4RXZlbnRUeXBlID0gSEFMX1VBUlRfUlhFVkVOVF9UQzsKKwogICAgICAgLyogQ2hlY2sgY3VycmVudCByZWNlcHRpb24gTW9kZSA6CiAgICAgICAgICBJZiBSZWNlcHRpb24gdGlsbCBJRExFIGV2ZW50IGhhcyBiZWVuIHNlbGVjdGVkIDogKi8KICAgICAgIGlmIChodWFydC0+UmVjZXB0aW9uVHlwZSA9PSBIQUxfVUFSVF9SRUNFUFRJT05fVE9JRExFKQpAQCAtMzk3Nyw2ICszOTY5LDcgQEAKICAgICAgICAgICAvKiBDbGVhciBJRExFIEZsYWcgKi8KICAgICAgICAgICBfX0hBTF9VQVJUX0NMRUFSX0ZMQUcoaHVhcnQsIFVBUlRfQ0xFQVJfSURMRUYpOwogICAgICAgICB9CisKICNpZiAoVVNFX0hBTF9VQVJUX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQogICAgICAgICAvKkNhbGwgcmVnaXN0ZXJlZCBSeCBFdmVudCBjYWxsYmFjayovCiAgICAgICAgIGh1YXJ0LT5SeEV2ZW50Q2FsbGJhY2soaHVhcnQsIGh1YXJ0LT5SeFhmZXJTaXplKTsKZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY3eHhfaGFsX3VhcnRfZXguYyBiL1NyYy9zdG0zMmY3eHhfaGFsX3VhcnRfZXguYwppbmRleCBkNDIyOWMxLi4xYjg1ZGE5IDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmN3h4X2hhbF91YXJ0X2V4LmMKKysrIGIvU3JjL3N0bTMyZjd4eF9oYWxfdWFydF9leC5jCkBAIC01MDcsMTEgKzUwNywxMCBAQAogICAgICAgcmV0dXJuICBIQUxfRVJST1I7CiAgICAgfQogCi0gICAgX19IQUxfTE9DSyhodWFydCk7Ci0KICAgICBodWFydC0+RXJyb3JDb2RlID0gSEFMX1VBUlRfRVJST1JfTk9ORTsKICAgICBodWFydC0+UnhTdGF0ZSA9IEhBTF9VQVJUX1NUQVRFX0JVU1lfUlg7CiAgICAgaHVhcnQtPlJlY2VwdGlvblR5cGUgPSBIQUxfVUFSVF9SRUNFUFRJT05fVE9JRExFOworICAgIGh1YXJ0LT5SeEV2ZW50VHlwZSA9IEhBTF9VQVJUX1JYRVZFTlRfVEM7CiAKICAgICAvKiBJbml0IHRpY2tzdGFydCBmb3IgdGltZW91dCBtYW5hZ2VtZW50ICovCiAgICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKQEAgLTUzNSw4ICs1MzQsNiBAQAogICAgICAgcGRhdGExNmJpdHMgPSBOVUxMOwogICAgIH0KIAotICAgIF9fSEFMX1VOTE9DSyhodWFydCk7Ci0KICAgICAvKiBJbml0aWFsaXplIG91dHB1dCBudW1iZXIgb2YgcmVjZWl2ZWQgZWxlbWVudHMgKi8KICAgICAqUnhMZW4gPSAwVTsKIApAQCAtNTUzLDYgKzU1MCw3IEBACiAgICAgICAgIC8qIElmIFNldCwgYW5kIGRhdGEgaGFzIGFscmVhZHkgYmVlbiByZWNlaXZlZCwgdGhpcyBtZWFucyBJZGxlIEV2ZW50IGlzIHZhbGlkIDogRW5kIHJlY2VwdGlvbiAqLwogICAgICAgICBpZiAoKlJ4TGVuID4gMFUpCiAgICAgICAgIHsKKyAgICAgICAgICBodWFydC0+UnhFdmVudFR5cGUgPSBIQUxfVUFSVF9SWEVWRU5UX0lETEU7CiAgICAgICAgICAgaHVhcnQtPlJ4U3RhdGUgPSBIQUxfVUFSVF9TVEFURV9SRUFEWTsKIAogICAgICAgICAgIHJldHVybiBIQUxfT0s7CkBAIC02MjgsMTAgKzYyNiw5IEBACiAgICAgICByZXR1cm4gSEFMX0VSUk9SOwogICAgIH0KIAotICAgIF9fSEFMX0xPQ0soaHVhcnQpOwotCiAgICAgLyogU2V0IFJlY2VwdGlvbiB0eXBlIHRvIHJlY2VwdGlvbiB0aWxsIElETEUgRXZlbnQqLwogICAgIGh1YXJ0LT5SZWNlcHRpb25UeXBlID0gSEFMX1VBUlRfUkVDRVBUSU9OX1RPSURMRTsKKyAgICBodWFydC0+UnhFdmVudFR5cGUgPSBIQUxfVUFSVF9SWEVWRU5UX1RDOwogCiAgICAgc3RhdHVzID0gIFVBUlRfU3RhcnRfUmVjZWl2ZV9JVChodWFydCwgcERhdGEsIFNpemUpOwogCkBAIC02OTAsMTAgKzY4Nyw5IEBACiAgICAgICByZXR1cm4gSEFMX0VSUk9SOwogICAgIH0KIAotICAgIF9fSEFMX0xPQ0soaHVhcnQpOwotCiAgICAgLyogU2V0IFJlY2VwdGlvbiB0eXBlIHRvIHJlY2VwdGlvbiB0aWxsIElETEUgRXZlbnQqLwogICAgIGh1YXJ0LT5SZWNlcHRpb25UeXBlID0gSEFMX1VBUlRfUkVDRVBUSU9OX1RPSURMRTsKKyAgICBodWFydC0+UnhFdmVudFR5cGUgPSBIQUxfVUFSVF9SWEVWRU5UX1RDOwogCiAgICAgc3RhdHVzID0gIFVBUlRfU3RhcnRfUmVjZWl2ZV9ETUEoaHVhcnQsIHBEYXRhLCBTaXplKTsKIApAQCAtNzI0LDYgKzcyMCwzNiBAQAogfQogCiAvKioKKyAgKiBAYnJpZWYgUHJvdmlkZSBSeCBFdmVudCB0eXBlIHRoYXQgaGFzIGxlYWQgdG8gUnhFdmVudCBjYWxsYmFjayBleGVjdXRpb24uCisgICogQG5vdGUgIFdoZW4gSEFMX1VBUlRFeF9SZWNlaXZlVG9JZGxlX0lUKCkgb3IgSEFMX1VBUlRFeF9SZWNlaXZlVG9JZGxlX0RNQSgpIEFQSSBhcmUgY2FsbGVkLCBwcm9ncmVzcworICAqICAgICAgICBvZiByZWNlcHRpb24gcHJvY2VzcyBpcyBwcm92aWRlZCB0byBhcHBsaWNhdGlvbiB0aHJvdWdoIGNhbGxzIG9mIFJ4IEV2ZW50IGNhbGxiYWNrIChlaXRoZXIgZGVmYXVsdCBvbmUKKyAgKiAgICAgICAgSEFMX1VBUlRFeF9SeEV2ZW50Q2FsbGJhY2soKSBvciB1c2VyIHJlZ2lzdGVyZWQgb25lKS4gQXMgc2V2ZXJhbCB0eXBlcyBvZiBldmVudHMgY291bGQgb2NjdXIgKElETEUgZXZlbnQsCisgICogICAgICAgIEhhbGYgVHJhbnNmZXIsIG9yIFRyYW5zZmVyIENvbXBsZXRlKSwgdGhpcyBmdW5jdGlvbiBhbGxvd3MgdG8gcmV0cmlldmUgdGhlIFJ4IEV2ZW50IHR5cGUgdGhhdCBoYXMgbGVhZAorICAqICAgICAgICB0byBSeCBFdmVudCBjYWxsYmFjayBleGVjdXRpb24uCisgICogQG5vdGUgIFRoaXMgZnVuY3Rpb24gaXMgZXhwZWN0ZWQgdG8gYmUgY2FsbGVkIHdpdGhpbiB0aGUgdXNlciBpbXBsZW1lbnRhdGlvbiBvZiBSeCBFdmVudCBDYWxsYmFjaywKKyAgKiAgICAgICAgaW4gb3JkZXIgdG8gcHJvdmlkZSB0aGUgYWNjdXJhdGUgdmFsdWUgOgorICAqICAgICAgICBJbiBJbnRlcnJ1cHQgTW9kZSA6CisgICogICAgICAgICAgIC0gSEFMX1VBUlRfUlhFVkVOVF9UQyA6IHdoZW4gUmVjZXB0aW9uIGhhcyBiZWVuIGNvbXBsZXRlZCAoZXhwZWN0ZWQgbmIgb2YgZGF0YSBoYXMgYmVlbiByZWNlaXZlZCkKKyAgKiAgICAgICAgICAgLSBIQUxfVUFSVF9SWEVWRU5UX0lETEUgOiB3aGVuIElkbGUgZXZlbnQgb2NjdXJyZWQgcHJpb3IgcmVjZXB0aW9uIGhhcyBiZWVuIGNvbXBsZXRlZCAobmIgb2YKKyAgKiAgICAgICAgICAgICByZWNlaXZlZCBkYXRhIGlzIGxvd2VyIHRoYW4gZXhwZWN0ZWQgb25lKQorICAqICAgICAgICBJbiBETUEgTW9kZSA6CisgICogICAgICAgICAgIC0gSEFMX1VBUlRfUlhFVkVOVF9UQyA6IHdoZW4gUmVjZXB0aW9uIGhhcyBiZWVuIGNvbXBsZXRlZCAoZXhwZWN0ZWQgbmIgb2YgZGF0YSBoYXMgYmVlbiByZWNlaXZlZCkKKyAgKiAgICAgICAgICAgLSBIQUxfVUFSVF9SWEVWRU5UX0hUIDogd2hlbiBoYWxmIG9mIGV4cGVjdGVkIG5iIG9mIGRhdGEgaGFzIGJlZW4gcmVjZWl2ZWQKKyAgKiAgICAgICAgICAgLSBIQUxfVUFSVF9SWEVWRU5UX0lETEUgOiB3aGVuIElkbGUgZXZlbnQgb2NjdXJyZWQgcHJpb3IgcmVjZXB0aW9uIGhhcyBiZWVuIGNvbXBsZXRlZCAobmIgb2YKKyAgKiAgICAgICAgICAgICByZWNlaXZlZCBkYXRhIGlzIGxvd2VyIHRoYW4gZXhwZWN0ZWQgb25lKS4KKyAgKiAgICAgICAgSW4gRE1BIG1vZGUsIFJ4RXZlbnQgY2FsbGJhY2sgY291bGQgYmUgY2FsbGVkIHNldmVyYWwgdGltZXM7CisgICogICAgICAgIFdoZW4gRE1BIGlzIGNvbmZpZ3VyZWQgaW4gTm9ybWFsIE1vZGUsIEhUIGV2ZW50IGRvZXMgbm90IHN0b3AgUmVjZXB0aW9uIHByb2Nlc3M7CisgICogICAgICAgIFdoZW4gRE1BIGlzIGNvbmZpZ3VyZWQgaW4gQ2lyY3VsYXIgTW9kZSwgSFQsIFRDIG9yIElETEUgZXZlbnRzIGRvbid0IHN0b3AgUmVjZXB0aW9uIHByb2Nlc3M7CisgICogQHBhcmFtICBodWFydCBVQVJUIGhhbmRsZS4KKyAgKiBAcmV0dmFsIFJ4IEV2ZW50IFR5cGUgKHJldHVybiB2YWxlIHdpbGwgYmUgYSB2YWx1ZSBvZiBAcmVmIFVBUlRfUnhFdmVudF9UeXBlX1ZhbHVlcykKKyAgKi8KK0hBTF9VQVJUX1J4RXZlbnRUeXBlVHlwZURlZiBIQUxfVUFSVEV4X0dldFJ4RXZlbnRUeXBlKFVBUlRfSGFuZGxlVHlwZURlZiAqaHVhcnQpCit7CisgIC8qIFJldHVybiBSeCBFdmVudCB0eXBlIHZhbHVlLCBhcyBzdG9yZWQgaW4gVUFSVCBoYW5kbGUgKi8KKyAgcmV0dXJuKGh1YXJ0LT5SeEV2ZW50VHlwZSk7Cit9CisKKy8qKgogICAqIEB9CiAgICovCiAKZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY3eHhfaGFsX3VzYXJ0LmMgYi9TcmMvc3RtMzJmN3h4X2hhbF91c2FydC5jCmluZGV4IDE3ZmZlNDkuLjk5YzQzYjAgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY3eHhfaGFsX3VzYXJ0LmMKKysrIGIvU3JjL3N0bTMyZjd4eF9oYWxfdXNhcnQuYwpAQCAtNzE3LDcgKzcxNyw4IEBACiAgICogQHBhcmFtICBUaW1lb3V0IFRpbWVvdXQgZHVyYXRpb24uCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfVVNBUlRfVHJhbnNtaXQoVVNBUlRfSGFuZGxlVHlwZURlZiAqaHVzYXJ0LCBjb25zdCB1aW50OF90ICpwVHhEYXRhLCB1aW50MTZfdCBTaXplLCB1aW50MzJfdCBUaW1lb3V0KQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1VTQVJUX1RyYW5zbWl0KFVTQVJUX0hhbmRsZVR5cGVEZWYgKmh1c2FydCwgY29uc3QgdWludDhfdCAqcFR4RGF0YSwgdWludDE2X3QgU2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaW1lb3V0KQogewogICBjb25zdCB1aW50OF90ICAqcHR4ZGF0YThiaXRzOwogICBjb25zdCB1aW50MTZfdCAqcHR4ZGF0YTE2Yml0czsKQEAgLTIzMDAsNyArMjMwMSw3IEBACiAgICogICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciB0aGUgc3BlY2lmaWVkIFVTQVJULgogICAqIEByZXR2YWwgVVNBUlQgaGFuZGxlIHN0YXRlCiAgICovCi1IQUxfVVNBUlRfU3RhdGVUeXBlRGVmIEhBTF9VU0FSVF9HZXRTdGF0ZShVU0FSVF9IYW5kbGVUeXBlRGVmICpodXNhcnQpCitIQUxfVVNBUlRfU3RhdGVUeXBlRGVmIEhBTF9VU0FSVF9HZXRTdGF0ZShjb25zdCBVU0FSVF9IYW5kbGVUeXBlRGVmICpodXNhcnQpCiB7CiAgIHJldHVybiBodXNhcnQtPlN0YXRlOwogfQpAQCAtMjMxMSw3ICsyMzEyLDcgQEAKICAgKiAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIHRoZSBzcGVjaWZpZWQgVVNBUlQuCiAgICogQHJldHZhbCBVU0FSVCBoYW5kbGUgRXJyb3IgQ29kZQogICAqLwotdWludDMyX3QgSEFMX1VTQVJUX0dldEVycm9yKFVTQVJUX0hhbmRsZVR5cGVEZWYgKmh1c2FydCkKK3VpbnQzMl90IEhBTF9VU0FSVF9HZXRFcnJvcihjb25zdCBVU0FSVF9IYW5kbGVUeXBlRGVmICpodXNhcnQpCiB7CiAgIHJldHVybiBodXNhcnQtPkVycm9yQ29kZTsKIH0KQEAgLTI4MTksNyArMjgyMCw3IEBACiAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7CiAgICAgfQogICB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBVU0FSVF9JU1JfUkVBQ0sgKi8KIAogICAvKiBJbml0aWFsaXplIHRoZSBVU0FSVCBzdGF0ZSovCiAgIGh1c2FydC0+U3RhdGUgPSBIQUxfVVNBUlRfU1RBVEVfUkVBRFk7CmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmN3h4X2xsX3J0Yy5jIGIvU3JjL3N0bTMyZjd4eF9sbF9ydGMuYwppbmRleCA0ZmNmMzExLi4xM2RhZTZlIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmN3h4X2xsX3J0Yy5jCisrKyBiL1NyYy9zdG0zMmY3eHhfbGxfcnRjLmMKQEAgLTg0LDExICs4NCwxMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoKF9fVkFMVUVfXykgPT0gTExfUlRDX1dFRUtEQVlfU0FUVVJEQVkpIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKChfX1ZBTFVFX18pID09IExMX1JUQ19XRUVLREFZX1NVTkRBWSkpCiAKLSNkZWZpbmUgSVNfTExfUlRDX0RBWShfX0RBWV9fKSAgICAoKChfX0RBWV9fKSA+PSAxVSkgJiYgKChfX0RBWV9fKSA8PSAzMVUpKQorI2RlZmluZSBJU19MTF9SVENfREFZKF9fREFZX18pICAgICAoKChfX0RBWV9fKSA+PSAxVSkgJiYgKChfX0RBWV9fKSA8PSAzMVUpKQogCiAjZGVmaW5lIElTX0xMX1JUQ19NT05USChfX01PTlRIX18pICgoKF9fTU9OVEhfXykgPj0gMVUpICYmICgoX19NT05USF9fKSA8PSAxMlUpKQogCi0jZGVmaW5lIElTX0xMX1JUQ19ZRUFSKF9fWUVBUl9fKSAoKF9fWUVBUl9fKSA8PSA5OVUpCisjZGVmaW5lIElTX0xMX1JUQ19ZRUFSKF9fWUVBUl9fKSAgICgoX19ZRUFSX18pIDw9IDk5VSkKIAogI2RlZmluZSBJU19MTF9SVENfQUxNQV9NQVNLKF9fVkFMVUVfXykgKCgoX19WQUxVRV9fKSA9PSBMTF9SVENfQUxNQV9NQVNLX05PTkUpIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoKF9fVkFMVUVfXykgPT0gTExfUlRDX0FMTUFfTUFTS19EQVRFV0VFS0RBWSkgXApAQCAtMTA0LDE0ICsxMDQsMTIgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoKF9fVkFMVUVfXykgPT0gTExfUlRDX0FMTUJfTUFTS19TRUNPTkRTKSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKChfX1ZBTFVFX18pID09IExMX1JUQ19BTE1CX01BU0tfQUxMKSkKIAotCiAjZGVmaW5lIElTX0xMX1JUQ19BTE1BX0RBVEVfV0VFS0RBWV9TRUwoX19TRUxfXykgKCgoX19TRUxfXykgPT0gTExfUlRDX0FMTUFfREFURVdFRUtEQVlTRUxfREFURSkgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0VMX18pID09IExMX1JUQ19BTE1BX0RBVEVXRUVLREFZU0VMX1dFRUtEQVkpKQogCiAjZGVmaW5lIElTX0xMX1JUQ19BTE1CX0RBVEVfV0VFS0RBWV9TRUwoX19TRUxfXykgKCgoX19TRUxfXykgPT0gTExfUlRDX0FMTUJfREFURVdFRUtEQVlTRUxfREFURSkgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0VMX18pID09IExMX1JUQ19BTE1CX0RBVEVXRUVLREFZU0VMX1dFRUtEQVkpKQogCi0KIC8qKgogICAqIEB9CiAgICovCkBAIC0xMjcsNyArMTI1LDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBEZS1Jbml0aWFsaXplcyB0aGUgUlRDIHJlZ2lzdGVycyB0byB0aGVpciBkZWZhdWx0IHJlc2V0IHZhbHVlcy4KLSAgKiBAbm90ZSAgIFRoaXMgZnVuY3Rpb24gZG9lc24ndCByZXNldCB0aGUgUlRDIENsb2NrIHNvdXJjZSBhbmQgUlRDIEJhY2t1cCBEYXRhCisgICogQG5vdGUgICBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IHJlc2V0IHRoZSBSVEMgQ2xvY2sgc291cmNlIGFuZCBSVEMgQmFja3VwIERhdGEKICAgKiAgICAgICAgIHJlZ2lzdGVycy4KICAgKiBAcGFyYW0gIFJUQ3ggUlRDIEluc3RhbmNlCiAgICogQHJldHZhbCBBbiBFcnJvclN0YXR1cyBlbnVtZXJhdGlvbiB2YWx1ZToKQEAgLTE0OSwyMSArMTQ3LDE3IEBACiAgIHsKICAgICAvKiBSZXNldCBUUiwgRFIgYW5kIENSIHJlZ2lzdGVycyAqLwogICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBUUiwgICAgICAgMHgwMDAwMDAwMFUpOwotI2lmIGRlZmluZWQoUlRDX1dBS0VVUF9TVVBQT1JUKQogICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBXVVRSLCAgICAgUlRDX1dVVFJfV1VUKTsKLSNlbmRpZiAvKiBSVENfV0FLRVVQX1NVUFBPUlQgKi8KLSAgICBMTF9SVENfV3JpdGVSZWcoUlRDeCwgRFIgICwgICAgIChSVENfRFJfV0RVXzAgfCBSVENfRFJfTVVfMCB8IFJUQ19EUl9EVV8wKSk7CisgICAgTExfUlRDX1dyaXRlUmVnKFJUQ3gsIERSLCAgICAgIChSVENfRFJfV0RVXzAgfCBSVENfRFJfTVVfMCB8IFJUQ19EUl9EVV8wKSk7CisKICAgICAvKiBSZXNldCBBbGwgQ1IgYml0cyBleGNlcHQgQ1JbMjowXSAqLwotI2lmIGRlZmluZWQoUlRDX1dBS0VVUF9TVVBQT1JUKQogICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBDUiwgKExMX1JUQ19SZWFkUmVnKFJUQ3gsIENSKSAmIFJUQ19DUl9XVUNLU0VMKSk7Ci0jZWxzZQotICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBDUiwgMHgwMDAwMDAwMFUpOwotI2VuZGlmIC8qIFJUQ19XQUtFVVBfU1VQUE9SVCAqLwotICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBQUkVSLCAgICAgKFJUQ19QUkVSX1BSRURJVl9BIHwgUlRDX1NZTkNIX1BSRVNDX0RFRkFVTFQpKTsKKworICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBQUkVSLCAgICAoUlRDX1BSRVJfUFJFRElWX0EgfCBSVENfU1lOQ0hfUFJFU0NfREVGQVVMVCkpOwogICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBBTFJNQVIsICAgMHgwMDAwMDAwMFUpOwogICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBBTFJNQlIsICAgMHgwMDAwMDAwMFUpOwotICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBTSElGVFIsICAgMHgwMDAwMDAwMFUpOwogICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBDQUxSLCAgICAgMHgwMDAwMDAwMFUpOworICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBTSElGVFIsICAgMHgwMDAwMDAwMFUpOwogICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBBTFJNQVNTUiwgMHgwMDAwMDAwMFUpOwogICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBBTFJNQlNTUiwgMHgwMDAwMDAwMFUpOwogCkBAIC0zNzAsNyArMzY0LDcgQEAKIAogICBpZiAoKFJUQ19Gb3JtYXQgPT0gTExfUlRDX0ZPUk1BVF9CSU4pICYmICgoUlRDX0RhdGVTdHJ1Y3QtPk1vbnRoICYgMHgxMFUpID09IDB4MTBVKSkKICAgewotICAgIFJUQ19EYXRlU3RydWN0LT5Nb250aCA9IChSVENfRGF0ZVN0cnVjdC0+TW9udGggJiAodWludDMyX3QpfigweDEwVSkpICsgMHgwQVU7CisgICAgUlRDX0RhdGVTdHJ1Y3QtPk1vbnRoID0gKHVpbnQ4X3QpKFJUQ19EYXRlU3RydWN0LT5Nb250aCAmICh1aW50OF90KX4oMHgxMFUpKSArIDB4MEFVOwogICB9CiAgIGlmIChSVENfRm9ybWF0ID09IExMX1JUQ19GT1JNQVRfQklOKQogICB7CkBAIC03ODUsNyArNzc5LDcgQEAKICAgKiAgICAgICAgIHN5bmNocm9uaXplZCB3aXRoIFJUQyBBUEIgY2xvY2suCiAgICogQG5vdGUgICBUaGUgUlRDIFJlc3luY2hyb25pemF0aW9uIG1vZGUgaXMgd3JpdGUgcHJvdGVjdGVkLCB1c2UgdGhlCiAgICogICAgICAgICBAcmVmIExMX1JUQ19EaXNhYmxlV3JpdGVQcm90ZWN0aW9uIGJlZm9yZSBjYWxsaW5nIHRoaXMgZnVuY3Rpb24uCi0gICogQG5vdGUgICBUbyByZWFkIHRoZSBjYWxlbmRhciB0aHJvdWdoIHRoZSBzaGFkb3cgcmVnaXN0ZXJzIGFmdGVyIENhbGVuZGFyCisgICogQG5vdGUgICBUbyByZWFkIHRoZSBjYWxlbmRhciB0aHJvdWdoIHRoZSBzaGFkb3cgcmVnaXN0ZXJzIGFmdGVyIGNhbGVuZGFyCiAgICogICAgICAgICBpbml0aWFsaXphdGlvbiwgY2FsZW5kYXIgdXBkYXRlIG9yIGFmdGVyIHdha2V1cCBmcm9tIGxvdyBwb3dlciBtb2RlcwogICAqICAgICAgICAgdGhlIHNvZnR3YXJlIG11c3QgZmlyc3QgY2xlYXIgdGhlIFJTRiBmbGFnLgogICAqICAgICAgICAgVGhlIHNvZnR3YXJlIG11c3QgdGhlbiB3YWl0IHVudGlsIGl0IGlzIHNldCBhZ2FpbiBiZWZvcmUgcmVhZGluZwpAQCAtODEwLDcgKzgwNCw3IEBACiAKICAgLyogV2FpdCB0aGUgcmVnaXN0ZXJzIHRvIGJlIHN5bmNocm9uaXNlZCAqLwogICB0bXAgPSBMTF9SVENfSXNBY3RpdmVGbGFnX1JTKFJUQ3gpOwotICB3aGlsZSAoKHRpbWVvdXQgIT0gMFUpICYmICh0bXAgIT0gMFUpKQorICB3aGlsZSAoKHRpbWVvdXQgIT0gMFUpICYmICh0bXAgIT0gMVUpKQogICB7CiAgICAgaWYgKExMX1NZU1RJQ0tfSXNBY3RpdmVDb3VudGVyRmxhZygpID09IDFVKQogICAgIHsKQEAgLTgyMywyNCArODE3LDYgQEAKICAgICB9CiAgIH0KIAotICBpZiAoc3RhdHVzICE9IEVSUk9SKQotICB7Ci0gICAgdGltZW91dCA9IFJUQ19TWU5DSFJPX1RJTUVPVVQ7Ci0gICAgdG1wID0gTExfUlRDX0lzQWN0aXZlRmxhZ19SUyhSVEN4KTsKLSAgICB3aGlsZSAoKHRpbWVvdXQgIT0gMFUpICYmICh0bXAgIT0gMVUpKQotICAgIHsKLSAgICAgIGlmIChMTF9TWVNUSUNLX0lzQWN0aXZlQ291bnRlckZsYWcoKSA9PSAxVSkKLSAgICAgIHsKLSAgICAgICAgdGltZW91dC0tOwotICAgICAgfQotICAgICAgdG1wID0gTExfUlRDX0lzQWN0aXZlRmxhZ19SUyhSVEN4KTsKLSAgICAgIGlmICh0aW1lb3V0ID09IDBVKQotICAgICAgewotICAgICAgICBzdGF0dXMgPSBFUlJPUjsKLSAgICAgIH0KLSAgICB9Ci0gIH0KLQogICByZXR1cm4gKHN0YXR1cyk7CiB9CiAKQEAgLTg2Myw0ICs4MzksMyBAQAogICAqLwogCiAjZW5kaWYgLyogVVNFX0ZVTExfTExfRFJJVkVSICovCi0KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY3eHhfbGxfdXNhcnQuYyBiL1NyYy9zdG0zMmY3eHhfbGxfdXNhcnQuYwppbmRleCBkOWNhMjdmLi5iNzJlY2MyIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmN3h4X2xsX3VzYXJ0LmMKKysrIGIvU3JjL3N0bTMyZjd4eF9sbF91c2FydC5jCkBAIC0xMTIsNyArMTEyLDcgQEAKICAgKiAgICAgICAgICAtIFNVQ0NFU1M6IFVTQVJUIHJlZ2lzdGVycyBhcmUgZGUtaW5pdGlhbGl6ZWQKICAgKiAgICAgICAgICAtIEVSUk9SOiBVU0FSVCByZWdpc3RlcnMgYXJlIG5vdCBkZS1pbml0aWFsaXplZAogICAqLwotRXJyb3JTdGF0dXMgTExfVVNBUlRfRGVJbml0KFVTQVJUX1R5cGVEZWYgKlVTQVJUeCkKK0Vycm9yU3RhdHVzIExMX1VTQVJUX0RlSW5pdChjb25zdCBVU0FSVF9UeXBlRGVmICpVU0FSVHgpCiB7CiAgIEVycm9yU3RhdHVzIHN0YXR1cyA9IFNVQ0NFU1M7CiAKQEAgLTIwNSw3ICsyMDUsNyBAQAogICAqICAgICAgICAgIC0gU1VDQ0VTUzogVVNBUlQgcmVnaXN0ZXJzIGFyZSBpbml0aWFsaXplZCBhY2NvcmRpbmcgdG8gVVNBUlRfSW5pdFN0cnVjdCBjb250ZW50CiAgICogICAgICAgICAgLSBFUlJPUjogUHJvYmxlbSBvY2N1cnJlZCBkdXJpbmcgVVNBUlQgUmVnaXN0ZXJzIGluaXRpYWxpemF0aW9uCiAgICovCi1FcnJvclN0YXR1cyBMTF9VU0FSVF9Jbml0KFVTQVJUX1R5cGVEZWYgKlVTQVJUeCwgTExfVVNBUlRfSW5pdFR5cGVEZWYgKlVTQVJUX0luaXRTdHJ1Y3QpCitFcnJvclN0YXR1cyBMTF9VU0FSVF9Jbml0KFVTQVJUX1R5cGVEZWYgKlVTQVJUeCwgY29uc3QgTExfVVNBUlRfSW5pdFR5cGVEZWYgKlVTQVJUX0luaXRTdHJ1Y3QpCiB7CiAgIEVycm9yU3RhdHVzIHN0YXR1cyA9IEVSUk9SOwogICB1aW50MzJfdCBwZXJpcGhjbGsgPSBMTF9SQ0NfUEVSSVBIX0ZSRVFVRU5DWV9OTzsKQEAgLTM0Niw3ICszNDYsNyBAQAogICAqICAgICAgICAgICAgICAgICAgICAgdG8gVVNBUlRfQ2xvY2tJbml0U3RydWN0IGNvbnRlbnQKICAgKiAgICAgICAgICAtIEVSUk9SOiBQcm9ibGVtIG9jY3VycmVkIGR1cmluZyBVU0FSVCBSZWdpc3RlcnMgaW5pdGlhbGl6YXRpb24KICAgKi8KLUVycm9yU3RhdHVzIExMX1VTQVJUX0Nsb2NrSW5pdChVU0FSVF9UeXBlRGVmICpVU0FSVHgsIExMX1VTQVJUX0Nsb2NrSW5pdFR5cGVEZWYgKlVTQVJUX0Nsb2NrSW5pdFN0cnVjdCkKK0Vycm9yU3RhdHVzIExMX1VTQVJUX0Nsb2NrSW5pdChVU0FSVF9UeXBlRGVmICpVU0FSVHgsIGNvbnN0IExMX1VTQVJUX0Nsb2NrSW5pdFR5cGVEZWYgKlVTQVJUX0Nsb2NrSW5pdFN0cnVjdCkKIHsKICAgRXJyb3JTdGF0dXMgc3RhdHVzID0gU1VDQ0VTUzsKIApkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjd4eF9sbF91c2IuYyBiL1NyYy9zdG0zMmY3eHhfbGxfdXNiLmMKaW5kZXggMDgyYWMxOC4uZTdhMjUzNiAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjd4eF9sbF91c2IuYworKysgYi9TcmMvc3RtMzJmN3h4X2xsX3VzYi5jCkBAIC01MDQsNyArNTA0LDkgQEAKICAgLyogV2FpdCBmb3IgQUhCIG1hc3RlciBJRExFIHN0YXRlLiAqLwogICBkbwogICB7Ci0gICAgaWYgKCsrY291bnQgPiAyMDAwMDBVKQorICAgIGNvdW50Kys7CisKKyAgICBpZiAoY291bnQgPiAyMDAwMDBVKQogICAgIHsKICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgICB9CkBAIC01MTYsNyArNTE4LDkgQEAKIAogICBkbwogICB7Ci0gICAgaWYgKCsrY291bnQgPiAyMDAwMDBVKQorICAgIGNvdW50Kys7CisKKyAgICBpZiAoY291bnQgPiAyMDAwMDBVKQogICAgIHsKICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgICB9CkBAIC01MzcsNyArNTQxLDkgQEAKICAgLyogV2FpdCBmb3IgQUhCIG1hc3RlciBJRExFIHN0YXRlLiAqLwogICBkbwogICB7Ci0gICAgaWYgKCsrY291bnQgPiAyMDAwMDBVKQorICAgIGNvdW50Kys7CisKKyAgICBpZiAoY291bnQgPiAyMDAwMDBVKQogICAgIHsKICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgICB9CkBAIC01NDksNyArNTU1LDkgQEAKIAogICBkbwogICB7Ci0gICAgaWYgKCsrY291bnQgPiAyMDAwMDBVKQorICAgIGNvdW50Kys7CisKKyAgICBpZiAoY291bnQgPiAyMDAwMDBVKQogICAgIHsKICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgICB9CkBAIC0xMDE2LDYgKzEwMjQsNjQgQEAKICAgcmV0dXJuIEhBTF9PSzsKIH0KIAorCisvKioKKyAgICogQGJyaWVmICBVU0JfRVBTdG9wdFhmZXIgIFN0b3AgdHJhbnNmZXIgb24gYW4gRVAKKyAgICogQHBhcmFtICBVU0J4ICB1c2IgZGV2aWNlIGluc3RhbmNlCisgICAqIEBwYXJhbSAgZXAgcG9pbnRlciB0byBlbmRwb2ludCBzdHJ1Y3R1cmUKKyAgICogQHJldHZhbCBIQUwgc3RhdHVzCisgICAqLworSEFMX1N0YXR1c1R5cGVEZWYgVVNCX0VQU3RvcFhmZXIoVVNCX09UR19HbG9iYWxUeXBlRGVmICpVU0J4LCBVU0JfT1RHX0VQVHlwZURlZiAqZXApCit7CisgIF9fSU8gdWludDMyX3QgY291bnQgPSAwVTsKKyAgSEFMX1N0YXR1c1R5cGVEZWYgcmV0ID0gSEFMX09LOworICB1aW50MzJfdCBVU0J4X0JBU0UgPSAodWludDMyX3QpVVNCeDsKKworICAvKiBJTiBlbmRwb2ludCAqLworICBpZiAoZXAtPmlzX2luID09IDFVKQorICB7CisgICAgLyogRVAgZW5hYmxlLCBJTiBkYXRhIGluIEZJRk8gKi8KKyAgICBpZiAoKChVU0J4X0lORVAoZXAtPm51bSktPkRJRVBDVEwpICYgVVNCX09UR19ESUVQQ1RMX0VQRU5BKSA9PSBVU0JfT1RHX0RJRVBDVExfRVBFTkEpCisgICAgeworICAgICAgVVNCeF9JTkVQKGVwLT5udW0pLT5ESUVQQ1RMIHw9IChVU0JfT1RHX0RJRVBDVExfU05BSyk7CisgICAgICBVU0J4X0lORVAoZXAtPm51bSktPkRJRVBDVEwgfD0gKFVTQl9PVEdfRElFUENUTF9FUERJUyk7CisKKyAgICAgIGRvCisgICAgICB7CisgICAgICAgIGNvdW50Kys7CisKKyAgICAgICAgaWYgKGNvdW50ID4gMTAwMDBVKQorICAgICAgICB7CisgICAgICAgICAgcmV0ID0gSEFMX0VSUk9SOworICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICB9IHdoaWxlICgoKFVTQnhfSU5FUChlcC0+bnVtKS0+RElFUENUTCkgJiBVU0JfT1RHX0RJRVBDVExfRVBFTkEpID09ICBVU0JfT1RHX0RJRVBDVExfRVBFTkEpOworICAgIH0KKyAgfQorICBlbHNlIC8qIE9VVCBlbmRwb2ludCAqLworICB7CisgICAgaWYgKCgoVVNCeF9PVVRFUChlcC0+bnVtKS0+RE9FUENUTCkgJiBVU0JfT1RHX0RPRVBDVExfRVBFTkEpID09IFVTQl9PVEdfRE9FUENUTF9FUEVOQSkKKyAgICB7CisgICAgICBVU0J4X09VVEVQKGVwLT5udW0pLT5ET0VQQ1RMIHw9IChVU0JfT1RHX0RPRVBDVExfU05BSyk7CisgICAgICBVU0J4X09VVEVQKGVwLT5udW0pLT5ET0VQQ1RMIHw9IChVU0JfT1RHX0RPRVBDVExfRVBESVMpOworCisgICAgICBkbworICAgICAgeworICAgICAgICBjb3VudCsrOworCisgICAgICAgIGlmIChjb3VudCA+IDEwMDAwVSkKKyAgICAgICAgeworICAgICAgICAgIHJldCA9IEhBTF9FUlJPUjsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgfSB3aGlsZSAoKChVU0J4X09VVEVQKGVwLT5udW0pLT5ET0VQQ1RMKSAmIFVTQl9PVEdfRE9FUENUTF9FUEVOQSkgPT0gIFVTQl9PVEdfRE9FUENUTF9FUEVOQSk7CisgICAgfQorICB9CisKKyAgcmV0dXJuIHJldDsKK30KKworCiAvKioKICAgKiBAYnJpZWYgIFVTQl9Xcml0ZVBhY2tldCA6IFdyaXRlcyBhIHBhY2tldCBpbnRvIHRoZSBUeCBGSUZPIGFzc29jaWF0ZWQKICAgKiAgICAgICAgIHdpdGggdGhlIEVQL2NoYW5uZWwKQEAgLTEyMDMsNyArMTI2OSw3IEBACiAgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgZnJvbSAwIHRvIDI1NQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgIFVTQl9TZXREZXZBZGRyZXNzKFVTQl9PVEdfR2xvYmFsVHlwZURlZiAqVVNCeCwgdWludDhfdCBhZGRyZXNzKQorSEFMX1N0YXR1c1R5cGVEZWYgVVNCX1NldERldkFkZHJlc3MoVVNCX09UR19HbG9iYWxUeXBlRGVmICpVU0J4LCB1aW50OF90IGFkZHJlc3MpCiB7CiAgIHVpbnQzMl90IFVTQnhfQkFTRSA9ICh1aW50MzJfdClVU0J4OwogCkBAIC0xMjE4LDcgKzEyODQsNyBAQAogICAqIEBwYXJhbSAgVVNCeCAgU2VsZWN0ZWQgZGV2aWNlCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiAgVVNCX0RldkNvbm5lY3QoVVNCX09UR19HbG9iYWxUeXBlRGVmICpVU0J4KQorSEFMX1N0YXR1c1R5cGVEZWYgVVNCX0RldkNvbm5lY3QoVVNCX09UR19HbG9iYWxUeXBlRGVmICpVU0J4KQogewogICB1aW50MzJfdCBVU0J4X0JBU0UgPSAodWludDMyX3QpVVNCeDsKIApAQCAtMTIzNSw3ICsxMzAxLDcgQEAKICAgKiBAcGFyYW0gIFVTQnggIFNlbGVjdGVkIGRldmljZQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgIFVTQl9EZXZEaXNjb25uZWN0KFVTQl9PVEdfR2xvYmFsVHlwZURlZiAqVVNCeCkKK0hBTF9TdGF0dXNUeXBlRGVmIFVTQl9EZXZEaXNjb25uZWN0KFVTQl9PVEdfR2xvYmFsVHlwZURlZiAqVVNCeCkKIHsKICAgdWludDMyX3QgVVNCeF9CQVNFID0gKHVpbnQzMl90KVVTQng7CiAKQEAgLTEyNTAsOSArMTMxNiw5IEBACiAvKioKICAgKiBAYnJpZWYgIFVTQl9SZWFkSW50ZXJydXB0czogcmV0dXJuIHRoZSBnbG9iYWwgVVNCIGludGVycnVwdCBzdGF0dXMKICAgKiBAcGFyYW0gIFVTQnggIFNlbGVjdGVkIGRldmljZQotICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqIEByZXR2YWwgVVNCIEdsb2JhbCBJbnRlcnJ1cHQgc3RhdHVzCiAgICovCi11aW50MzJfdCAgVVNCX1JlYWRJbnRlcnJ1cHRzKFVTQl9PVEdfR2xvYmFsVHlwZURlZiAqVVNCeCkKK3VpbnQzMl90IFVTQl9SZWFkSW50ZXJydXB0cyhVU0JfT1RHX0dsb2JhbFR5cGVEZWYgKlVTQngpCiB7CiAgIHVpbnQzMl90IHRtcHJlZzsKIApAQCAtMTI2Myw5ICsxMzI5LDI2IEBACiB9CiAKIC8qKgorICAqIEBicmllZiAgVVNCX1JlYWRDaEludGVycnVwdHM6IHJldHVybiBVU0IgY2hhbm5lbCBpbnRlcnJ1cHQgc3RhdHVzCisgICogQHBhcmFtICBVU0J4ICBTZWxlY3RlZCBkZXZpY2UKKyAgKiBAcGFyYW0gIGNobnVtIENoYW5uZWwgbnVtYmVyCisgICogQHJldHZhbCBVU0IgQ2hhbm5lbCBJbnRlcnJ1cHQgc3RhdHVzCisgICovCit1aW50MzJfdCBVU0JfUmVhZENoSW50ZXJydXB0cyhVU0JfT1RHX0dsb2JhbFR5cGVEZWYgKlVTQngsIHVpbnQ4X3QgY2hudW0pCit7CisgIHVpbnQzMl90IFVTQnhfQkFTRSA9ICh1aW50MzJfdClVU0J4OworICB1aW50MzJfdCB0bXByZWc7CisKKyAgdG1wcmVnID0gVVNCeF9IQyhjaG51bSktPkhDSU5UOworICB0bXByZWcgJj0gVVNCeF9IQyhjaG51bSktPkhDSU5UTVNLOworCisgIHJldHVybiB0bXByZWc7Cit9CisKKy8qKgogICAqIEBicmllZiAgVVNCX1JlYWREZXZBbGxPdXRFcEludGVycnVwdDogcmV0dXJuIHRoZSBVU0IgZGV2aWNlIE9VVCBlbmRwb2ludHMgaW50ZXJydXB0IHN0YXR1cwogICAqIEBwYXJhbSAgVVNCeCAgU2VsZWN0ZWQgZGV2aWNlCi0gICogQHJldHZhbCBIQUwgc3RhdHVzCisgICogQHJldHZhbCBVU0IgRGV2aWNlIE9VVCBFUCBpbnRlcnJ1cHQgc3RhdHVzCiAgICovCiB1aW50MzJfdCBVU0JfUmVhZERldkFsbE91dEVwSW50ZXJydXB0KFVTQl9PVEdfR2xvYmFsVHlwZURlZiAqVVNCeCkKIHsKQEAgLTEyODEsNyArMTM2NCw3IEBACiAvKioKICAgKiBAYnJpZWYgIFVTQl9SZWFkRGV2QWxsSW5FcEludGVycnVwdDogcmV0dXJuIHRoZSBVU0IgZGV2aWNlIElOIGVuZHBvaW50cyBpbnRlcnJ1cHQgc3RhdHVzCiAgICogQHBhcmFtICBVU0J4ICBTZWxlY3RlZCBkZXZpY2UKLSAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKiBAcmV0dmFsIFVTQiBEZXZpY2UgSU4gRVAgaW50ZXJydXB0IHN0YXR1cwogICAqLwogdWludDMyX3QgVVNCX1JlYWREZXZBbGxJbkVwSW50ZXJydXB0KFVTQl9PVEdfR2xvYmFsVHlwZURlZiAqVVNCeCkKIHsKQEAgLTEzNjMsNyArMTQ0Niw3IEBACiAgICogQHBhcmFtICBVU0J4ICBTZWxlY3RlZCBkZXZpY2UKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmICBVU0JfQWN0aXZhdGVTZXR1cChVU0JfT1RHX0dsb2JhbFR5cGVEZWYgKlVTQngpCitIQUxfU3RhdHVzVHlwZURlZiBVU0JfQWN0aXZhdGVTZXR1cChVU0JfT1RHX0dsb2JhbFR5cGVEZWYgKlVTQngpCiB7CiAgIHVpbnQzMl90IFVTQnhfQkFTRSA9ICh1aW50MzJfdClVU0J4OwogCkBAIC0xNDI1LDcgKzE1MDgsOSBAQAogICAvKiBXYWl0IGZvciBBSEIgbWFzdGVyIElETEUgc3RhdGUuICovCiAgIGRvCiAgIHsKLSAgICBpZiAoKytjb3VudCA+IDIwMDAwMFUpCisgICAgY291bnQrKzsKKworICAgIGlmIChjb3VudCA+IDIwMDAwMFUpCiAgICAgewogICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOwogICAgIH0KQEAgLTE0MzcsNyArMTUyMiw5IEBACiAKICAgZG8KICAgewotICAgIGlmICgrK2NvdW50ID4gMjAwMDAwVSkKKyAgICBjb3VudCsrOworCisgICAgaWYgKGNvdW50ID4gMjAwMDAwVSkKICAgICB7CiAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7CiAgICAgfQpAQCAtMTQ2NCw3ICsxNTUxLDkgQEAKICAgLyogd2FpdCBmb3IgTERPIFJlYWR5ICovCiAgIHdoaWxlICgoVVNCX0hTX1BIWUMtPlVTQl9IU19QSFlDX0xETyAmIFVTQl9IU19QSFlDX0xET19TVEFUVVMpID09IDBVKQogICB7Ci0gICAgaWYgKCsrY291bnQgPiAyMDAwMDBVKQorICAgIGNvdW50Kys7CisKKyAgICBpZiAoY291bnQgPiAyMDAwMDBVKQogICAgIHsKICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgICB9CkBAIC0yMDU0LDcgKzIxNDMsOSBAQAogICAgICAgICBVU0J4X0hDKGhjbnVtKS0+SENDSEFSIHw9IFVTQl9PVEdfSENDSEFSX0NIRU5BOwogICAgICAgICBkbwogICAgICAgICB7Ci0gICAgICAgICAgaWYgKCsrY291bnQgPiAxMDAwVSkKKyAgICAgICAgICBjb3VudCsrOworCisgICAgICAgICAgaWYgKGNvdW50ID4gMTAwMFUpCiAgICAgICAgICAgewogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgfQpAQCAtMjA3Niw3ICsyMTY3LDkgQEAKICAgICAgIFVTQnhfSEMoaGNudW0pLT5IQ0NIQVIgfD0gVVNCX09UR19IQ0NIQVJfQ0hFTkE7CiAgICAgICBkbwogICAgICAgewotICAgICAgICBpZiAoKytjb3VudCA+IDEwMDBVKQorICAgICAgICBjb3VudCsrOworCisgICAgICAgIGlmIChjb3VudCA+IDEwMDBVKQogICAgICAgICB7CiAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KQEAgLTIxNjQsNyArMjI1Nyw5IEBACiAKICAgICBkbwogICAgIHsKLSAgICAgIGlmICgrK2NvdW50ID4gMTAwMFUpCisgICAgICBjb3VudCsrOworCisgICAgICBpZiAoY291bnQgPiAxMDAwVSkKICAgICAgIHsKICAgICAgICAgYnJlYWs7CiAgICAgICB9Cg==