Re: Write-up on "tree repositories" as an alternative to conflictors
James Cook <[email protected]> Sat, 19 Dec 2020 04:00:40 +0000
| Newsgroups | gmane.comp.version-control.darcs.user |
|---|---|
| Message-ID | <[email protected]> |
PiBJbnRlcmVzdGluZyEgU28gY29ybmVycyAocG90ZW50aWFsIGNvbnRleHRzKSBoYXZlIGFuIGlu aGVyZW50IHBhcnRpYWwKPiBvcmRlciwgaW5kZWVkIHRoZXkgZm9ybSBhIGpvaW4tc2VtaWxhdHRp Y2UuIFlvdSBwb3N0dWxhdGUgdGhhdCBpZiB0d28KPiBjb250ZXh0cyBoYXZlIGFuIHVwcHBlciBi b3VuZCB0aGF0IGlzIGFsc28gYSBjb250ZXh0LCB0aGVuIHRoZSBtaW5pbWFsCj4gdXBwZXIgYm91 bmQgbXVzdCBhbHNvIGJlIGEgY29udGV4dC4gSSB0aGluayB0aGUgbWF0aCB0ZXJtIHdvdWxkIGJl IHRoYXQKPiBjb250ZXh0cyBmb3JtIGEgc3ViLXNlbWlsYXR0aWNlIG9mIHRoZSBjb3JuZXJzLgoK SSBzaG91bGQgY3JlZGl0IG15IGZyaWVuZCBTcmlkaGFyIFJhbWVzaCBoZXJlLiBJIHdhcyBhc2tp bmcgdGhlbQp3aGV0aGVyIHRoZXJlJ3MgYSBuYW1lIGZvciBzb21lIHByb3BlcnR5IGludm9sdmlu ZyBwdXNob3V0cywgYW5kCmNhc3VhbGx5IG1lbnRpb25lZCB3ZSBtaWdodCBub3QgbmVlZCB0byBk aXN0aW5ndWlzaCBtb3JwaGlzbXMgd2l0aCB0aGUKc2FtZSBkb21haW4gYW5kIGNvZG9tYWluLCBh bmQgU3JpZGhhciBwb2ludGVkIG91dCB0aGF0J3MganVzdCBhCnByZS1vcmRlci4KCj4gSXQncyBm dW5ueSBob3cgdGhpcyBicmluZ3MgdXMgYWxsIHRoZSB3YXkgYmFjayB0byB0aGUgaWRlYXMgaW4g eW91cgo+IGZpcnN0IHBhcGVyOiBpbnN0ZWFkIG9mIGZvY3VzaW5nIG9uIHBhdGNoZXMgb3IgcGF0 aHMsIHdlIG5vdyBmb2N1cwo+IGFsbW9zdCBjb21wbGV0ZWx5IG9uIGNvbnRleHRzLgoKVGhhdCdz IGEgZ29vZCBwb2ludC4KCkkgdGhpbmsgdGhlcmUncyBhIHN0cmFpZ2h0Zm9yd2FyZCBjb25uZWN0 aW9uIHRvIHRoZSAicHNldWRvLWNvbnRleHRzIiBJCmhhZCBiZWZvcmUuIEEgcHNldWRvLWNvbnRl eHQgd2FzIGEgcGF0aCB0b2dldGhlciB3aXRoIGEgcGFydGl0aW9uIG9mCnRoZSBuYW1lcyBpbiB0 aGUgcGF0aCBpbnRvIGEgImJlZm9yZSIgcGFydCBhbmQgYW5kICJhZnRlciIgcGFydC4gWW91CmNh biB0cmFuc2xhdGUgdGhhdCB0byBhIGNvcm5lciBvZiB0aGUgaHlwZXJjdWJlIGJ5IHRha2luZyB0 aGUgbmFtZXMgaW4KdGhlIHN0YXJ0IG5vZGUgb2YgdGhlIHBhdGgsIGFuZCBhZGRpbmcgaW4gdGhl IG5hbWVzIGluIHRoZSAiYmVmb3JlIgpzZXQuIFRoaXMgYXQgbGVhc3QgY2FwdHVyZXMgdGhlIGlk ZWEgSSBoYWQgaW4gbWluZCB0aGF0IHRoZQpwc2V1ZG9jb250ZXh0IGNvbWVzICJhZnRlciIgdGhh dCBzZXQgb2YgbmFtZXMuCgpPbiBNb24sIERlYyAxNCwgMjAyMCBhdCAwMzozMDo1MFBNICswMTAw LCBCZW4gRnJhbmtzZW4gd3JvdGU6Cj4gQW0gMTMuMTIuMjAgdW0gMTE6MTYgc2NocmllYiBCZW4g RnJhbmtzZW46Cj4gPiBIb3dldmVyLCByZW1lbWJlciB5b3VyIGNvdW50ZXIgZXhhbXBsZSBvZiBh IHBhdGNoIHVuaXZlcnNlIHdpdGggb25seSB0d28KPiA+IHBhdGhzIHdpdGggbmFtZXMgYWJjIGFu ZCBjYmEuIEZyb20gdGhlIHByZXNlbmNlIG9mIGJvdGgge2F9IGFuZCB7Y30gd2UKPiA+IGNhbiBk ZWR1Y2UgdGhhdCBvZiB7YSxjfSwgYnV0IGl0IHNlZW1zIGltcG9zc2libGUgdG8gcHJvdmUgdGhh dCB7Yn0gaXMKPiA+IHByZXNlbnQuIEZvciB0aGF0IHdlIG5lZWQgYSBmaWZ0aCBheGlvbSAoZSkg YW5hbG9nb3VzIHRvIChkKSBidXQgd2l0aAo+ID4gaW50ZXJzZWN0aW9ucyBpbnN0ZWFkIG9mIHVu aW9uczoKPiA+IAo+ID4gZSkgSWYgbm9kZXMgYzEgYW5kIGMyIGFyZSBwcmVzZW50LCB0aGVuIGMx IOKIqSBjMiBpcyBhbHNvIHByZXNlbnQuCj4gCj4gVGhpcyBpcyBzdGlsbCBub3QgcXVpdGUgaW5z dWZmaWNpZW50LiBXaXRoIHRoZSBuYXR1cmFsIG51bWJlcnMgYXMgdGhlCj4gc2V0IG9mIG5hbWVz LCBiPXt9LCBhbmQgdD17MSwyfSwgdGhlIHNldCBDPXtiLHR9IHdvdWxkIGJlIGEgdmFsaWQgc2V0 IG9mCj4gY29udGV4dHMuIEJ1dCB0aGVuIHRoZXJlIGlzIG5vIHBhdGggZnJvbSBiIHRvIHQgKGlu IGZhY3Qgd2UgaGF2ZSBubwo+IHBhdGNoZXMgYXQgYWxsKS4gSW4gZ2VuZXJhbCBJIHRoaW5rIHdl IHdhbnQgdGhlIHBhdGNoIGdyYXBoIHRvIGJlCj4gY29ubmVjdGVkLiBBIHBvc3NpYmxlIGNoYXJh Y3Rlcml6YXRpb24gaW4gdGVybXMgb2YgY29udGV4dHMgY291bGQgYmU6Cj4gCj4gKGYpIEZvciBl dmVyeSBub24tZW1wdHkgY29udGV4dCBjIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBlbGVtZW50IG4g b2YgYywKPiAgICAgc3VjaCB0aGF0IGNcXHtufSBpcyBhbHNvIGEgY29udGV4dC4KPiAKPiBJdCBp cyB0aGVuIGVhc3kgdG8gc2hvdyB0aGF0IGEgcGF0aCBwOnMtPnQgZXhpc3RzIGlmIGFuZCBvbmx5 IGlmIHMgaXMgYQo+IHN1YnNldCBvZiB0LgoKR29vZCBwb2ludHMuIFNvIG5vdyB3aXRoIHNvbWUg cmVwaHJhc2luZywgdGhlIHJ1bGVzIG9uIHRoZSBzZXQgb2YKY29udGV4dHMgYXJlOgoKKGEpIFRo ZSBlbXB0eSBzZXQgaXMgYSBjb250ZXh0LgoKKGIpIElmIGMxIGFuZCBjMiBhcmUgY29udGV4dHMs IHRoZW4gYzEg4oipIGMyIGlzIGEgY29udGV4dC4KCihjKSBJZiBjMSwgYzIsIGMzIGFyZSBjb250 ZXh0cyBhbmQgYzEg4oqGIGMzIGFuZCBjMiDiioYgYzMsIHRoZW4gYzEg4oiqIGMyIGlzCiAgICBh IGNvbnRleHQuCgooZCkgRm9yIGV2ZXJ5IG5vbi1lbXB0eSBjb250ZXh0IGMgdGhlcmUgaXMgYXQg bGVhc3Qgb25lIGVsZW1lbnQgbiBvZiBjCiAgICBzdWNoIHRoYXQgY1x7bn0gaXMgYWxzbyBhIGNv bnRleHQuCgpJIGhhdmVuJ3QgZm91bmQgYSBkZWZpbml0aW9uIGZvciAic3ViLXNlbWlsYXR0aWNl IiBidXQgbWF5YmUgdGhhdCB3b3JkCmNvdWxkIGVuY29tcGFzcyBzb21lIG9mIHRoZSBhYm92ZS4K Cgo+IEFub3RoZXIgaW50ZXJlc3Rpbmcgb2JzZXJ2YXRpb24gaXMgdGhhdCB3ZSBjYW4gcmVnYXJk IGEgbmFtZSBhcyBhCj4gcGFydGlhbCBiaWplY3Rpb24gYmV0d2VlbiBjb250ZXh0cy4gVGhlIGFj dGlvbiBvZiB0aGUgZnVuY3Rpb24gaXMgdG8gYWRkCj4gdGhlIG5hbWUgdG8gdGhlIGNvbnRleHQg YW5kIGl0cyBpbnZlcnNlIGlzIHRvIHJlbW92ZSBpdC4gSXRzIGRvbWFpbiBhbmQKPiByYW5nZSBh cmUgZ2l2ZW4gYnkKPiAKPiAgIGRvbWFpbihuKT17Y+KIiEN8buKIiWMgYW5kIGPiiKp7bn3iiIhD fSwgcmFuZ2Uobik9e2PiiIhDfG7iiIhjIGFuZCBjXHtufeKIiEN9Cj4gCj4gVGhlIHJlYXNvbiBJ IGZpbmQgdGhpcyBpbnRlcmVzdGluZyBpcyB0aGF0IGl0IGhpbnRzIGF0IGEgcG9zc2liaWxpdHkg dG8KPiByZS1pbnRyb2R1Y2UgL2NvbmNyZXRlLyBwYXRjaGVzICh0aGF0IGlzLCAvcGF0Y2ggY29u dGVudC8pIGludG8gdGhlCj4gcGljdHVyZS4gQ29uY3JldGUgKHByaW1pdGl2ZSkgcGF0Y2hlcyBj YW4gYmUgc2VlbiBhcyBwYXJ0aWFsIGJpamVjdGlvbnMKPiBvbiBhIHNldCBTIG9mIHN0YXRlcywg cmVwcmVzZW50ZWQgYXMgZGF0YS4KCkknbSBub3Qgc3VyZSBJIHVuZGVyc3RhbmQuIEkgZ3Vlc3Mg YSBzdGF0ZSBpcyB0aGUgY29udGVudCBvZiB0aGUgZmlsZXMKaW4gdGhlIHJlcG9zaXRvcnkuIEFu eSBjb25jcmV0ZSBwYXRjaCBoYXMgZXhhY3RseSBvbmUgc3RhcnQgc3RhdGUgYW5kCm9uZSBlbmQg c3RhdGUuIERvIHlvdSBtZWFuIHRoYXQgaXQncyBhIHBhcnRpYWwgYmlqZWN0aW9uIHdoZXJlIHRo ZQpkb21haW4gYW5kIHJhbmdlIGFyZSBib3RoIHNldHMgb2Ygc2l6ZSAxPwoKRS5nLiBzdXBwb3Nl IHRoZSBjb25jcmV0ZSBwYXRjaCBQIGlzOgoKaHVuayAuL2ZpbGUudHh0IDIKK3dvcmxkCgphbmQg aW4gdGhlIGNvbnRleHQgb2YgcCwgZmlsZS50eHQgaGFzIGp1c3Qgb25lIGxpbmUgIkhlbGxvIi4K CkkgZ3Vlc3MgaXQncyB0ZW1wdGluZyB0byB0aGluayBvZiBwIGFzIHRoZSBmb2xsb3dpbmcgcGFy dGlhbCBiaWplY3Rpb24KZjogZiBhbHdheXMgaW5zZXJ0cyB0aGUgbGluZSAid29ybGQiIGFmdGVy IHRoZSBmaXJzdCBsaW5lIG9mIGZpbGUudHh0LgpCdXQgdGhhdCdzIG5vdCByZWFsbHkgYSB1c2Vm dWwgcmVwcmVzZW50YXRpb24gb2YgcDsgZS5nLiBpdCBkb2Vzbid0CndvcmsgaWYgcCBnZXRzIGNv bW11dGVkIHRvIGEgZGlmZmVyZW50IGNvbnRleHQuIFNvIHRvIG1lIGl0IG1ha2VzIG1vcmUKc2Vu c2UgdG8ganVzdCBzYXkgdGhhdCBjb25jcmV0ZWx5LCBwIGlzIHRoZSBwYWlyICgiSGVsbG9cbiIs CiJIZWxsb1xud29ybGRcbiIpLgoKSSBndWVzcyB0aGlzIGlzIGEgbG9uZy13aW5kZWQgd2F5IHRv IGp1c3Qgc2F5IEknbSBub3Qgc3VyZSB3aGF0IHlvdQptZWFuIGJ5IGNvbmNyZXRlIHBhdGNoZXMg YmVpbmcgYmlqZWN0aW9ucy4KCkkgZ3Vlc3MgeW91J2Qgd2FudCB0byBiZSBhYmxlIHRvIGNvbW11 dGUgY29uY3JldGUgcGF0Y2hlcyB3aXRob3V0CmFjY2VzcyB0byBhbnkgaW5mb3JtYXRpb24gb3Ro ZXIgdGhhbiB0aG9zZSB0d28gcGF0Y2hlcycKcmVwcmVzZW50YXRpb25zLiBEb2VzIHlvdXIgZGVm aW5pdGlvbiBjYXB0dXJlIHRoYXQ/Cgo+IEhlcmUsIHRvbywgd2UgY2FuIGdlbmVyYWxpemUKPiB0 byBmaW5pdGUgc2VxdWVuY2VzIG9mIHBhdGNoZXMsIHdoaWNoIHRoZW4gbmF0dXJhbGx5IGZvcm0g YSBjYXRlZ29yeSwKPiBhbmQgdGhlcmUgaXMgYSAobm9uLWluamVjdGl2ZSkgZnVuY3RvciAodGhl ICJhcHBseSIgZnVuY3RvcikgZnJvbSB0aGF0Cj4gY2F0ZWdvcnkgdG8gdGhlIGdyb3Vwb2lkIG9m IHBhcnRpYWwgYmlqZWN0aW9ucyBvbiBzdGF0ZXMgdGhhdCBtYXBzCj4gY29uY2F0ZW5hdGlvbiB0 byBmdW5jdGlvbiBjb21wb3NpdGlvbi4KPiAKPiBXZSBtYXkgd2FudCB0byBzdHVkeSBmdW5jdG9y cyBmcm9tIGFuIGFic3RyYWN0IHBhdGNoIHRoZW9yeSB0byBhCj4gY29uY3JldGUgb25lLgoKVGhh dCdzIG5lYXQuCgo+IEEgZnVuY3RvciBtYXBzIGJvdGggb2JqZWN0cyBhbmQgYXJyb3dzLiBGb3Ig b2JqZWN0cywKPiBGOkMtPlMgYXNzb2NpYXRlcyBhIGNvbmNyZXRlIHN0YXRlIHRvIGVhY2ggY29u dGV4dCAodGhpcyBtYXBwaW5nIGlzIGFsc28KPiBub3QgbmVjZXNzYXJpbHkgaW5qZWN0aXZlKS4g Rm9yIGFycm93cyBpdCBhc3NvY2lhdGVzIHRvIGVhY2ggcGF0aCBwOnMtPnQKPiBhIGNvbmNyZXRl IHBhdGNoIEYocCk6RihzKS0+Rih0KS4gVGhlIGZ1bmN0b3IgbGF3cyBzYXkgdGhhdAo+IEYoaWRf Yyk9aWRfRihjKSBhbmQgdGhhdCBGKHA7cSk9RihwKTtGKHEpLgoKU28gdGhlIHBhdGNoIGlzIGFu IGFycm93IGpvaW5pbmcgdHdvIHN0YXRlcz8gVGhpcyBpcyBtb3JlIGluIGxpbmUgd2l0aApteSB2 aWV3IGFib3ZlIHRoYXQgYSBwYXRjaCBpcyBhIHBhaXIgb2Ygc3RhdGVzLgoKPiBUaGlzIGRvZXMg bm90IGEgcHJpb3JpIG1lYW4gdGhhdCBlYWNoIGFic3RyYWN0IC9wYXRjaC8gKHNpbmdsZXRvbiBw YXRoKQo+IG1hcHMgdG8gYSBjb25jcmV0ZSBwYXRjaCwKCkRvZXNuJ3QgaXQsIGlmIGEgY29uY3Jl dGUgcGF0Y2ggaXMganVzdCBhIHBhaXIgb2Ygc3RhdGVzPyBCdXQgSSBndWVzcyBJCmRvbid0IHJl YWxseSBrbm93IHdoYXQgeW91IG1lYW4gYnkgY29uY3JldGUgcGF0Y2guCgo+IHNvIEkgZ3Vlc3Mg d2UgaGF2ZSB0byByZXF1aXJlIHRoYXQsIGluCj4gYWRkaXRpb24gdG8gdGhlIHVzdWFsIGZ1bmN0 b3IgbGF3cy4gVGhlcmUgbWF5IGJlIGEgZmV3IG1vcmUgZXh0cmEKPiByZXF1aXJlbWVudHMgdGhh dCB3ZSB3YW50IHRvIGltcG9zZS4gRm9yIGluc3RhbmNlLCBJIGd1ZXNzIHdlIG5lZWQgc29tZQo+ IHNvcnQgb2YgY29uc2lzdGVuY3kgcmVxdWlyZW1lbnQgdGhhdCByZWxhdGVzIGNvbW11dGF0aW9u IGluIHRoZSBhYnN0cmFjdAo+IHNldHRpbmcgdG8gdGhhdCBpbiB0aGUgY29uY3JldGUgc2V0dGlu Zy4gTmVlZGxlc3MgdG8gc2F5LCBJIGhhdmVuJ3QKPiB0aG91Z2h0IHRoZXNlIHRoaW5ncyB0aHJv dWdoIHRvIHRoZSBlbmQsIHNvIEkgY2FuJ3QgdGVsbCB5ZXQgaWYgaXQgaGFzCj4gYW55IHByYWN0 aWNhbCByZWxldmFuY2UuCgo+IFRoaXMgdmFyaWFudCBvZiBhYnN0cmFjdCBwYXRjaCB0aGVvcnkg aGFzIGNsZWFuIG1lcmdlIGFuZCB1bm1lcmdlIChvZgo+IGNvbnRleHRzKSBhbHJlYWR5IGJ1aWx0 LWluLCBzbyB0byBzcGVhaywgc2luY2UgbWVyZ2luZyBpcyBqdXN0IHRha2luZwo+IHRoZSB1bmlv biBhbmQgdW5tZXJnaW5nIGlzIHRha2luZyB0aGUgaW50ZXJzZWN0aW9uLiBJIGZpbmQgaXQKPiBp bnRlcmVzdGluZyB0byBub3RlIHRoYXQgYWRkaW5nIGNvbmZsaWN0b3JzIGEgbGEgRGFyY3MgbWVh bnMgdGhhdCB3ZQo+IGVubGFyZ2UgdGhlIHNldCBvZiBjb250ZXh0cyBieSBhZGRpbmcgL2NvbmZs aWN0ZWQgc3RhdGVzLywgd2hpY2ggYXJlCj4gdGhvc2UgY29ybmVycyB0aGF0IHdlIGdldCAoaW4g YWRkaXRpb24gdG8gdGhlIG5vcm1hbCB1bmNvbmZsaWN0ZWQKPiBjb250ZXh0cykgaWYgd2UgYWxs b3cgYXJiaXRyYXJ5IHVuaW9ucyBvZiBjb250ZXh0cy4gU2VlbiBpbiB0aGlzIHdheSwKPiBjb25m bGljdG9ycyBhcHBlYXIgcXVpdGUgbmF0dXJhbCBhbmQgc2ltcGxlLCBjb25jZXB0dWFsbHkgYXQg bGVhc3QuCgooUmVwbHlpbmcgdG8gdGhpcyBsYXN0IHNpbmNlIGl0IGRlcGVuZHMgb24gbW9yZSBj b250ZXh0LikKClRvIG1ha2UgdGhpcyBwb2ludCBvZiB2aWV3IHdvcmssIEkgZ3Vlc3MgeW91IHdv dWxkIHdhbnQgdG8gZXh0ZW5kIHRoZQpmdW5jdG9yIHNvIHRoYXQgdGhlIGNvbmZsaWN0ZWQgY29u dGV4dHMgYWxzbyBtYXAgdG8gY29uY3JldGUgc3RhdGVzIC0tLQp0aGlzIGRldGVybWluZXMgd2hh dCBzdGF0ZSBEYXJjcyBsZWF2ZXMgdGhlIHJlcG8gaW4gd2hlbiB0aGVyZSBhcmUKY29uZmxpY3Rp bmcgcGF0Y2hlcyAoaWYgeW91IGxlYXZlIG91dCB0aGUgY29uZmxpY3QgbWFya2VycykuIEFuZApz aW1pbGFybHkgeW91J2Qgd2FudCB0byBleHRlbmQgY29uY3JldGUgcmVwcmVzZW50YXRpb25zIG9m IHBhdGNoZXMuCgpJJ20gbm90IHN1cmUgd2hhdCBydWxlcyBjb25zdHJhaW4gdXMgaGVyZS4gRS5n LiBJIGNvdWxkIGp1c3QgZGVjbGFyZQp0aGF0IGFueSAiY29uZmxpY3RlZCIgY29udGV4dCBtYXBz IHRvIHRoZSBlbXB0eSBmaWxlc2V0LCBidXQgd291bGQgdGhhdAp3b3JrIG91dD8gSSBndWVzcyB0 aGUgaGFyZCBwYXJ0IGlzIGZpZ3VyaW5nIG91dCB3aGF0IGhvdyB0aGUgY29uY3JldGUKcGF0Y2hl cyB3b3JrIChmb3IgZXhhbXBsZSwgaG93IHlvdSBjYW4gY29tbXV0ZSB0aGVtIHdpdGhvdXQgYWNj ZXNzIHRvCmFueXRoaW5nIGJ1dCB0aGUgdHdvIHBhdGNoIHJlcHJlc2VudGF0aW9ucykuCgpUaGlz IHJlbWluZHMgbWUgb2YgdGhlIGZ1bmN0aW9uIEkgYnVpbHQgdGhhdCBtYXBwZWQgZXZlcnkKcHNl dWRvLWNvbnRleHQgdG8gYSBwcmltaXRpdmUgY29udGV4dCwgd2hlbiBJIHdhcyB3b3JraW5nIG9u IG1ha2luZyBhbgphcmJpdHJhcnkgcHJpbWl0aXZlIHBhdGNoIHRoZW9yeSBjb21tdXRlLiBJZiB0 aGUgYWJvdmUgY291bGQgYmUKZXh0ZW5kZWQgdG8gdGhlIGVudGlyZSBoeXBlcmN1YmUgKHJhdGhl ciB0aGFuIGp1c3QgYXJiaXRyYXJ5IHVuaW9ucyBvZgpjb250ZXh0cykgdGhlbiBJIGd1ZXNzIHdl IHdvdWxkIGhhdmUgYXJyaXZlZCBhdCBteSBvcmlnaW5hbCBnb2FsIG9mCm1ha2luZyBhIHBhdGNo IHRoZW9yeSB3aGVyZSBwYXRjaGVzIGFsd2F5cyBjb21tdXRlLiAoQXQgdGhpcyBwb2ludCBJJ20K bm90IHN1cmUgaG93IHVzZWZ1bCB0aGF0IGlzLikKCj4gQ2hlZXJzCj4gQmVuCgotLSAKSmFtZXMK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZGFyY3MtdXNl cnMgbWFpbGluZyBsaXN0CmRhcmNzLXVzZXJzQG9zdW9zbC5vcmcKaHR0cHM6Ly9saXN0cy5vc3Vv c2wub3JnL21haWxtYW4vbGlzdGluZm8vZGFyY3MtdXNlcnMK