ZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL21sYW5nLnR4dCBiL3J1bnRpbWUvZG9jL21sYW5nLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMDQ1YjQ2Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9kb2MvbWxhbmcudHh0CkBAIC0wLDAgKzEsMjA1IEBACisqbWxhbmcudHh0KiAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDQgRmViIDI0CisKKworCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCisKKworTXVsdGktbGFuZ3VhZ2UgZmVhdHVyZXMJCQkJKm11bHRpbGFuZyogKm11bHRpLWxhbmcqCisKK1RoaXMgaXMgYWJvdXQgdXNpbmcgbWVzc2FnZXMgYW5kIG1lbnVzIGluIHZhcmlvdXMgbGFuZ3VhZ2VzLiAgRm9yIGVkaXRpbmcKK211bHRpLWJ5dGUgdGV4dCBzZWUgfG11bHRpYnl0ZXwuCisKK1RoZSBiYXNpY3MgYXJlIGV4cGxhaW5lZCBpbiB0aGUgdXNlciBtYW51YWw6IHx1c3JfNDUudHh0fC4KKworMS4gTWVzc2FnZXMJCQl8bXVsdGlsYW5nLW1lc3NhZ2VzfAorMi4gTWVudXMJCQl8bXVsdGlsYW5nLW1lbnVzfAorMy4gU2NyaXB0cwkJCXxtdWx0aWxhbmctc2NyaXB0c3wKKworQWxzbyBzZWUgfGhlbHAtdHJhbnNsYXRlZHwgZm9yIG11bHRpLWxhbmd1YWdlIGhlbHAuCisKK3tWaSBkb2VzIG5vdCBoYXZlIGFueSBvZiB0aGVzZSBmZWF0dXJlc30KK3tub3QgYXZhaWxhYmxlIHdoZW4gY29tcGlsZWQgd2l0aG91dCB0aGUgfCttdWx0aV9sYW5nfCBmZWF0dXJlfQorCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKzEuIE1lc3NhZ2VzCQkJCQkJKm11bHRpbGFuZy1tZXNzYWdlcyoKKworVmltIHBpY2tzIHVwIHRoZSBsb2NhbGUgZnJvbSB0aGUgZW52aXJvbm1lbnQuICBJbiBtb3N0IGNhc2VzIHRoaXMgbWVhbnMgVmltCit3aWxsIHVzZSB0aGUgbGFuZ3VhZ2UgdGhhdCB5b3UgcHJlZmVyLCB1bmxlc3MgaXQncyBub3QgYXZhaWxhYmxlLgorCitUbyBzZWUgYSBsaXN0IG9mIHN1cHBvcnRlZCBsb2NhbGUgbmFtZXMgb24geW91ciBzeXN0ZW0sIGxvb2sgaW4gb25lIG9mIHRoZXNlCitkaXJlY3RvcmllcyAoZm9yIFVuaXgpOgorCS91c3IvbGliL2xvY2FsZSB+CisJL3Vzci9zaGFyZS9sb2NhbGUgfgorVW5mb3J0dW5hdGVseSwgdXBwZXIvbG93ZXJjYXNlIGRpZmZlcmVuY2VzIG1hdHRlci4gIEFsc28gd2F0Y2ggb3V0IGZvciB0aGUKK3VzZSBvZiAiLSIgYW5kICJfIi4KKworCQkJCQkgICAgKjpsYW4qICo6bGFuZyogKjpsYW5ndWFnZSogKkUxOTcqCis6bGFuW2d1YWdlXQorOmxhbltndWFnZV0gbWVzW3NhZ2VzXQorOmxhbltndWFnZV0gY3R5W3BlXQorOmxhbltndWFnZV0gdGltW2VdCisJCQlQcmludCB0aGUgY3VycmVudCBsYW5ndWFnZSAoYWthIGxvY2FsZSkuCisJCQlXaXRoIHRoZSAibWVzc2FnZXMiIGFyZ3VtZW50IHRoZSBsYW5ndWFnZSB1c2VkIGZvcgorCQkJbWVzc2FnZXMgaXMgcHJpbnRlZC4gIFRlY2huaWNhbDogTENfTUVTU0FHRVMuCisJCQlXaXRoIHRoZSAiY3R5cGUiIGFyZ3VtZW50IHRoZSBsYW5ndWFnZSB1c2VkIGZvcgorCQkJY2hhcmFjdGVyIGVuY29kaW5nIGlzIHByaW50ZWQuICBUZWNobmljYWw6IExDX0NUWVBFLgorCQkJV2l0aCB0aGUgInRpbWUiIGFyZ3VtZW50IHRoZSBsYW5ndWFnZSB1c2VkIGZvcgorCQkJc3RyZnRpbWUoKSBpcyBwcmludGVkLiAgVGVjaG5pY2FsOiBMQ19USU1FLgorCQkJV2l0aG91dCBhcmd1bWVudCBhbGwgcGFydHMgb2YgdGhlIGxvY2FsZSBhcmUgcHJpbnRlZAorCQkJKHRoaXMgaXMgc3lzdGVtIGRlcGVuZGVudCkuCisJCQlUaGUgY3VycmVudCBsYW5ndWFnZSBjYW4gYWxzbyBiZSBvYnRhaW5lZCB3aXRoIHRoZQorCQkJfHY6bGFuZ3wsIHx2OmN0eXBlfCBhbmQgfHY6bGNfdGltZXwgdmFyaWFibGVzLgorCis6bGFuW2d1YWdlXSB7bmFtZX0KKzpsYW5bZ3VhZ2VdIG1lc1tzYWdlc10ge25hbWV9Cis6bGFuW2d1YWdlXSBjdHlbcGVdIHtuYW1lfQorOmxhbltndWFnZV0gdGltW2VdIHtuYW1lfQorCQkJU2V0IHRoZSBjdXJyZW50IGxhbmd1YWdlIChha2EgbG9jYWxlKSB0byB7bmFtZX0uCisJCQlUaGUgbG9jYWxlIHtuYW1lfSBtdXN0IGJlIGEgdmFsaWQgbG9jYWxlIG9uIHlvdXIKKwkJCXN5c3RlbS4gIFNvbWUgc3lzdGVtcyBhY2NlcHQgYWxpYXNlcyBsaWtlICJlbiIgb3IKKwkJCSJlbl9VUyIsIGJ1dCBzb21lIG9ubHkgYWNjZXB0IHRoZSBmdWxsIHNwZWNpZmljYXRpb24KKwkJCWxpa2UgImVuX1VTLklTT184ODU5LTEiLgorCQkJV2l0aCB0aGUgIm1lc3NhZ2VzIiBhcmd1bWVudCB0aGUgbGFuZ3VhZ2UgdXNlZCBmb3IKKwkJCW1lc3NhZ2VzIGlzIHNldC4gIFRoaXMgY2FuIGJlIGRpZmZlcmVudCB3aGVuIHlvdSB3YW50LAorCQkJZm9yIGV4YW1wbGUsIEVuZ2xpc2ggbWVzc2FnZXMgd2hpbGUgZWRpdGluZyBKYXBhbmVzZQorCQkJdGV4dC4gIFRoaXMgc2V0cyAkTENfTUVTU0FHRVMuCisJCQlXaXRoIHRoZSAiY3R5cGUiIGFyZ3VtZW50IHRoZSBsYW5ndWFnZSB1c2VkIGZvcgorCQkJY2hhcmFjdGVyIGVuY29kaW5nIGlzIHNldC4gIFRoaXMgYWZmZWN0cyB0aGUgbGlicmFyaWVzCisJCQl0aGF0IFZpbSB3YXMgbGlua2VkIHdpdGguICBJdCdzIHVudXN1YWwgdG8gc2V0IHRoaXMgdG8KKwkJCWEgZGlmZmVyZW50IHZhbHVlIGZyb20gJ2VuY29kaW5nJy4gIFRoaXMgc2V0cworCQkJJExDX0NUWVBFLgorCQkJV2l0aCB0aGUgInRpbWUiIGFyZ3VtZW50IHRoZSBsYW5ndWFnZSB1c2VkIGZvciB0aW1lCisJCQlhbmQgZGF0ZSBtZXNzYWdlcyBpcyBzZXQuICBUaGlzIGFmZmVjdHMgc3RyZnRpbWUoKS4KKwkJCVRoaXMgc2V0cyAkTENfVElNRS4KKwkJCVdpdGhvdXQgYW4gYXJndW1lbnQgYm90aCBhcmUgc2V0LCBhbmQgYWRkaXRpb25hbGx5CisJCQkkTEFORyBpcyBzZXQuCisJCQlUaGlzIHdpbGwgbWFrZSBhIGRpZmZlcmVuY2UgZm9yIGl0ZW1zIHRoYXQgZGVwZW5kIG9uCisJCQl0aGUgbGFuZ3VhZ2UgKHNvbWUgbWVzc2FnZXMsIHRpbWUgYW5kIGRhdGUgZm9ybWF0KS4KKwkJCU5vdCBmdWxseSBzdXBwb3J0ZWQgb24gYWxsIHN5c3RlbXMKKwkJCUlmIHRoaXMgZmFpbHMgdGhlcmUgd2lsbCBiZSBhbiBlcnJvciBtZXNzYWdlLiAgSWYgaXQKKwkJCXN1Y2NlZWRzIHRoZXJlIGlzIG5vIG1lc3NhZ2UuICBFeGFtcGxlOiA+CisJCQkJOmxhbmd1YWdlCisJCQkJQ3VycmVudCBsYW5ndWFnZTogQworCQkJCTpsYW5ndWFnZSBkZV9ERS5JU09fODg1OS0xCisJCQkJOmxhbmd1YWdlIG1lcworCQkJCUN1cnJlbnQgbWVzc2FnZXMgbGFuZ3VhZ2U6IGRlX0RFLklTT184ODU5LTEKKwkJCQk6bGFuZyBtZXMgZW4KKzwKKworTVMtV0lORE9XUyBNRVNTQUdFIFRSQU5TTEFUSU9OUwkJCQkqd2luMzItZ2V0dGV4dCoKKworSWYgeW91IHVzZWQgdGhlIHNlbGYtaW5zdGFsbGluZyAuZXhlIGZpbGUsIG1lc3NhZ2UgdHJhbnNsYXRpb25zIHNob3VsZCB3b3JrCithbHJlYWR5LiAgT3RoZXJ3aXNlIGdldCB0aGUgbGliaW50bC5kbGwgZmlsZSBpZiB5b3UgZG9uJ3QgaGF2ZSBpdCB5ZXQ6CisKKwlodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2dldHRleHQKKworVGhpcyBhbHNvIGNvbnRhaW5zIHRvb2xzIHhnZXR0ZXh0LCBtc2dmb3JtYXQgYW5kIG90aGVycy4KKworbGliaW50bC5kbGwgc2hvdWxkIGJlIHBsYWNlZCBpbiBzYW1lIGRpcmVjdG9yeSB3aXRoIChnKXZpbS5leGUsIG9yIHNvbWUKK3BsYWNlIHdoZXJlIFBBVEggZW52aXJvbm1lbnQgdmFsdWUgZGVzY3JpYmUuICBNZXNzYWdlIGZpbGVzICh2aW0ubW8pCitoYXZlIHRvIGJlIHBsYWNlZCBpbiAiJFZJTVJVTlRJTUUvbGFuZy94eC9MQ19NRVNTQUdFUyIsIHdoZXJlICJ4eCIgaXMgdGhlCithYmJyZXZpYXRpb24gb2YgdGhlIGxhbmd1YWdlIChtb3N0bHkgdHdvIGxldHRlcnMpLgorCitJZiB5b3Ugd3JpdGUgeW91ciBvd24gdHJhbnNsYXRpb25zIHlvdSBuZWVkIHRvIGdlbmVyYXRlIHRoZSAucG8gZmlsZSBhbmQKK2NvbnZlcnQgaXQgdG8gYSAubW8gZmlsZS4gIFlvdSBuZWVkIHRvIGdldCB0aGUgc291cmNlIGRpc3RyaWJ1dGlvbiBhbmQgcmVhZAordGhlIGZpbGUgInNyYy9wby9SRUFETUUudHh0Ii4KKworVG8gb3ZlcnJ1bGUgdGhlIGF1dG9tYXRpYyBjaG9pY2Ugb2YgdGhlIGxhbmd1YWdlLCBzZXQgdGhlICRMQU5HIHZhcmlhYmxlIHRvCit0aGUgbGFuZ3VhZ2Ugb2YgeW91ciBjaG9pY2UuICB1c2UgImVuIiB0byBkaXNhYmxlIHRyYW5zbGF0aW9ucy4gPgorCisgIDpsZXQgJExBTkcgPSAnamEnCisKKyh0ZXh0IGZvciBXaW5kb3dzIGJ5IE11cmFva2EgVGFybykKKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisyLiBNZW51cwkJCQkJCSptdWx0aWxhbmctbWVudXMqCisKK1NlZSB8NDUuMnwgZm9yIHRoZSBiYXNpY3MuCisKK05vdGUgdGhhdCBpZiBjaGFuZ2VzIGhhdmUgYmVlbiBtYWRlIHRvIHRoZSBtZW51cyBhZnRlciB0aGUgdHJhbnNsYXRpb24gd2FzCitkb25lLCBzb21lIG9mIHRoZSBtZW51cyBtYXkgYmUgc2hvd24gaW4gRW5nbGlzaC4gIFBsZWFzZSB0cnkgY29udGFjdGluZyB0aGUKK21haW50YWluZXIgb2YgdGhlIHRyYW5zbGF0aW9uIGFuZCBhc2sgaGltIHRvIHVwZGF0ZSBpdC4gIFlvdSBjYW4gZmluZCB0aGUKK25hbWUgYW5kIGUtbWFpbCBhZGRyZXNzIG9mIHRoZSB0cmFuc2xhdG9yIGluCisiJFZJTVJVTlRJTUUvbGFuZy9tZW51XzxsYW5nPi52aW0iLgorCitUbyBzZXQgdGhlIGZvbnQgKG9yIGZvbnRzZXQpIHRvIHVzZSBmb3IgdGhlIG1lbnVzLCB1c2UgdGhlIHw6aGlnaGxpZ2h0fAorY29tbWFuZC4gIEV4YW1wbGU6ID4KKworCTpoaWdobGlnaHQgTWVudSBmb250PWsxMixyMTIKKworCitBTElBUyBMT0NBTEUgTkFNRVMKKworVW5mb3J0dW5hdGVseSwgdGhlIGxvY2FsZSBuYW1lcyBhcmUgZGlmZmVyZW50IG9uIHZhcmlvdXMgc3lzdGVtcywgZXZlbiB0aG91Z2gKK3RoZXkgYXJlIGZvciB0aGUgc2FtZSBsYW5ndWFnZSBhbmQgZW5jb2RpbmcuICBJZiB5b3UgZG8gbm90IGdldCB0aGUgbWVudQordHJhbnNsYXRpb25zIHlvdSBleHBlY3RlZCwgY2hlY2sgdGhlIG91dHB1dCBvZiB0aGlzIGNvbW1hbmQ6ID4KKworCWVjaG8gdjpsYW5nCisKK05vdyBjaGVjayB0aGUgIiRWSU1SVU5USU1FL2xhbmciIGRpcmVjdG9yeSBmb3IgbWVudSB0cmFuc2xhdGlvbiBmaWxlcyB0aGF0IHVzZQorYSBzaW1pbGFyIGxhbmd1YWdlLiAgQSBkaWZmZXJlbmNlIGluIGEgIi0iIGJlaW5nIGEgIl8iIGFscmVhZHkgY2F1c2VzIGEgZmlsZQorbm90IHRvIGJlIGZvdW5kISAgQW5vdGhlciBjb21tb24gZGlmZmVyZW5jZSB0byB3YXRjaCBvdXQgZm9yIGlzICJpc284ODU5LTEiCit2ZXJzdXMgImlzb184ODU5LTEiLiAgRm9ydHVuYXRlbHkgVmltIG1ha2VzIGFsbCBuYW1lcyBsb3dlcmNhc2UsIHRodXMgeW91Citkb24ndCBoYXZlIHRvIHdvcnJ5IGFib3V0IGNhc2UgZGlmZmVyZW5jZXMuICBTcGFjZXMgYXJlIGNoYW5nZWQgdG8KK3VuZGVyc2NvcmVzLCB0byBhdm9pZCBoYXZpbmcgdG8gZXNjYXBlIHRoZW0uCisKK0lmIHlvdSBmaW5kIGEgbWVudSB0cmFuc2xhdGlvbiBmaWxlIGZvciB5b3VyIGxhbmd1YWdlIHdpdGggYSBkaWZmZXJlbnQgbmFtZSwKK2NyZWF0ZSBhIGZpbGUgaW4geW91ciBvd24gcnVudGltZSBkaXJlY3RvcnkgdG8gbG9hZCB0aGF0IG9uZS4gIFRoZSBuYW1lIG9mCit0aGF0IGZpbGUgY291bGQgYmU6ID4KKworCX4vLnZpbS9sYW5nL21lbnVfPHY6bGFuZz4udmltCisKK0NoZWNrIHRoZSAncnVudGltZXBhdGgnIG9wdGlvbiBmb3IgZGlyZWN0b3JpZXMgd2hpY2ggYXJlIHNlYXJjaGVkLiAgSW4gdGhhdAorZmlsZSBwdXQgYSBjb21tYW5kIHRvIGxvYWQgdGhlIG1lbnUgZmlsZSB3aXRoIHRoZSBvdGhlciBuYW1lOiA+CisKKwlydW50aW1lIGxhbmcvbWVudV88b3RoZXJfbGFuZz4udmltCisKKworVFJBTlNMQVRJTkcgTUVOVVMKKworSWYgeW91IHdhbnQgdG8gZG8geW91ciBvd24gdHJhbnNsYXRpb25zLCB5b3UgY2FuIHVzZSB0aGUgfDptZW51dHJhbnN8IGNvbW1hbmQsCitleHBsYWluZWQgYmVsb3cuICBJdCBpcyByZWNvbW1lbmRlZCB0byBwdXQgdGhlIHRyYW5zbGF0aW9ucyBmb3Igb25lIGxhbmd1YWdlCitpbiBhIFZpbSBzY3JpcHQuICBGb3IgYSBsYW5ndWFnZSB0aGF0IGhhcyBubyB0cmFuc2xhdGlvbiB5ZXQsIHBsZWFzZSBjb25zaWRlcgorYmVjb21pbmcgdGhlIG1haW50YWluZXIgYW5kIG1ha2UgeW91ciB0cmFuc2xhdGlvbnMgYXZhaWxhYmxlIHRvIGFsbCBWaW0gdXNlcnMuCitTZW5kIGFuIGUtbWFpbCB0byB0aGUgVmltIG1haW50YWluZXIgPG1haW50YWluZXJAdmltLm9yZz4uCisKKwkJCQkJKjptZW51dCogKjptZW51dHJhbnMqICo6bWVudXRyYW5zbGF0ZSoKKzptZW51dFtyYW5zbGF0ZV0gY2xlYXIKKwkJCUNsZWFyIGFsbCBtZW51IHRyYW5zbGF0aW9ucy4KKworOm1lbnV0W3JhbnNsYXRlXSB7ZW5nbGlzaH0ge215bGFuZ30KKwkJCVRyYW5zbGF0ZSBtZW51IG5hbWUge2VuZ2xpc2h9IHRvIHtteWxhbmd9LiAgQWxsCisJCQlzcGVjaWFsIGNoYXJhY3RlcnMgbGlrZSAiJiIgYW5kICI8VGFiPiIgbmVlZCB0byBiZQorCQkJaW5jbHVkZWQuICBTcGFjZXMgYW5kIGRvdHMgbmVlZCB0byBiZSBlc2NhcGVkIHdpdGggYQorCQkJYmFja3NsYXNoLCBqdXN0IGxpa2UgaW4gb3RoZXIgfDptZW51fCBjb21tYW5kcy4KKworU2VlIHRoZSAkVklNUlVOVElNRS9sYW5nIGRpcmVjdG9yeSBmb3IgZXhhbXBsZXMuCisKK1RvIHRyeSBvdXQgeW91ciB0cmFuc2xhdGlvbnMgeW91IGZpcnN0IGhhdmUgdG8gcmVtb3ZlIGFsbCBtZW51cy4gIFRoaXMgaXMgaG93Cit5b3UgY2FuIGRvIGl0IHdpdGhvdXQgcmVzdGFydGluZyBWaW06ID4KKwk6c291cmNlICRWSU1SVU5USU1FL2RlbG1lbnUudmltCisJOnNvdXJjZSA8eW91ci1uZXctbWVudS1maWxlPgorCTpzb3VyY2UgJFZJTVJVTlRJTUUvbWVudS52aW0KKworRWFjaCBwYXJ0IG9mIGEgbWVudSBwYXRoIGlzIHRyYW5zbGF0ZWQgc2VwYXJhdGVseS4gIFRoZSByZXN1bHQgaXMgdGhhdCB3aGVuCisiSGVscCIgaXMgdHJhbnNsYXRlZCB0byAiSGlsZmUiIGFuZCAiT3ZlcnZpZXciIHRvICLcYmVyYmxpY2siIHRoZW4KKyJIZWxwLk92ZXJ2aWV3IiB3aWxsIGJlIHRyYW5zbGF0ZWQgdG8gIkhpbGZlLtxiZXJibGljayIuCisKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorMy4gU2NyaXB0cwkJCQkJCSptdWx0aWxhbmctc2NyaXB0cyoKKworSW4gVmltIHNjcmlwdHMgeW91IGNhbiB1c2UgdGhlIHx2Omxhbmd8IHZhcmlhYmxlIHRvIGdldCB0aGUgY3VycmVudCBsYW5ndWFnZQorKGxvY2FsZSkuICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAiQyIgb3IgY29tZXMgZnJvbSB0aGUgJExBTkcgZW52aXJvbm1lbnQKK3ZhcmlhYmxlLgorCitUaGUgZm9sbG93aW5nIGV4YW1wbGUgc2hvd3MgaG93IHRoaXMgdmFyaWFibGUgaXMgdXNlZCBpbiBhIHNpbXBsZSB3YXksIHRvIG1ha2UKK2EgbWVzc2FnZSBhZGFwdCB0byBsYW5ndWFnZSBwcmVmZXJlbmNlcyBvZiB0aGUgdXNlciwgPgorCisJOmlmIHY6bGFuZyA9fiAiZGVfREUiCisJOiAgZWNobyAiR3V0ZW4gTW9yZ2VuIgorCTplbHNlCisJOiAgZWNobyAiR29vZCBtb3JuaW5nIgorCTplbmRpZgorPAorCisgdmltOnR3PTc4OnN3PTQ6dHM9ODpmdD1oZWxwOm5vcmw6Cg==