begin-base64 664 ioled.c
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAqIGlvbGVkLmM6
ICBTaW1wbGUgZGV2aWNlIGRyaXZlciB0byBoYW5kbGUgdGhlIGlPcGVuZXIn
cyBmcm9udC1wYW5lbCBMRUQncy4NCiAqDQogKiBBdXRob3I6ICBTdGV2ZW4g
TS4gRG95bGUgPGdyZXBAZG95bGUubmV0Pg0KICogICBEYXRlOiAgNC8xLzIw
MDAgKGJ1dCBub3QgYW4gYXByaWwgZm9vbCdzIGpva2UpDQogKg0KICogQ29w
eXJpZ2h0IChjKTIwMDAgU3RldmVuIE0uIERveWxlLg0KICoNCiAqIFRoYW5r
cyB0byBSb2JlcnQgUm9zZSA8cmFyb3NlQGlvLmNvbT4gZm9yIGRpc2NvdmVy
aW5nIGhvdyB0byBtYWtlIHRoZQ0KICogbGlnaHRzIHdvcmsgaW4gdGhlIGZp
cnN0IHBsYWNlIGFuZCBwb3N0aW5nIGl0IGZvciBhbGwgdG8gcGxheSB3aXRo
Lg0KICoNCiAqIFRoaXMgY29kZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciBH
UEwuICBTZWUgaHR0cDovL3d3dy5nbnUub3JnIGZvciBtb3JlDQogKiBpbmZv
cm1hdGlvbi4NCiAqDQogKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0NCiAqIEluc3RydWN0aW9uczoNCiAqDQogKiBUbyBDb21waWxlOg0KICog
Z2NjIC1PNiAtV2FsbCAtV3N0cmljdC1wcm90b3R5cGVzIC1PMiAtZm9taXQt
ZnJhbWUtcG9pbnRlciAtcGlwZSBcDQogKiAgICAgLWZuby1zdHJlbmd0aC1y
ZWR1Y2UgLURNT0RVTEUgLURfX0tFUk5FTF9fIC1jIGlvbGVkLmMgLW8gaW9s
ZWQubw0KICoNCiAqIFRvIHVzZToNCiAqIC0gaW5zZXJ0IGFzIG5vcm1hbA0K
ICogLSBta25vZCAvZGV2L2lvbGVkIGMgMTAgMjQwDQogKiAtIGVjaG8gY2hh
cmFjdGVycyBhdCB0aGUgZGV2aWNlLiAgVGhlIGZvbGxvd2luZyBjaGFyYWN0
ZXJzIGhhdmUgbWVhbmluZ3M6DQogKiAgICAnMCcgLSBUdXJuIHRoZSBNYWls
IExFRCBvZmYNCiAqICAgICcxJyAtIFR1cm4gdGhlIE1haWwgTEVEIG9uDQog
KiAgICAnMicgLSBUdXJuIHRoZSBUZWxlcGhvbmUgTEVEIG9mZg0KICogICAg
JzMnIC0gVHVybiB0aGUgVGVsZXBob25lIExFRCBvbg0KICoNCiAqIC0gZXhh
bXBsZTogIGVjaG8gMTMgPiAvZGV2L2lvbGVkICMgVHVybiBib3RoIExFRCdz
IG9uDQogKg0KICogVGhpcyBoYXMgbm90IGJlZW4gaGVhdmlseSB0ZXN0ZWQu
ICBVc2UgdGhpcyBtb2R1bGUgYXQgeW91ciBvd24gcmlzay4gIExldA0KICog
bWUga25vdyBpZiB0aGVyZSBhcmUgYW55IHByb2JsZW1zLg0KICoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqLw0KDQojaW5jbHVkZSA8bGludXgv
bW9kdWxlLmg+DQojaW5jbHVkZSA8bGludXgvY29uZmlnLmg+DQojaW5jbHVk
ZSA8bGludXgvaW5pdC5oPg0KI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPg0K
I2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4NCiNpbmNsdWRlIDxsaW51
eC90eXBlcy5oPg0KI2luY2x1ZGUgPGxpbnV4L2ZzLmg+DQojaW5jbHVkZSA8
YXNtL2lvLmg+DQoNCiNkZWZpbmUgSU9MRURfTUlOT1IgMjQwDQoNCk1PRFVM
RV9ERVNDUklQVElPTigiRHJpdmVyIGZvciBJT3BlbmVyIGN1c3RvbSBMRUQg
Y29udHJvbCIpOw0KTU9EVUxFX0FVVEhPUigiU3RldmVuIERveWxlIDxncmVw
QGRveWxlLm5ldD4iKTsNCg0Kc3RhdGljIGludCBpb2xlZF9vcGVuKHN0cnVj
dCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKSB7DQogIE1PRF9J
TkNfVVNFX0NPVU5UOw0KICByZXR1cm4gMDsNCn0NCg0Kc3RhdGljIGludCBp
b2xlZF9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxl
ICpmaWxlKSB7DQogIE1PRF9ERUNfVVNFX0NPVU5UOw0KICByZXR1cm4gMDsN
Cn0NCg0Kc3RhdGljIGludCBpb2xlZF93cml0ZShzdHJ1Y3QgZmlsZSAqZmls
ZSwgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgY291bnQsDQoJCSAgICAgICBs
b2ZmX3QgKnBwb3MpIHsNCiAgY2hhciBhOw0KICBpbnQgaTsNCg0KICBmb3Ig
KGkgPSAwOyBpIDwgY291bnQ7IGkrKykgew0KICAgIGEgPSBpbmIoMHg0MDRD
KTsNCiAgICBzd2l0Y2goYnVmW2ldKSB7DQogICAgY2FzZSAnMSc6IGEgJj0g
fjE7IGJyZWFrOw0KICAgIGNhc2UgJzAnOiBhIHw9IDE7ICBicmVhazsNCiAg
ICBjYXNlICczJzogYSAmPSB+MjsgYnJlYWs7DQogICAgY2FzZSAnMic6IGEg
fD0gMjsgIGJyZWFrOw0KICAgIH0NCiAgICBvdXRiKGEsIDB4NDA0Qyk7DQog
IH0NCiAgICAgIA0KICByZXR1cm4gY291bnQ7DQp9DQoNCnN0cnVjdCBmaWxl
X29wZXJhdGlvbnMgaW9sZWRfZm9wcyA9IHsNCiAgb3BlbjogICAgIGlvbGVk
X29wZW4sDQogIHJlbGVhc2U6ICBpb2xlZF9yZWxlYXNlLA0KICB3cml0ZTog
ICAgaW9sZWRfd3JpdGUNCn07DQoNCnN0YXRpYyBzdHJ1Y3QgbWlzY2Rldmlj
ZSBpb2xlZF9kZXYgPSB7DQogIElPTEVEX01JTk9SLA0KICAiaW9sZWQiLA0K
ICAmaW9sZWRfZm9wcw0KfTsNCg0Kc3RhdGljIGludCBfX2luaXQgaW9sZWRf
aW5pdCh2b2lkKSB7DQogIG1pc2NfcmVnaXN0ZXIoJmlvbGVkX2Rldik7DQog
IHByaW50ayhLRVJOX0lORk8gIk5ldHBsaWFuY2UgaU9wZW5lciBMRUQgRHJp
dmVyIChncmVwQGRveWxlLm5ldClcbiIpOw0KICByZXR1cm4gMDsNCn0NCg0K
c3RhdGljIHZvaWQgX19leGl0IGlvbGVkX2NsZWFudXAodm9pZCkgew0KICBt
aXNjX2RlcmVnaXN0ZXIoJmlvbGVkX2Rldik7DQp9DQoNCm1vZHVsZV9pbml0
KGlvbGVkX2luaXQpOw0KbW9kdWxlX2V4aXQoaW9sZWRfY2xlYW51cCk7DQo=
====
