From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 4C5A242BFD for ; Fri, 30 Sep 2022 10:22:57 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 498A868BB76; Fri, 30 Sep 2022 13:22:55 +0300 (EEST) Received: from out203-205-221-245.mail.qq.com (out203-205-221-245.mail.qq.com [203.205.221.245]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1C7D268BA2F for ; Fri, 30 Sep 2022 13:22:47 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1664533364; bh=NmJJH+Xn3wqPDOd4MY2qPiap9byOTfTUMxQIGvC6bHM=; h=From:Subject:Date:References:To:In-Reply-To; b=PL2s2wHf91iNeD9qpQWN9oV4L2WQFEJGk2BWTcL7xNjmiG2gnYgMwlQ35GNZMP0f0 b5gqYMhtolhPHoF1I6Yo96nyeMdwlOAQRUkXQxVmJlvTEK/cK1WmYaIg4ZwE1ULTYl +w9C3UtvRajLiQn6oJFBw2liHX82LhesdJEjrgmk= Received: from smtpclient.apple ([119.147.10.185]) by newxmesmtplogicsvrsza32.qq.com (NewEsmtp) with SMTP id 5AB9FC88; Fri, 30 Sep 2022 18:22:43 +0800 X-QQ-mid: xmsmtpt1664533363t1183bfm8 Message-ID: X-QQ-XMAILINFO: Mg/0DM1Zd+nHItQktWwJQNIAgfLlTreTUv332BYmAM6XyHS3v+x3QKg1cIvabR aYleDrHUEq5eWeftSri0EVxttdvCue2Kp19MOLUCD609UMI5YLV5kIyNYbRvt4tEqTMFKUWSg9aL U6kh2zE1yIhiC0ctxMJNAhIwYGt09rS8fPCy/l274m3feKyJm/ylYx86hMmU9oUSyi/4Y2/7RncA UyGsLgRsC9BZ8c2PhA42CphEyukBBPz5LTus7VxTaKWBiDkNpdd1zt9AAYErpS3mG18g11E7oUKT sVteJwhRs684Lo7oku/D96EXWe77ZetDalVmQ/Sw+Vmqn2cR8SQqN4i41kDNny0SDGWufLldEiE1 h3hbpLOVx5RFJ5a1AphZ8uJGVLqXpCS4G8qjNQ1y1VOVEZcCht75nd5bZXoEATwLLqkzKiVe7wh8 3MVmwv3XkqqS1FlELOVljRwuXTvkCmP262auspFR9GNy7jAwNJii61KEVh6vu+DjZhfrbs57XThc wGXccOqaMhItsEYQOjbRERx8M+mVR1b6GwfYFqpRDG6BRo2k8kmlYpzwdgwFdC48VmEnjDxQkl+1 krFaImmqNSM2ZYgsnJrkyPFpyOGq34MdSBca8Ek6YY9Zuwd1l9t3TATBDnuTBLEjAp8aOpBigkmQ kSV3kcNaBwSCkXJsGzuQCBGE0fmDDtTP0Gk4q92NfguUOY2+Dy6q+/oRWRB90vg/Xh58kHV16ZH3 1LcgkY4yOzviP+J7jaNDhiceVK+g+cTqyXy3w8VrlA3trhjjA9JbYByVbh3cgkdWCEgPlTcNJl7m pOl+OyisIwHP7mVS7I8lD7UxdniSn8Z0hSjnVZGFuvAfXSZ5y7yrc/mAuYLj4l8VJw9DfeB02Khu KdJpLCeIDIUqqNYGeWQDunkVZAug5tAhxkRqJ1kr8gX292T8IAYaGN4Ovin5qV655MS/+cBvA3lE 3DW0+FRC87gJqu2+nYCoeTs7GAIaVckXlh5GQ3QF0vyj/KtSSkeFhni0niMBSSdnPkWNS7icc= From: =?utf-8?B?InpoaWxpemhhbyjotbXlv5fnq4spIg==?= Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Date: Fri, 30 Sep 2022 18:22:45 +0800 References: To: FFmpeg development discussions and patches In-Reply-To: X-OQ-MSGID: <4D28B1A5-AEE3-47EA-9E82-06A992B96D96@foxmail.com> X-Mailer: Apple Mail (2.3696.120.41.1.1) Subject: Re: [FFmpeg-devel] [PATCH] avformat/mov: parse the last moof box when mp4 segment format X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Cgo+IE9uIFNlcCAzMCwgMjAyMiwgYXQgMTc6NTAsIHdhbmd5YXFpYW5nIDwxMDM1NTY3MTMwQHFx LmNvbT4gd3JvdGU6Cj4gCj4gCj4gCj4+IDIwMjLlubQ55pyIMjnml6UgMTY6MjnvvIx6aGlsaXpo YW8o6LW15b+X56uLKSA8cXVpbmtibGFja0Bmb3htYWlsLmNvbSA8bWFpbHRvOnF1aW5rYmxhY2tA Zm94bWFpbC5jb20+PiDlhpnpgZPvvJoKPj4gCj4+IAo+PiAKPj4+IE9uIFNlcCAxLCAyMDIyLCBh dCAxODoyMiwgMTAzNTU2NzEzMEBxcS5jb20gPG1haWx0bzoxMDM1NTY3MTMwQHFxLmNvbT4gd3Jv dGU6Cj4+PiAKPj4+IEZyb206IFdhbmcgWWFxaWFuZyA8d2FuZ3lhcWlhbmcwM0BrdWFpc2hvdS5j b20gPG1haWx0bzp3YW5neWFxaWFuZzAzQGt1YWlzaG91LmNvbT4+Cj4+PiAKPj4+IEluIHRoZSBm b3JtYXQgb2YgbXA0IHNlZ21lbnQsIHRoZSBiaXRyYXRlIGNhbGN1bGF0aW9uIG9mCj4+PiBzdHJl YW0gZGVwZW5kcyBvbiB0aGUgc2FtcGxlX3NpemUgaW4gbW9vZi0+dHJhZi0+dHJ1biBib3guCj4+ PiBJbiB0aGUgb3JpZ2luYWwgbG9naWMsIHdoZW4gdGhlIGxhc3Qgc2lkeCBib3ggaXMgcmVhZCwK Pj4+IGl0IGlzIG5vdCBwYXJzZWQgYmFja3dhcmRzLCBhbmQgdGhlIHRvdGFsIHNhbXBsZV9zaXpl IGNhbGN1bGF0aW9uIGlzIHNtYWxsZXIuCj4+PiBBcyBhIHJlc3VsdCwgdGhlIGJpdHJhdGUgZGlz cGxheWVkIGJ5IGZmcHJvYmUgaXMgYWxzbyBzbWFsbGVyIHRoYW4gdGhlIGFjdHVhbC4KPj4+IElu Y3JlYXNpbmcgdGhlIG1vb2ZfY291bnQgdmFyaWFibGUgZW5zdXJlcyB0aGF0IHRoZSBsYXN0IG1v b2YgaXMgcGFyc2VkLgo+Pj4gCj4+PiBUZXN0IG1ldGhvZDogWW91IGNhbiB1c2UgLWMgY29weSBy ZW11eCBhIGZtcDQgZmlsZSBhcyBtcDQKPj4+IGFuZCBmZnByb2JlIHRoZSB0d28gZmlsZXMgd2ls bCBmaW5kIHRoYXQgdGhlIGJpdHJhdGUgaXMgaW5jb25zaXN0ZW50Cj4+PiBCZWZvciBwYXRjaDoK Pj4+IFN0cmVhbSAjMDoxWzB4Ml0odW5kKTogQXVkaW86IGFhYyAoSEUtQUFDKSAobXA0YSAvIDB4 NjEzNDcwNkQpLCA0NDEwMCBIeiwgc3RlcmVvLCBmbHRwLCA1OSBrYi9zCj4+PiBBZnRlciBwYXRj aDoKPj4+IFN0cmVhbSAjMDoxWzB4Ml0odW5kKTogQXVkaW86IGFhYyAoSEUtQUFDKSAobXA0YSAv IDB4NjEzNDcwNkQpLCA0NDEwMCBIeiwgc3RlcmVvLCBmbHRwLCA5NiBrYi9zIChkZWZhdWx0KQo+ Pj4gCj4+PiBTaWduZWQtb2ZmLWJ5OiBXYW5nIFlhcWlhbmcgPHdhbmd5YXFpYW5nMDNAa3VhaXNo b3UuY29tIDxtYWlsdG86d2FuZ3lhcWlhbmcwM0BrdWFpc2hvdS5jb20+Pgo+Pj4gLS0tCj4+PiBs aWJhdmZvcm1hdC9pc29tLmggfCAxICsKPj4+IGxpYmF2Zm9ybWF0L21vdi5jICB8IDggKysrKysr Ky0KPj4+IDIgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4+ PiAKPj4+IGRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9pc29tLmggYi9saWJhdmZvcm1hdC9pc29t LmgKPj4+IGluZGV4IGYwNWMyZDljMjguLjE4M2EzYzQ4NmIgMTAwNjQ0Cj4+PiAtLS0gYS9saWJh dmZvcm1hdC9pc29tLmgKPj4+ICsrKyBiL2xpYmF2Zm9ybWF0L2lzb20uaAo+Pj4gQEAgLTI5Niw2 ICsyOTYsNyBAQCB0eXBlZGVmIHN0cnVjdCBNT1ZDb250ZXh0IHsKPj4+ICAgaW50IGhhc19sb29r ZWRfZm9yX21mcmE7Cj4+PiAgIGludCB1c2VfdGZkdDsKPj4+ICAgTU9WRnJhZ21lbnRJbmRleCBm cmFnX2luZGV4Owo+Pj4gKyAgICBpbnQgbW9vZl9jb3VudDsgLy9lbnN1cmUgbGFzdCBmcmFnbWVu dCBwYXJzZSBtb29mIGJveAo+Pj4gICBpbnQgYXRvbV9kZXB0aDsKPj4+ICAgdW5zaWduZWQgaW50 IGFheF9tb2RlOyAgLy8vPCAnYWF4JyBmaWxlIGhhcyBiZWVuIGRldGVjdGVkCj4+PiAgIHVpbnQ4 X3QgZmlsZV9rZXlbMjBdOwo+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L21vdi5jIGIvbGli YXZmb3JtYXQvbW92LmMKPj4+IGluZGV4IDE0NTUwZTY0NTYuLjM5NjY1OGUzNDIgMTAwNjQ0Cj4+ PiAtLS0gYS9saWJhdmZvcm1hdC9tb3YuYwo+Pj4gKysrIGIvbGliYXZmb3JtYXQvbW92LmMKPj4+ IEBAIC03Nzg0LDEyICs3Nzg0LDE1IEBAIHN0YXRpYyBpbnQgbW92X3JlYWRfZGVmYXVsdChNT1ZD b250ZXh0ICpjLCBBVklPQ29udGV4dCAqcGIsIE1PVkF0b20gYXRvbSkKPj4+ICAgICAgICAgICBp bnQ2NF90IHN0YXJ0X3BvcyA9IGF2aW9fdGVsbChwYik7Cj4+PiAgICAgICAgICAgaW50NjRfdCBs ZWZ0Owo+Pj4gICAgICAgICAgIGludCBlcnIgPSBwYXJzZShjLCBwYiwgYSk7Cj4+PiArICAgICAg ICAgICAgaWYgKGEudHlwZSA9PSBNS1RBRygnbScsJ28nLCdvJywnZicpKSB7Cj4+PiArICAgICAg ICAgICAgICAgIGMtPm1vb2ZfY291bnQgKys7Cj4+PiArICAgICAgICAgICAgfQo+Pj4gICAgICAg ICAgIGlmIChlcnIgPCAwKSB7Cj4+PiAgICAgICAgICAgICAgIGMtPmF0b21fZGVwdGggLS07Cj4+ PiAgICAgICAgICAgICAgIHJldHVybiBlcnI7Cj4+PiAgICAgICAgICAgfQo+Pj4gICAgICAgICAg IGlmIChjLT5mb3VuZF9tb292ICYmIGMtPmZvdW5kX21kYXQgJiYgYS5zaXplIDw9IElOVDY0X01B WCAtIHN0YXJ0X3BvcyAmJgo+Pj4gLSAgICAgICAgICAgICAgICAoKCEocGItPnNlZWthYmxlICYg QVZJT19TRUVLQUJMRV9OT1JNQUwpIHx8IGMtPmZjLT5mbGFncyAmIEFWRk1UX0ZMQUdfSUdOSURY IHx8IGMtPmZyYWdfaW5kZXguY29tcGxldGUpIHx8Cj4+PiArICAgICAgICAgICAgICAgICgoIShw Yi0+c2Vla2FibGUgJiBBVklPX1NFRUtBQkxFX05PUk1BTCkgfHwgYy0+ZmMtPmZsYWdzICYgQVZG TVRfRkxBR19JR05JRFggfHwgKGMtPmZyYWdfaW5kZXguY29tcGxldGUgJiYgYy0+bW9vZl9jb3Vu dCA+PSBjLT5mcmFnX2luZGV4Lm5iX2l0ZW1zKSkgfHwKPj4+ICAgICAgICAgICAgICAgIHN0YXJ0 X3BvcyArIGEuc2l6ZSA9PSBhdmlvX3NpemUocGIpKSkgewo+Pj4gICAgICAgICAgICAgICBpZiAo IShwYi0+c2Vla2FibGUgJiBBVklPX1NFRUtBQkxFX05PUk1BTCkgfHwgYy0+ZmMtPmZsYWdzICYg QVZGTVRfRkxBR19JR05JRFggfHwgYy0+ZnJhZ19pbmRleC5jb21wbGV0ZSkKPj4+ICAgICAgICAg ICAgICAgICAgIGMtPm5leHRfcm9vdF9hdG9tID0gc3RhcnRfcG9zICsgYS5zaXplOwo+PiAKPj4g Tm8sIGl0IGJyZWFrcyB0aGUgdXNlIGNhc2Ugd2l0aCBnbG9iYWwgc2lkeC4gV2UgY2FuIGFjaGll dmUgZmFzdAo+PiBzdGFydHVwIHdpdGggZ2xvYmFsIHNpZHguCj4gCj4gVGhpcyBwYXRjaCBpbmRl ZWQgaGF2ZSBhbiBlZmZlY3Qgb24gc3RhcnR1cCwgd2lsbCBhZGQgc29tZSBvcHRpb24uCj4gCj4+ IAo+PiBUaGUgcGF0Y2ggZGVzY3JpYmVzIGFuIGlzc3VlIHdpdGggbXVsdGlwbGUgc2lkeCBjYXNl cywgYWN0dWFsbHkKPj4gaXTigJlzIG1vcmUgc2VyaW91cyB3aXRoIGdsb2JhbCBzaWR4LiBJbiB0 aGUgZmlyc3QgY2FzZSwgdGhlIGJpdHJhdGUKPj4gaXMgYSBsaXR0bGUgaW5hY2N1cmF0ZS4gQml0 cmF0ZSBpcyBuZWFyIHplcm8gZm9yIHRoZSBzZWNvbmQgY2FzZS4KPj4gCj4+IEkgaGF2ZSB0d28g aWRlYXM6Cj4+IAo+PiAxLiBKdXN0IHNraXAgYml0cmF0ZSBjYWxjdWxhdGlvbiBmcm9tIHNjLT5k YXRhX3NpemUgaWYgc2lkeCBleGlzdCwKPj4gZS5nLiwKPj4gCj4+IEBAIC04NTAwLDcgKzg1MDAs NyBAQCBzdGF0aWMgaW50IG1vdl9yZWFkX2hlYWRlcihBVkZvcm1hdENvbnRleHQgKnMpCj4+ICAg ICAgICBmb3IgKGkgPSAwOyBpIDwgcy0+bmJfc3RyZWFtczsgaSsrKSB7Cj4+ICAgICAgICAgICAg QVZTdHJlYW0gKnN0ID0gcy0+c3RyZWFtc1tpXTsKPj4gICAgICAgICAgICBNT1ZTdHJlYW1Db250 ZXh0ICpzYyA9IHN0LT5wcml2X2RhdGE7Cj4+IC0gICAgICAgICAgICBpZiAoc3QtPmR1cmF0aW9u ID4gMCkgewo+PiArICAgICAgICAgICAgaWYgKHN0LT5kdXJhdGlvbiA+IDAgJiYgIXNjLT5oYXNf c2lkeCkgewo+PiAgICAgICAgICAgICAgICAvKiBBa2luIHRvIHNjLT5kYXRhX3NpemUgKiA4ICog c2MtPnRpbWVfc2NhbGUgLyBzdC0+ZHVyYXRpb24gYnV0IGFjY291bnRpbmcgZm9yIG92ZXJmbG93 cy4gKi8KPj4gICAgICAgICAgICAgICAgc3QtPmNvZGVjcGFyLT5iaXRfcmF0ZSA9IGF2X3Jlc2Nh bGUoc2MtPmRhdGFfc2l6ZSwgKChpbnQ2NF90KSBzYy0+dGltZV9zY2FsZSkgKiA4LCBzdC0+ZHVy YXRpb24pOwo+PiAgICAgICAgICAgICAgICBpZiAoc3QtPmNvZGVjcGFyLT5iaXRfcmF0ZSA9PSBJ TlQ2NF9NSU4pIHsKPj4gCj4+IEl04oCZcyBzaW1wbGUsIGFuZCBiaXRyYXRlIGluZm9ybWF0aW9u IGhhcyBtdWx0aXBsZSBzb3VyY2VzLiAKPj4gCj4gCj4gSW4gdGhpcyB3YXksIHdpbGwgYmUgbm8g Yml0cmF0ZSBpbmZvIGluIHRoZSBzdHJlYW0sIHdpbGwgYWZmZWN0IHRoZSB1c2Vyc++8nwoKSXQg ZGVwZW5kcy4gV2UgaGF2ZSBtdWx0aXBsZSBzb3VyY2VzIHRvIGdldCBiaXRyYXRlLgoKPiAKPj4g Mi4gQWRkIGEgb3B0aW9uIHRvIHByZXZlbnQgbWFyayBjb21wbGV0ZSB3aGVuIHJlYWRpbmcgc2lk eAo+PiAKPj4gQEAgLTU0NDYsNyArNTQ0Niw3IEBAIHN0YXRpYyBpbnQgbW92X3JlYWRfc2lkeChN T1ZDb250ZXh0ICpjLCBBVklPQ29udGV4dCAqcGIsIE1PVkF0b20gYXRvbSkKPj4gICAgLy8gU2Vl IGlmIHRoZSByZW1haW5pbmcgYnl0ZXMgYXJlIGp1c3QgYW4gbWZyYSB3aGljaCB3ZSBjYW4gaWdu b3JlLgo+PiAgICBpc19jb21wbGV0ZSA9IG9mZnNldCA9PSBzdHJlYW1fc2l6ZTsKPj4gLSAgICBp ZiAoIWlzX2NvbXBsZXRlICYmIChwYi0+c2Vla2FibGUgJiBBVklPX1NFRUtBQkxFX05PUk1BTCkg JiYgc3RyZWFtX3NpemUgPiAwICkgewo+PiArICAgIGlmICghaXNfY29tcGxldGUgJiYgKHBiLT5z ZWVrYWJsZSAmIEFWSU9fU0VFS0FCTEVfTk9STUFMKSAmJiBzdHJlYW1fc2l6ZSA+IDAgJiYgIXBh cnNlX2Z1bGwpIHsKPj4gCj4+IFRoZW4KPiAKPiBNZnJhIGJveCBpcyBub3QgcmVxdWlyZWQgaW4g Zm1wNC4gZm9yIGV4YW1wbGUsIGFkZGluZyBza2lwX3RyYWlsZXIgcGFyYW1ldGVyIHdoZW4gZ2Vu ZXJhdGUgZm00LCBiaXRyYXRlIHdpbGwgc3RpbGwgYmUgaW5jb3JyZWN0LgoKWW91IG1pc3NlZCB0 aGUgcG9pbnQuIElmIG1mcmEgZG9lc27igJl0IGV4aXN0IGluIHRoZSBmaWxlLAp0aGUgaXNzdWUg ZG9lc27igJl0IGV4aXN0IG5laXRoZXIuCgo+IAo+PiAKPj4gQEAgLTg1MDAsNyArODUwMCw3IEBA IHN0YXRpYyBpbnQgbW92X3JlYWRfaGVhZGVyKEFWRm9ybWF0Q29udGV4dCAqcykKPj4gICAgICAg IGZvciAoaSA9IDA7IGkgPCBzLT5uYl9zdHJlYW1zOyBpKyspIHsKPj4gICAgICAgICAgICBBVlN0 cmVhbSAqc3QgPSBzLT5zdHJlYW1zW2ldOwo+PiAgICAgICAgICAgIE1PVlN0cmVhbUNvbnRleHQg KnNjID0gc3QtPnByaXZfZGF0YTsKPj4gLSAgICAgICAgICAgIGlmIChzdC0+ZHVyYXRpb24gPiAw KSB7Cj4+ICsgICAgICAgICAgICBpZiAoc3QtPmR1cmF0aW9uID4gMCAmJiAoIXNjLT5oYXNfc2lk eCB8fCBwYXJzZV9mdWxsKSkgewo+PiAKPj4gSXTigJlzIHN1Y2ggYSBjb3JuZXIgY2FzZSBhbmQg SSBjYW7igJl0IGZpbmQgYSBzdWl0YWJsZSBuYW1lIGZvciB0aGlzIG9wdGlvbi4KPj4gCj4+IEFu eSBpZGVhcz8KPj4gCj4+PiBAQCAtODM2MSw2ICs4MzY0LDkgQEAgc3RhdGljIGludCBtb3ZfcmVh ZF9oZWFkZXIoQVZGb3JtYXRDb250ZXh0ICpzKQo+Pj4gICAgICAgYXZfbG9nKHMsIEFWX0xPR19F UlJPUiwgIm1vb3YgYXRvbSBub3QgZm91bmRcbiIpOwo+Pj4gICAgICAgcmV0dXJuIEFWRVJST1Jf SU5WQUxJRERBVEE7Cj4+PiAgIH0KPj4+ICsgICAgaWYgKG1vdi0+ZnJhZ19pbmRleC5uYl9pdGVt cyA+IG1vdi0+bW9vZl9jb3VudCkgewo+Pj4gKyAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19XQVJO SU5HLCAidGhlIG51bWJlciBvZiBtb29mIGlzIGxlc3MgdGhlbiBmcmFnbWVudCBjb3VudFxuIik7 Cj4+PiArICAgIH0KPj4+ICAgYXZfbG9nKG1vdi0+ZmMsIEFWX0xPR19UUkFDRSwgIm9uX3BhcnNl X2V4aXRfb2Zmc2V0PSUiUFJJZDY0IlxuIiwgYXZpb190ZWxsKHBiKSk7Cj4+PiAKPj4+ICAgaWYg KHBiLT5zZWVrYWJsZSAmIEFWSU9fU0VFS0FCTEVfTk9STUFMKSB7Cj4+PiAtLSAKPj4+IDIuMzMu MAo+Pj4gCj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwo+Pj4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdAo+Pj4gZmZtcGVnLWRldmVsQGZmbXBlZy5v cmcgPG1haWx0bzpmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZz4KPj4+IGh0dHBzOi8vZmZtcGVnLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbCA8aHR0cHM6Ly9mZm1wZWcub3JnL21haWxt YW4vbGlzdGluZm8vZmZtcGVnLWRldmVsPgo+Pj4gCj4+PiBUbyB1bnN1YnNjcmliZSwgdmlzaXQg bGluayBhYm92ZSwgb3IgZW1haWwKPj4+IGZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcg PG1haWx0bzpmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnPiB3aXRoIHN1YmplY3QgInVu c3Vic2NyaWJlIi4KPj4gCj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4+IGZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKPj4gZmZtcGVnLWRldmVsQGZm bXBlZy5vcmcgPG1haWx0bzpmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZz4KPj4gaHR0cHM6Ly9mZm1w ZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsIDxodHRwczovL2ZmbXBlZy5vcmcv bWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWw+Cj4+IAo+PiBUbyB1bnN1YnNjcmliZSwgdmlz aXQgbGluayBhYm92ZSwgb3IgZW1haWwKPj4gZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9y ZyA8bWFpbHRvOmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmc+IHdpdGggc3ViamVjdCAi dW5zdWJzY3JpYmUiLgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdAo+IGZmbXBlZy1kZXZlbEBmZm1wZWcu b3JnCj4gaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCj4g Cj4gVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4gZmZtcGVnLWRl dmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4KCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBt YWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21h aWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBh Ym92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1Ympl Y3QgInVuc3Vic2NyaWJlIi4K