LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiAgsOaxvsv509AgKEMpMjAwONbQ0MvNqNG2ucm33dPQz965q8u+CiAqCiAqICC5psTcICAgICAgICAgOiAgtqjS5c2o08O1xLaoyrHG97/iCiAqICDX99XfCQkgOiAg1qPT8ebDCiAqICCw5rG+CQkgOiAgVjEuMAogKiAgzeqzycjVxtogICAgIDogIDIwMDguMDUuMDUKICogIMbky/zLtcP3ICAgICA6IAogKiAgss7K/SAgICAgICAgIDoKICogIMrkyOsgICAgICAgICA6CiAqICDK5LP2ICAgICAgICAgOgogKiAguPy4xLzHwrwgICAgIDoKICogIMqxvOQgICAgICAgICAgINf31d8gICAgICAgICAgICAgIMTayN0KICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogKiAwOC8wNS8wNSAgICAgICAg1qPT8ebDICAgICAgICAgICAgtLS9qCAgICAgICAgIAogKgogKgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCiNpZm5kZWYgX1NPRlRfVElNRVJfSF8KI2RlZmluZSBfU09GVF9USU1FUl9IXwoKI2lmZGVmIF9fY3BsdXNwbHVzCmV4dGVybiAiQyIgewojZW5kaWYKCiNpbmNsdWRlICJtZXNzYWdlLmgiCi8vI2luY2x1ZGUgImVycm9yY29kZS5oIgovLyNpbmNsdWRlICJ6dGVfbG9nLmgiCgovKrao0uXTsrz+tqjKscb3tcSyvbOko6wxMG1zKi8KI2RlZmluZSBUSU1FUl9TVEVQIDEwCgovKrao0uXI7bz+tqjKscb3tcTX7rTzuPbK/SovCiNkZWZpbmUgTUFYX1NPRlRfVElNRVJfTlVNIDMyCgovKraoyrHG98Dg0M2x6ta+zrt1Y0ZsYWe1xLrqKi8KI2RlZmluZSBUSU1FUl9GTEFHX09OQ0UgIDAgLyq0y7aoyrHG99a7tKW3otK7tM4qLwojZGVmaW5lIFRJTUVSX0ZMQUdfUkVTVEFSVCAxIC8qtMu2qMqxxvez1tD409DQpyovCgoKLyppZiB0aGUgdGhyZWFkIG9mIHNvZnQgdGltZXIgaXMgZXhpc3QsIDAgbWVhbnMgbm90IGV4aXN0Ki8KI2RlZmluZSAgIFNPRlRfVElNRVJfVEhSRUFEX05VTEwgIDAKI2RlZmluZSAgIFNPRlRfVElNRVJfVEhSRUFEX0VYSVNUICAxCgovKrao0uXI7bz+tqjKscb3tcTK/b7dveG5uSovCnR5cGVkZWYgc3RydWN0IHRhZ1NPRlRfVElNRVIKewogICAgc3RydWN0IHRhZ1NPRlRfVElNRVIgKnByZXY7CiAgICBzdHJ1Y3QgdGFnU09GVF9USU1FUiAqbmV4dDsKICAgIGludCB1c2VkOwogICAgaW50IGRvbmU7CiAgICBpbnQgdGltZXJWYWx1ZTsKCiAgICBVU0hPUlQgdXNUaW1lcklEOyAgICAgIC8qtqjKscb3SUQs08PAtMf4t9ayu82stcTI7bz+tqjKscb3LCAwserKtiovCiAgICBVQ0hBUiAgdWNGbGFnOyAgICAgICAgIC8qtqjKscb3wODQzbHq1r7OuyovCiAgICBVQ0hBUiAgdWNSZXNlcnZlZDsgICAgIC8qsaPB9NfWts4qLwogICAgVUxPTkcgIHVsQ3VySW50ZXJ2YWw7ICAgLyq1scewtqjKscb3s6zKscqj0+DKsbzko6y1pc67ILrBw+so16LS4rK7ysfOosPrKaOssdjQ67ao0uXOqtOyvP62qMqxxveyvbOktcSxtsr9Ki8KICAgIFVMT05HICB1bE5leHRJbnRlcnZhbDsgIC8qs6zKsbrztqjKscb31tjWw7XEvOS49KOstaXOuyC6wcPrKNei0uKyu8rHzqLD6ykqLwogICAgdm9pZCAqICgqcHJvY0NhbGxCYWNrKSh2b2lkICopOyAvKrao0uW2qMqxxvezrMqxuvO1xLvYtfe0psDtuq/K/da41esqLwogICAgdm9pZCAgICphcmdzOyAgICAgICAgICAgICAgICAvKrao0uW2qMqxxvezrMqxuvO1xLvYtfe0psDtuq/K/bXEss7K/SovCn1TT0ZUX1RJTUVSOwoKCi8qzeKyv73Tv9q6r8r9yfnD9yovCkxPTkcgQ3JlYXRlU29mdFRpbWVyKFVTSE9SVCB1c1RpbWVySUQsIAoJCQkJCQkJIFVDSEFSIHVjRmxhZywgCgkJCQkJCQkgVUxPTkcgdWxJbnRlcnZhbCwgCgkJCQkJCQkgdm9pZCAqICgqcHJvY0NhbGxCYWNrKSh2b2lkICopLAoJCQkJCQkJIHZvaWQgKmFyZ3MpOwoKTE9ORyBEZWxldGVTb2Z0VGltZXIoVVNIT1JUIHVzVGltZXJJRCk7CgojaWZkZWYgX19jcGx1c3BsdXMKfQojZW5kaWYKCiNlbmRpZgoKCg==