f0VMRgEBAQAAAAAAAAAAAAEACAABAAAAAAAAAAAAAADECwAABxAAUDQAAAAAACgABQACAHYxOwpwYWNrYWdlIGJpbmFyeTsKcGtncGF0aCBlbmNvZGluZy9iaW5hcnk7CnByaW9yaXR5IDQ7CmltcG9ydCBlcnJvcnMgZXJyb3JzICJlcnJvcnMiOwppbXBvcnQgaW8gaW8gImlvIjsKaW1wb3J0IG1hdGggbWF0aCAibWF0aCI7CmltcG9ydCByZWZsZWN0IHJlZmxlY3QgInJlZmxlY3QiOwppbml0IGJpbmFyeSBlbmNvZGluZ19iaW5hcnkuLmltcG9ydCA0IG1hdGggbWF0aC4uaW1wb3J0IDEgcnVudGltZSBydW50aW1lLi5pbXBvcnQgMSBzdHJjb252IHN0cmNvbnYuLmltcG9ydCAyIHN5bmMgc3luYy4uaW1wb3J0IDIgaW8gaW8uLmltcG9ydCAzIHJlZmxlY3QgcmVmbGVjdC4uaW1wb3J0IDM7CnZhciBCaWdFbmRpYW4gPHR5cGUgMSAiLmVuY29kaW5nL2JpbmFyeS5iaWdFbmRpYW4iIDx0eXBlIDIgc3RydWN0IHsgfT4KIGZ1bmMgKD8gPHR5cGUgMT4pIFVpbnQxNiAoYiA8dHlwZSAzIFtdIDx0eXBlIC0yMD4+KSA8dHlwZSAtNj47CiBmdW5jICg/IDx0eXBlIDE+KSBQdXRVaW50MTYgKGIgPHR5cGUgNCBbXSA8dHlwZSAtMjA+PiwgdiA8dHlwZSAtNj4pOwogZnVuYyAoPyA8dHlwZSAxPikgVWludDMyIChiIDx0eXBlIDUgW10gPHR5cGUgLTIwPj4pIDx0eXBlIC03PjsKIGZ1bmMgKD8gPHR5cGUgMT4pIFB1dFVpbnQzMiAoYiA8dHlwZSA2IFtdIDx0eXBlIC0yMD4+LCB2IDx0eXBlIC03Pik7CiBmdW5jICg/IDx0eXBlIDE+KSBVaW50NjQgKGIgPHR5cGUgNyBbXSA8dHlwZSAtMjA+PikgPHR5cGUgLTg+OwogZnVuYyAoPyA8dHlwZSAxPikgUHV0VWludDY0IChiIDx0eXBlIDggW10gPHR5cGUgLTIwPj4sIHYgPHR5cGUgLTg+KTsKIGZ1bmMgKD8gPHR5cGUgMT4pIFN0cmluZyAoKSA8dHlwZSAtMTY+OwogZnVuYyAoPyA8dHlwZSAxPikgR29TdHJpbmcgKCkgPHR5cGUgLTE2PjsKPjsKdHlwZSA8dHlwZSA5ICJCeXRlT3JkZXIiIDx0eXBlIDEwIGludGVyZmFjZSB7IFVpbnQxNiAoPyA8dHlwZSAxMSBbXSA8dHlwZSAtMjA+PikgPHR5cGUgLTY+OyBVaW50MzIgKD8gPHR5cGUgMTIgW10gPHR5cGUgLTIwPj4pIDx0eXBlIC03PjsgVWludDY0ICg/IDx0eXBlIDEzIFtdIDx0eXBlIC0yMD4+KSA8dHlwZSAtOD47IFB1dFVpbnQxNiAoPyA8dHlwZSAxNCBbXSA8dHlwZSAtMjA+PiwgPyA8dHlwZSAtNj4pOyBQdXRVaW50MzIgKD8gPHR5cGUgMTUgW10gPHR5cGUgLTIwPj4sID8gPHR5cGUgLTc+KTsgUHV0VWludDY0ICg/IDx0eXBlIDE2IFtdIDx0eXBlIC0yMD4+LCA/IDx0eXBlIC04Pik7IFN0cmluZyAoKSA8dHlwZSAtMTY+OyB9Pj47CnZhciBMaXR0bGVFbmRpYW4gPHR5cGUgMTcgIi5lbmNvZGluZy9iaW5hcnkubGl0dGxlRW5kaWFuIiA8dHlwZSAxOCBzdHJ1Y3QgeyB9PgogZnVuYyAoPyA8dHlwZSAxNz4pIFVpbnQxNiAoYiA8dHlwZSAxOSBbXSA8dHlwZSAtMjA+PikgPHR5cGUgLTY+OwogZnVuYyAoPyA8dHlwZSAxNz4pIFB1dFVpbnQxNiAoYiA8dHlwZSAyMCBbXSA8dHlwZSAtMjA+PiwgdiA8dHlwZSAtNj4pOwogZnVuYyAoPyA8dHlwZSAxNz4pIFVpbnQzMiAoYiA8dHlwZSAyMSBbXSA8dHlwZSAtMjA+PikgPHR5cGUgLTc+OwogZnVuYyAoPyA8dHlwZSAxNz4pIFB1dFVpbnQzMiAoYiA8dHlwZSAyMiBbXSA8dHlwZSAtMjA+PiwgdiA8dHlwZSAtNz4pOwogZnVuYyAoPyA8dHlwZSAxNz4pIFVpbnQ2NCAoYiA8dHlwZSAyMyBbXSA8dHlwZSAtMjA+PikgPHR5cGUgLTg+OwogZnVuYyAoPyA8dHlwZSAxNz4pIFB1dFVpbnQ2NCAoYiA8dHlwZSAyNCBbXSA8dHlwZSAtMjA+PiwgdiA8dHlwZSAtOD4pOwogZnVuYyAoPyA8dHlwZSAxNz4pIFN0cmluZyAoKSA8dHlwZSAtMTY+OwogZnVuYyAoPyA8dHlwZSAxNz4pIEdvU3RyaW5nICgpIDx0eXBlIC0xNj47Cj47CmNvbnN0IE1heFZhcmludExlbjE2ID0gMyA7CmNvbnN0IE1heFZhcmludExlbjMyID0gNSA7CmNvbnN0IE1heFZhcmludExlbjY0ID0gMTAgOwpmdW5jIFB1dFV2YXJpbnQgKGJ1ZiA8dHlwZSAyNSBbXSA8dHlwZSAtMjA+PiwgeCA8dHlwZSAtOD4pIDx0eXBlIC0xMT47CmZ1bmMgUHV0VmFyaW50IChidWYgPHR5cGUgMjYgW10gPHR5cGUgLTIwPj4sIHggPHR5cGUgLTQ+KSA8dHlwZSAtMTE+OwpmdW5jIFJlYWQgKHIgPHR5cGUgMjcgImlvLlJlYWRlciIgPHR5cGUgMjggaW50ZXJmYWNlIHsgUmVhZCAocCA8dHlwZSAyOSBbXSA8dHlwZSAtMjA+PikgKG4gPHR5cGUgLTExPiwgZXJyIDx0eXBlIC0xOT4pOyB9Pj4sIG9yZGVyIDx0eXBlIDk+LCBkYXRhIDx0eXBlIDMwIGludGVyZmFjZSB7IH0+KSA8dHlwZSAtMTk+OwpmdW5jIFJlYWRVdmFyaW50IChyIDx0eXBlIDMxICJpby5CeXRlUmVhZGVyIiA8dHlwZSAzMiBpbnRlcmZhY2UgeyBSZWFkQnl0ZSAoKSAoYyA8dHlwZSAtMjA+LCBlcnIgPHR5cGUgLTE5Pik7IH0+PikgKD8gPHR5cGUgLTg+LCA/IDx0eXBlIC0xOT4pOwpmdW5jIFJlYWRWYXJpbnQgKHIgPHR5cGUgMzE+KSAoPyA8dHlwZSAtND4sID8gPHR5cGUgLTE5Pik7CmZ1bmMgU2l6ZSAodiA8dHlwZSAzMyBpbnRlcmZhY2UgeyB9PikgPHR5cGUgLTExPjsKZnVuYyBVdmFyaW50IChidWYgPHR5cGUgMzQgW10gPHR5cGUgLTIwPj4pICg/IDx0eXBlIC04PiwgPyA8dHlwZSAtMTE+KTsKZnVuYyBWYXJpbnQgKGJ1ZiA8dHlwZSAzNSBbXSA8dHlwZSAtMjA+PikgKD8gPHR5cGUgLTQ+LCA/IDx0eXBlIC0xMT4pOwpmdW5jIFdyaXRlICh3IDx0eXBlIDM2ICJpby5Xcml0ZXIiIDx0eXBlIDM3IGludGVyZmFjZSB7IFdyaXRlIChwIDx0eXBlIDM4IFtdIDx0eXBlIC0yMD4+KSAobiA8dHlwZSAtMTE+LCBlcnIgPHR5cGUgLTE5Pik7IH0+Piwgb3JkZXIgPHR5cGUgOT4sIGRhdGEgPHR5cGUgMzkgaW50ZXJmYWNlIHsgfT4pIDx0eXBlIC0xOT47CmNoZWNrc3VtIEZDREFCQkY3MTI1MTE2RDUxQ0I5MjVCNDU3OTEyMTc3NTM3M0RFNTU7CgAuc3ltdGFiAC5zdHJ0YWIALnNoc3RydGFiAC5nb19leHBvcnQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAAAABAAAAAAAAAAAAAAA0AAAARgsAAAAAAAAAAAAAAQAAAAAAAAARAAAAAwAAAAAAAAAAAAAAegsAACYAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAIAAAAAAAAAAAAAAKALAAAgAAAABAAAAAIAAAAEAAAAEAAAAAkAAAADAAAAAAAAAAAAAADACwAAAQAAAAAAAAAAAAAAAQAAAAAAAAA=